diff options
author | Joe <rbo@gmx.us> | 2024-12-19 15:06:27 +0100 |
---|---|---|
committer | Joe <rbo@gmx.us> | 2024-12-19 15:06:27 +0100 |
commit | 03765f41f101502e9825047419fa9d8667e710ea (patch) | |
tree | cef6445d9c3df3081aed9f8cd28555ecfd88e401 /applied/dwm-attachasideandbelow-20200702-f04cac6.diff | |
parent | conflict (diff) | |
download | dwm-03765f41f101502e9825047419fa9d8667e710ea.tar.gz dwm-03765f41f101502e9825047419fa9d8667e710ea.tar.bz2 dwm-03765f41f101502e9825047419fa9d8667e710ea.tar.xz dwm-03765f41f101502e9825047419fa9d8667e710ea.tar.zst dwm-03765f41f101502e9825047419fa9d8667e710ea.zip |
6.5
Diffstat (limited to 'applied/dwm-attachasideandbelow-20200702-f04cac6.diff')
-rw-r--r-- | applied/dwm-attachasideandbelow-20200702-f04cac6.diff | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/applied/dwm-attachasideandbelow-20200702-f04cac6.diff b/applied/dwm-attachasideandbelow-20200702-f04cac6.diff deleted file mode 100644 index 1b9219d..0000000 --- a/applied/dwm-attachasideandbelow-20200702-f04cac6.diff +++ /dev/null @@ -1,100 +0,0 @@ -diff -up b/dwm.c a/dwm.c ---- b/dwm.c 2020-07-05 16:05:02.555947738 -0300 -+++ a/dwm.c 2020-07-05 16:06:19.592609932 -0300 -@@ -49,7 +49,8 @@ - #define CLEANMASK(mask) (mask & ~(numlockmask|LockMask) & (ShiftMask|ControlMask|Mod1Mask|Mod2Mask|Mod3Mask|Mod4Mask|Mod5Mask)) - #define INTERSECT(x,y,w,h,m) (MAX(0, MIN((x)+(w),(m)->wx+(m)->ww) - MAX((x),(m)->wx)) \ - * MAX(0, MIN((y)+(h),(m)->wy+(m)->wh) - MAX((y),(m)->wy))) --#define ISVISIBLE(C) ((C->tags & C->mon->tagset[C->mon->seltags])) -+#define ISVISIBLEONTAG(C, T) ((C->tags & T)) -+#define ISVISIBLE(C) ISVISIBLEONTAG(C, C->mon->tagset[C->mon->seltags]) - #define LENGTH(X) (sizeof X / sizeof X[0]) - #define MOUSEMASK (BUTTONMASK|PointerMotionMask) - #define WIDTH(X) ((X)->w + 2 * (X)->bw) -@@ -147,6 +148,7 @@ static int applysizehints(Client *c, int - static void arrange(Monitor *m); - static void arrangemon(Monitor *m); - static void attach(Client *c); -+static void attachBelow(Client *c); - static void attachstack(Client *c); - static void buttonpress(XEvent *e); - static void checkotherwm(void); -@@ -184,6 +186,7 @@ static void maprequest(XEvent *e); - static void monocle(Monitor *m); - static void motionnotify(XEvent *e); - static void movemouse(const Arg *arg); -+static Client *nexttagged(Client *c); - static Client *nexttiled(Client *c); - static void pop(Client *); - static void propertynotify(XEvent *e); -@@ -406,6 +409,27 @@ attach(Client *c) - c->next = c->mon->clients; - c->mon->clients = c; - } -+void -+attachBelow(Client *c) -+{ -+ //If there is nothing on the monitor or the selected client is floating, attach as normal -+ if(c->mon->sel == NULL || c->mon->sel->isfloating) { -+ Client *at = nexttagged(c); -+ if(!at) { -+ attach(c); -+ return; -+ } -+ c->next = at->next; -+ at->next = c; -+ return; -+ } -+ -+ //Set the new client's next property to the same as the currently selected clients next -+ c->next = c->mon->sel->next; -+ //Set the currently selected clients next property to the new client -+ c->mon->sel->next = c; -+ -+} - - void - attachstack(Client *c) -@@ -1063,7 +1087,7 @@ manage(Window w, XWindowAttributes *wa) - c->isfloating = c->oldstate = trans != None || c->isfixed; - if (c->isfloating) - XRaiseWindow(dpy, c->win); -- attach(c); -+ attachBelow(c); - attachstack(c); - XChangeProperty(dpy, root, netatom[NetClientList], XA_WINDOW, 32, PropModeAppend, - (unsigned char *) &(c->win), 1); -@@ -1193,6 +1217,16 @@ movemouse(const Arg *arg) - } - } - -+ Client * -+nexttagged(Client *c) { -+ Client *walked = c->mon->clients; -+ for(; -+ walked && (walked->isfloating || !ISVISIBLEONTAG(walked, c->tags)); -+ walked = walked->next -+ ); -+ return walked; -+} -+ - Client * - nexttiled(Client *c) - { -@@ -1418,7 +1452,7 @@ sendmon(Client *c, Monitor *m) - detachstack(c); - c->mon = m; - c->tags = m->tagset[m->seltags]; /* assign tags of target monitor */ -- attach(c); -+ attachBelow(c); - attachstack(c); - focus(NULL); - arrange(NULL); -@@ -1901,6 +1935,7 @@ updategeom(void) - detachstack(c); - c->mon = mons; - attach(c); -+ attachBelow(c); - attachstack(c); - } - if (m == selmon) |