From d22a6ea81b13eee80c5ff92d1bcffb22d52dc765 Mon Sep 17 00:00:00 2001 From: auric Date: Thu, 11 Sep 2025 22:31:11 -0500 Subject: restore old dwm --- core/dwm/config.def.h | 19 ++++----- core/dwm/config.mk | 2 +- core/dwm/dwm.c | 111 ++++++++++++-------------------------------------- 3 files changed, 35 insertions(+), 97 deletions(-) (limited to 'core') diff --git a/core/dwm/config.def.h b/core/dwm/config.def.h index 9707ffc..394937d 100644 --- a/core/dwm/config.def.h +++ b/core/dwm/config.def.h @@ -71,8 +71,6 @@ static const char *screenshotcmd[] = { "flameshot", "gui", NULL }; static const char *mediaplaypause[] = { "playerctl", "play-pause", NULL }; static const char *medianext[] = { "playerctl", "next", NULL }; static const char *mediaprev[] = { "playerctl", "previous", NULL }; -static const char *calendarcmd[] = { "/bin/sh", "-c", "st -e sh -c 'cal -3 | less'", NULL }; -static const char *dunstlogcmd[] = { "/bin/sh", "-c", "st -e sh -c 'less -+F \"$HOME/.cache/dunst/dunst.log\"'", NULL }; static const char *powermenucmd[] = { "/bin/sh", "-c", "power-menu.sh", NULL }; static const char *steamcmd[] = { "/bin/sh", "-c", "steam-dmenu.sh", NULL }; @@ -127,15 +125,14 @@ static const Key keys[] = { /* button definitions */ /* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */ static const Button buttons[] = { - /* click event mask button function argument */ - { ClkLtSymbol, 0, Button1, setlayout, {0} }, - { ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} }, - { ClkWinTitle, 0, Button2, zoom, {0} }, - { ClkStatusText, 0, Button1, clickstatus, {0} }, - { ClkStatusText, 0, Button2, spawn, {.v = termcmd } }, - { ClkClientWin, MODKEY, Button1, movemouse, {0} }, - { ClkClientWin, MODKEY, Button2, togglefloating, {0} }, - { ClkClientWin, MODKEY, Button3, resizemouse, {0} }, + /* click event mask button function argument */ + { ClkLtSymbol, 0, Button1, setlayout, {0} }, + { ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} }, + { ClkWinTitle, 0, Button2, zoom, {0} }, + { ClkStatusText, 0, Button2, spawn, {.v = termcmd } }, + { ClkClientWin, MODKEY, Button1, movemouse, {0} }, + { ClkClientWin, MODKEY, Button2, togglefloating, {0} }, + { ClkClientWin, MODKEY, Button3, resizemouse, {0} }, { ClkTagBar, 0, Button1, view, {0} }, { ClkTagBar, 0, Button3, toggleview, {0} }, { ClkTagBar, MODKEY, Button1, tag, {0} }, diff --git a/core/dwm/config.mk b/core/dwm/config.mk index 6821465..b469a2b 100644 --- a/core/dwm/config.mk +++ b/core/dwm/config.mk @@ -23,7 +23,7 @@ FREETYPEINC = /usr/include/freetype2 # includes and libs INCS = -I${X11INC} -I${FREETYPEINC} -LIBS = -L${X11LIB} -lX11 ${XINERAMALIBS} ${FREETYPELIBS} -lmpdclient +LIBS = -L${X11LIB} -lX11 ${XINERAMALIBS} ${FREETYPELIBS} # flags CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700L -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS} diff --git a/core/dwm/dwm.c b/core/dwm/dwm.c index fc150c0..4adbf21 100644 --- a/core/dwm/dwm.c +++ b/core/dwm/dwm.c @@ -47,7 +47,6 @@ #include #endif /* XINERAMA */ #include -#include #include "drw.h" #include "util.h" @@ -250,7 +249,6 @@ static void zoom(const Arg *arg); static void clickstatus(const Arg *arg); static void getcpu(char *buf, size_t len); static void getram(char *buf, size_t len); -static void getmusic(char *buf, size_t len); static void gettime(char *buf, size_t len); static void getdunst(char *buf, size_t len); @@ -288,7 +286,7 @@ static Drw *drw; static Monitor *mons, *selmon; static Window root, wmcheckwin; -enum { SNoti, SCPU, SRAM, SMusic, STime, SPower, StatusLast }; +enum { SNoti, SCPU, SRAM, STime, SPower, StatusLast }; typedef struct { char text[64]; @@ -504,10 +502,8 @@ buttonpress(XEvent *e) } for (i = 0; i < LENGTH(buttons); i++) if (click == buttons[i].click && buttons[i].func && buttons[i].button == ev->button - && CLEANMASK(buttons[i].mask) == CLEANMASK(ev->state)) - buttons[i].func(click == ClkTagBar && buttons[i].arg.i == 0 ? &arg : - click == ClkStatusText && buttons[i].arg.i == 0 ? &arg : - &buttons[i].arg); + && CLEANMASK(buttons[i].mask) == CLEANMASK(ev->state)) + buttons[i].func(click == ClkTagBar && buttons[i].arg.i == 0 ? &arg : &buttons[i].arg); } void @@ -769,16 +765,13 @@ void drawbar(Monitor *m) { int x, w, tw = 0; - int boxs = drw->fonts->h / 9; - int boxw = drw->fonts->h / 4 + 3; + int boxs = drw->fonts->h / 9; + int boxw = drw->fonts->h / 6 + 2; unsigned int i, occ = 0, urg = 0; Client *c; - if (!m->showbar) - return; - - drw_setscheme(drw, scheme[SchemeNorm]); - drw_rect(drw, 0, 0, m->ww, bh - 3, 1, 1); + if (!m->showbar) + return; /* draw status first so it can be overdrawn by tags later */ if (m == selmon) { /* status is only drawn on selected monitor */ @@ -790,7 +783,7 @@ drawbar(Monitor *m) continue; w = TEXTW(statusitems[i].text); statusitems[i].width = w; - drw_text(drw, m->ww - tw - w, 0, w, bh - 3, 0, + drw_text(drw, m->ww - tw - w, 0, w, bh, 0, statusitems[i].text, 0); tw += w; } @@ -804,9 +797,11 @@ drawbar(Monitor *m) } x = 0; for (i = 0; i < LENGTH(tags); i++) { + if (!(occ & 1 << i || m->tagset[m->seltags] & 1 << i)) + continue; w = TEXTW(tags[i]); drw_setscheme(drw, scheme[m->tagset[m->seltags] & 1 << i ? SchemeSel : SchemeNorm]); - drw_text(drw, x, 0, w, bh - 3, lrpad / 2, tags[i], urg & 1 << i); + drw_text(drw, x, 0, w, bh, lrpad / 2, tags[i], urg & 1 << i); if (occ & 1 << i) drw_rect(drw, x + boxs, boxs, boxw, boxw, m == selmon && selmon->sel && selmon->sel->tags & 1 << i, @@ -815,29 +810,20 @@ drawbar(Monitor *m) } w = TEXTW(m->ltsymbol); drw_setscheme(drw, scheme[SchemeNorm]); - x = drw_text(drw, x, 0, w, bh - 3, lrpad / 2, m->ltsymbol, 0); - - if ((w = m->ww - tw - x) > bh) { - if (m->sel) { - int tx = x + (w - TEXTW(m->sel->name)) / 2; - int twid = TEXTW(m->sel->name); - drw_setscheme(drw, scheme[SchemeNorm]); - drw_text(drw, tx, 0, twid, bh - 3, lrpad / 2, m->sel->name, 0); - if (m == selmon) { - drw_setscheme(drw, scheme[SchemeSel]); - for (i = 0; i < 3; i++) - drw_rect(drw, tx - i, 0, twid + 2 * i, bh - 3, 0, 1); - } - if (m->sel->isfloating) - drw_rect(drw, tx + boxs, boxs, boxw, boxw, m->sel->isfixed, 0); - } else { - drw_setscheme(drw, scheme[SchemeNorm]); - drw_rect(drw, x, 0, w, bh - 3, 1, 1); - } - } - drw_setscheme(drw, scheme[SchemeSel]); - drw_rect(drw, 0, bh - 3, m->ww, 3, 1, 1); - drw_map(drw, m->barwin, 0, 0, m->ww, bh); + x = drw_text(drw, x, 0, w, bh, lrpad / 2, m->ltsymbol, 0); + + if ((w = m->ww - tw - x) > bh) { + if (m->sel) { + drw_setscheme(drw, scheme[m == selmon ? SchemeSel : SchemeNorm]); + drw_text(drw, x, 0, w, bh, lrpad / 2, m->sel->name, 0); + if (m->sel->isfloating) + drw_rect(drw, x + boxs, boxs, boxw, boxw, m->sel->isfixed, 0); + } else { + drw_setscheme(drw, scheme[SchemeNorm]); + drw_rect(drw, x, 0, w, bh, 1, 1); + } + } + drw_map(drw, m->barwin, 0, 0, m->ww, bh); } void @@ -1695,7 +1681,7 @@ setup(void) if (!drw_fontset_create(drw, fonts, LENGTH(fonts))) die("no fonts could be loaded."); lrpad = drw->fonts->h; - bh = drw->fonts->h + 8; + bh = drw->fonts->h + 2; updategeom(); /* init atoms */ utf8string = XInternAtom(dpy, "UTF8_STRING", False); @@ -2214,47 +2200,6 @@ getram(char *buf, size_t len) snprintf(buf, len, "RAM %d%%", percent); } -static void -getmusic(char *buf, size_t len) -{ - struct mpd_connection *conn = mpd_connection_new(NULL, 0, 30000); - if (!conn || mpd_connection_get_error(conn) != MPD_ERROR_SUCCESS) { - if (conn) - mpd_connection_free(conn); - buf[0] = '\0'; - return; - } - struct mpd_status *status = mpd_run_status(conn); - if (!status) { - mpd_connection_free(conn); - buf[0] = '\0'; - return; - } - enum mpd_state state = mpd_status_get_state(status); - mpd_status_free(status); - if (state != MPD_STATE_PLAY) { - mpd_connection_free(conn); - buf[0] = '\0'; - return; - } - struct mpd_song *song = mpd_run_current_song(conn); - if (!song) { - mpd_connection_free(conn); - buf[0] = '\0'; - return; - } - const char *artist = mpd_song_get_tag(song, MPD_TAG_ARTIST, 0); - const char *title = mpd_song_get_tag(song, MPD_TAG_TITLE, 0); - if (title && artist) - snprintf(buf, len, "%s - %s", artist, title); - else if (title) - snprintf(buf, len, "%s", title); - else - buf[0] = '\0'; - mpd_song_free(song); - mpd_connection_free(conn); -} - static void gettime(char *buf, size_t len) { @@ -2309,7 +2254,6 @@ updatestatus(void) getdunst(statusitems[SNoti].text, sizeof statusitems[SNoti].text); getcpu(statusitems[SCPU].text, sizeof statusitems[SCPU].text); getram(statusitems[SRAM].text, sizeof statusitems[SRAM].text); - getmusic(statusitems[SMusic].text, sizeof statusitems[SMusic].text); gettime(statusitems[STime].text, sizeof statusitems[STime].text); strncpy(statusitems[SPower].text, "⏻", sizeof statusitems[SPower].text); @@ -2335,9 +2279,6 @@ clickstatus(const Arg *arg) case STime: spawn(&(Arg){ .v = calendarcmd }); break; - case SMusic: - spawn(&(Arg){ .v = mediaplaypause }); - break; case SPower: spawn(&(Arg){ .v = powermenucmd }); break; -- cgit v1.2.3