dwm-fakefullscreen-20210515-67d76bd.diff - sites - public wiki contents of suckless.org
 (HTM) git clone git://git.suckless.org/sites
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
       dwm-fakefullscreen-20210515-67d76bd.diff (4143B)
       ---
            1 From 385141aa77f52836ea395a5a406d50aab89a67c8 Mon Sep 17 00:00:00 2001
            2 From: =?UTF-8?q?Tom=20B=C3=B6hmer?= <qtom.boehmer@googlemail.com>
            3 Date: Sat, 15 May 2021 22:24:00 +0200
            4 Subject: [PATCH 1/2] Revert "Do not allow focus to drift from fullscreen
            5  client via focusstack()"
            6 
            7 This reverts commit 67d76bdc68102df976177de351f65329d8683064.
            8 
            9 The reverted commit conflicts with the functionality of the
           10 fakefullscreen patch.
           11 ---
           12  dwm.c | 2 +-
           13  1 file changed, 1 insertion(+), 1 deletion(-)
           14 
           15 diff --git a/dwm.c b/dwm.c
           16 index b0b3466..664c527 100644
           17 --- a/dwm.c
           18 +++ b/dwm.c
           19 @@ -835,7 +835,7 @@ focusstack(const Arg *arg)
           20  {
           21          Client *c = NULL, *i;
           22  
           23 -        if (!selmon->sel || selmon->sel->isfullscreen)
           24 +        if (!selmon->sel)
           25                  return;
           26          if (arg->i > 0) {
           27                  for (c = selmon->sel->next; c && !ISVISIBLE(c); c = c->next);
           28 -- 
           29 2.31.1
           30 
           31 
           32 From 05acd5d95400de6efe0d6ec584a5ca20a03f1267 Mon Sep 17 00:00:00 2001
           33 From: =?UTF-8?q?Tom=20B=C3=B6hmer?= <qtom.boehmer@googlemail.com>
           34 Date: Sat, 15 May 2021 22:27:19 +0200
           35 Subject: [PATCH 2/2] Applied patch dwm-fakefullscreen-20170508-ceac8c9.diff
           36 
           37 ---
           38  dwm.c | 28 ++--------------------------
           39  1 file changed, 2 insertions(+), 26 deletions(-)
           40 
           41 diff --git a/dwm.c b/dwm.c
           42 index 664c527..d42b1ee 100644
           43 --- a/dwm.c
           44 +++ b/dwm.c
           45 @@ -522,7 +522,7 @@ clientmessage(XEvent *e)
           46                  if (cme->data.l[1] == netatom[NetWMFullscreen]
           47                  || cme->data.l[2] == netatom[NetWMFullscreen])
           48                          setfullscreen(c, (cme->data.l[0] == 1 /* _NET_WM_STATE_ADD    */
           49 -                                || (cme->data.l[0] == 2 /* _NET_WM_STATE_TOGGLE */ && !c->isfullscreen)));
           50 +                                || cme->data.l[0] == 2 /* _NET_WM_STATE_TOGGLE */));
           51          } else if (cme->message_type == netatom[NetActiveWindow]) {
           52                  if (c != selmon->sel && !c->isurgent)
           53                          seturgent(c, 1);
           54 @@ -552,7 +552,6 @@ void
           55  configurenotify(XEvent *e)
           56  {
           57          Monitor *m;
           58 -        Client *c;
           59          XConfigureEvent *ev = &e->xconfigure;
           60          int dirty;
           61  
           62 @@ -565,9 +564,6 @@ configurenotify(XEvent *e)
           63                          drw_resize(drw, sw, bh);
           64                          updatebars();
           65                          for (m = mons; m; m = m->next) {
           66 -                                for (c = m->clients; c; c = c->next)
           67 -                                        if (c->isfullscreen)
           68 -                                                resizeclient(c, m->mx, m->my, m->mw, m->mh);
           69                                  XMoveResizeWindow(dpy, m->barwin, m->wx, m->by, m->ww, bh);
           70                          }
           71                          focus(NULL);
           72 @@ -1144,8 +1140,6 @@ movemouse(const Arg *arg)
           73  
           74          if (!(c = selmon->sel))
           75                  return;
           76 -        if (c->isfullscreen) /* no support moving fullscreen windows by mouse */
           77 -                return;
           78          restack(selmon);
           79          ocx = c->x;
           80          ocy = c->y;
           81 @@ -1299,8 +1293,6 @@ resizemouse(const Arg *arg)
           82  
           83          if (!(c = selmon->sel))
           84                  return;
           85 -        if (c->isfullscreen) /* no support resizing fullscreen windows by mouse */
           86 -                return;
           87          restack(selmon);
           88          ocx = c->x;
           89          ocy = c->y;
           90 @@ -1477,24 +1469,10 @@ setfullscreen(Client *c, int fullscreen)
           91                  XChangeProperty(dpy, c->win, netatom[NetWMState], XA_ATOM, 32,
           92                          PropModeReplace, (unsigned char*)&netatom[NetWMFullscreen], 1);
           93                  c->isfullscreen = 1;
           94 -                c->oldstate = c->isfloating;
           95 -                c->oldbw = c->bw;
           96 -                c->bw = 0;
           97 -                c->isfloating = 1;
           98 -                resizeclient(c, c->mon->mx, c->mon->my, c->mon->mw, c->mon->mh);
           99 -                XRaiseWindow(dpy, c->win);
          100          } else if (!fullscreen && c->isfullscreen){
          101                  XChangeProperty(dpy, c->win, netatom[NetWMState], XA_ATOM, 32,
          102                          PropModeReplace, (unsigned char*)0, 0);
          103                  c->isfullscreen = 0;
          104 -                c->isfloating = c->oldstate;
          105 -                c->bw = c->oldbw;
          106 -                c->x = c->oldx;
          107 -                c->y = c->oldy;
          108 -                c->w = c->oldw;
          109 -                c->h = c->oldh;
          110 -                resizeclient(c, c->x, c->y, c->w, c->h);
          111 -                arrange(c->mon);
          112          }
          113  }
          114  
          115 @@ -1619,7 +1597,7 @@ showhide(Client *c)
          116          if (ISVISIBLE(c)) {
          117                  /* show clients top down */
          118                  XMoveWindow(dpy, c->win, c->x, c->y);
          119 -                if ((!c->mon->lt[c->mon->sellt]->arrange || c->isfloating) && !c->isfullscreen)
          120 +                if (!c->mon->lt[c->mon->sellt]->arrange || c->isfloating)
          121                          resize(c, c->x, c->y, c->w, c->h, 0);
          122                  showhide(c->snext);
          123          } else {
          124 @@ -1713,8 +1691,6 @@ togglefloating(const Arg *arg)
          125  {
          126          if (!selmon->sel)
          127                  return;
          128 -        if (selmon->sel->isfullscreen) /* no support for fullscreen windows */
          129 -                return;
          130          selmon->sel->isfloating = !selmon->sel->isfloating || selmon->sel->isfixed;
          131          if (selmon->sel->isfloating)
          132                  resize(selmon->sel, selmon->sel->x, selmon->sel->y,
          133 -- 
          134 2.31.1
          135