diff options
author | Josh <eeei3.joshua0307lol@gmail.com> | 2024-12-21 23:21:15 -0500 |
---|---|---|
committer | Josh <eeei3.joshua0307lol@gmail.com> | 2024-12-21 23:21:15 -0500 |
commit | 038b3319c32bc0e4d653cb67f282173772f1d88d (patch) | |
tree | 789f93d33840c3073a6a0010f4072a79bd0eedee | |
parent | ac503169ed2ee1006377a53623bce8335cea90ff (diff) |
fixed issue with window gapsmaster
-rw-r--r-- | config.def.h | 166 | ||||
-rw-r--r-- | dwm.c | 30 |
2 files changed, 19 insertions, 177 deletions
diff --git a/config.def.h b/config.def.h deleted file mode 100644 index 09abf77..0000000 --- a/config.def.h +++ /dev/null @@ -1,166 +0,0 @@ -/* See LICENSE file for copyright and license details. */ -/* appearance */ -static const unsigned int borderpx = 9; /* border pixel size of windows */ -static const unsigned int gappx = 15; /* gaps size between windows */ -static const unsigned int snap = 100; /* snap pixel */ -static const int showbar = 1; /* 0 means no bar */ -static const int topbar = 1; /* 0 means bottom bar */ -static const int focusonwheel = 0; -static const char *fonts[] = { "monospace:size=25", "fontawesome:size=25" }; -static const char dmenufont[] = "monospace:size=25"; -//background color -static const char col_gray1[] = "#222222"; -//inactive window border color -static const char col_gray2[] = "#444444"; -//font color -static const char col_gray3[] = "#bbbbbb"; -//current tag and current window font color -static const char col_gray4[] = "#eeeeee"; -//Top bar second color (blue) and active window border color -static const char col_cyan[] = "#ffae00"; -static const char *colors[][3] = { - /* fg bg border */ - [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, - [SchemeSel] = { col_gray4, col_cyan, col_cyan }, -}; - -/* tagging */ -//tag names (upper left) -static const char *tags[] = { "", "2", "", "", "", "", "", " 1", " 2", " 3" }; - -static const Rule rules[] = { - /* xprop(1): - * WM_CLASS(STRING) = instance, class - * WM_NAME(STRING) = title - */ - /* class instance title tags mask isfloating monitor */ - { "Gimp", NULL, NULL, 0, 0, -1 }, - { "firefox", NULL, "Picture-in-Picture", ~0, 1, -1 }, - { "firefox", NULL, "Library", 0, 1, -1 }, - { "thunderbird", "Mail", NULL, 1<<4, 0, -1 }, - { "discord", "discord",NULL, 1<<6, 0, -1 }, - { "spectacle", NULL, NULL, 0, 1, -1 }, - { "Steam", NULL, NULL, 0, 1, -1 }, - { "kitty", "kitty", NULL, 1<<5, 0, -1 }, -}; - -/* layout(s) */ -static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */ -static const int nmaster = 1; /* number of clients in master area */ -static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */ -static const int lockfullscreen = 1; /* 1 will force focus on the fullscreen window */ - -static const Layout layouts[] = { - /* symbol arrange function */ - { "[]=", tile }, /* first entry is default */ - { "><>", NULL }, /* no layout function means floating behavior */ - { "[M]", monocle }, -}; - -/* key definitions */ -#define MODKEY Mod4Mask -#define ALTMOD Mod1Mask -#define TAGKEYS(KEY,TAG) \ - { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ - { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ - { MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \ - { MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} }, \ - { ALTMOD, KEY, focusnthmon, {.i = TAG} }, \ - { ALTMOD|ShiftMask, KEY, tagnthmon, {.i = TAG} }, - - -/* helper for spawning shell commands in the pre dwm-5.0 fashion */ -#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } - -/* commands */ -static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */ -static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; -//static const char *filemanager[] = { " -//launches btop -static const char *monitor[] = { "alacritty", "-e", "btop" }; -//sets st as the default terminal -//static const char *termcmd[] = { "st", NULL }; -static const char *termcmd[] = { "tabbed", "alacritty", "--embed", NULL }; -static const char scratchpadname[] = "scratchpad"; -static const char *scratchpadcmd[] = {"alacritty", "-t", scratchpadname, "-e", "nvim", NULL }; -//static const char *pulseecmd[] = { "pulseeffects", NULL }; -//volume controls -static const char *upvol[] = { "wpctl", "set-volume", "@DEFAULT_AUDIO_SINK@", "5%+", NULL }; -static const char *downvol[] = { "wpctl", "set-volume", "@DEFAULT_AUDIO_SINK@", "5%-", "&&", "wpctl", "set-mute", "@DEFAULT_AUDIO_SINK@", "0", NULL }; -static const char *mutevol[] = { "wpctl", "set-mute", "@DEFAULT_AUDIO_SINK@", "toggle", NULL }; -static const char *upbright[] = {"/home/josh/dwm/bright.sh", "+", NULL}; -static const char *downbright[] = {"/home/josh/dwm/bright.sh", "-", NULL}; - -#include "shiftview.c" -#include <X11/XF86keysym.h> -static char *endx[] = { "/bin/sh", "-c", "endx", "externalpipe", NULL }; -static Key keys[] = { - /* modifier key function argument */ - { MODKEY, XK_d, spawn, {.v = dmenucmd } }, - { MODKEY, XK_Return, spawn, {.v = termcmd } }, - { MODKEY|ShiftMask, XK_Tab, spawn, {.v = monitor } }, - { MODKEY, XK_t, togglebar, {0} }, - { MODKEY, XK_j, focusstack, {.i = +1 } }, - { MODKEY, XK_k, focusstack, {.i = -1 } }, - { MODKEY, XK_i, incnmaster, {.i = +1 } }, - { MODKEY, XK_u, incnmaster, {.i = -1 } }, - { MODKEY, XK_h, setmfact, {.f = -0.05} }, - { MODKEY, XK_l, setmfact, {.f = +0.05} }, - { MODKEY, XK_z, zoom, {0} }, - { MODKEY, XK_Tab, view, {0} }, - { MODKEY, XK_q, killclient, {0} }, - { MODKEY|ShiftMask, XK_t, setlayout, {.v = &layouts[0]} }, - { MODKEY|ShiftMask, XK_f, setlayout, {.v = &layouts[1]} }, - { MODKEY|ShiftMask, XK_m, setlayout, {.v = &layouts[2]} }, - { MODKEY|ShiftMask, XK_space, setlayout, {0} }, - { MODKEY|ShiftMask, XK_space, togglefloating, {0} }, - //{ MODKEY, XK_0, view, {.ui = ~0 } }, - { MODKEY|ShiftMask, XK_w, tag, {.ui = ~0 } }, - { MODKEY, XK_comma, focusmon, {.i = -1 } }, - { MODKEY, XK_period, focusmon, {.i = +1 } }, - { MODKEY, XK_minus, setgaps, {.i = -1 } }, - { MODKEY, XK_equal, setgaps, {.i = +1 } }, - { MODKEY|ShiftMask, XK_equal, setgaps, {.i = 0 } }, - { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } }, - { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } }, - { MODKEY, XK_n, shiftview, { .i = +1 } }, - { MODKEY, XK_b, shiftview, { .i = -1 } }, - { MODKEY, XK_F3, spawn, {.v = upvol } }, - { 0, XF86XK_AudioMute, spawn, {.v = mutevol} }, - { MODKEY, XK_F2, spawn, {.v = downvol } }, - { 0, XF86XK_AudioRaiseVolume, spawn, {.v = upvol}}, - { MODKEY, XK_F1, spawn, {.v = mutevol } }, - { 0, XF86XK_AudioLowerVolume, spawn, {.v = downvol}}, - { MODKEY, XK_grave, togglescratch, {.v=scratchpadcmd } }, - { 0, XF86XK_MonBrightnessUp, spawn, {.v = upbright}}, - { 0, XF86XK_MonBrightnessDown, spawn, {.v = downbright}}, - TAGKEYS( XK_1, 0) - TAGKEYS( XK_2, 1) - TAGKEYS( XK_3, 2) - TAGKEYS( XK_4, 3) - TAGKEYS( XK_5, 4) - TAGKEYS( XK_6, 5) - TAGKEYS( XK_7, 6) - TAGKEYS( XK_8, 7) - TAGKEYS( XK_9, 8) - TAGKEYS( XK_0, 9) - { MODKEY|ShiftMask, XK_q, quitprompt, {0} }, -}; - -/* button definitions */ -/* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */ -static 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, 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} }, - { ClkTagBar, MODKEY, Button3, toggletag, {0} }, -}; - @@ -40,6 +40,7 @@ #include <X11/extensions/Xinerama.h> #endif /* XINERAMA */ #include <X11/Xft/Xft.h> + #include <X11/XF86keysym.h> #include "drw.h" @@ -1803,7 +1804,7 @@ tagmon(const Arg *arg) void tile(Monitor *m) { - unsigned int i, n, h, mw, my, ty; + unsigned int i, n, h, r, g = 0, mw, my, ty; Client *c; for (n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++); @@ -1813,19 +1814,26 @@ tile(Monitor *m) if (n > m->nmaster) mw = m->nmaster ? m->ww * m->mfact : 0; else - mw = m->ww; - for (i = my = ty = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) + mw = m->ww - m->gappx; + for (i = 0, my = ty = m->gappx, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++) { if (i < m->nmaster) { - h = (m->wh - my) / (MIN(n, m->nmaster) - i); - resize(c, m->wx, m->wy + my, mw - (2*c->bw), h - (2*c->bw), 0); - if (my + HEIGHT(c) < m->wh) - my += HEIGHT(c); + r = MIN(n, m->nmaster) - i; + h = (m->wh - my) / (MIN(n, m->nmaster) - i) - m->gappx; + resize(c, m->wx + m->gappx, m->wy + my, mw - (2*c->bw) - m->gappx, h - (2*c->bw), 0); + if (my + HEIGHT(c) < m->wh) { + /*my += HEIGHT(c);*/ + my += HEIGHT(c) + gappx; + } } else { - h = (m->wh - ty) / (n - i); - resize(c, m->wx + mw, m->wy + ty, m->ww - mw - (2*c->bw), h - (2*c->bw), 0); - if (ty + HEIGHT(c) < m->wh) - ty += HEIGHT(c); + r = n - i; + h = (m->wh - ty) / (n - i) - m->gappx; + resize(c, m->wx + mw + m->gappx, m->wy + ty, m->ww - mw - (2*c->bw) - 2*m->gappx, h - (2*c->bw), 0); + if (ty + HEIGHT(c) < m->wh) { + /*ty += HEIGHT(c);*/ + ty += HEIGHT(c) + gappx; + } } + } } void |