summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh <eeei3.joshua0307lol@gmail.com>2024-12-21 23:21:15 -0500
committerJosh <eeei3.joshua0307lol@gmail.com>2024-12-21 23:21:15 -0500
commit038b3319c32bc0e4d653cb67f282173772f1d88d (patch)
tree789f93d33840c3073a6a0010f4072a79bd0eedee
parentac503169ed2ee1006377a53623bce8335cea90ff (diff)
fixed issue with window gapsmaster
-rw-r--r--config.def.h166
-rw-r--r--dwm.c30
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} },
-};
-
diff --git a/dwm.c b/dwm.c
index be5ffc8..3171dc5 100644
--- a/dwm.c
+++ b/dwm.c
@@ -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