dwm-fakefullscreen-20170508-ceac8c9.diff - sites - public wiki contents of suckless.org
 (HTM) git clone git://git.suckless.org/sites
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
       dwm-fakefullscreen-20170508-ceac8c9.diff (2962B)
       ---
            1 diff --git a/dwm.c b/dwm.c
            2 index a5ce993..42d2049 100644
            3 --- a/dwm.c
            4 +++ b/dwm.c
            5 @@ -522,7 +522,7 @@ clientmessage(XEvent *e)
            6                  if (cme->data.l[1] == netatom[NetWMFullscreen]
            7                  || cme->data.l[2] == netatom[NetWMFullscreen])
            8                          setfullscreen(c, (cme->data.l[0] == 1 /* _NET_WM_STATE_ADD    */
            9 -                                || (cme->data.l[0] == 2 /* _NET_WM_STATE_TOGGLE */ && !c->isfullscreen)));
           10 +                                || cme->data.l[0] == 2 /* _NET_WM_STATE_TOGGLE */));
           11          } else if (cme->message_type == netatom[NetActiveWindow]) {
           12                  if (c != selmon->sel && !c->isurgent)
           13                          seturgent(c, 1);
           14 @@ -552,7 +552,6 @@ void
           15  configurenotify(XEvent *e)
           16  {
           17          Monitor *m;
           18 -        Client *c;
           19          XConfigureEvent *ev = &e->xconfigure;
           20          int dirty;
           21  
           22 @@ -565,9 +564,6 @@ configurenotify(XEvent *e)
           23                          drw_resize(drw, sw, bh);
           24                          updatebars();
           25                          for (m = mons; m; m = m->next) {
           26 -                                for (c = m->clients; c; c = c->next)
           27 -                                        if (c->isfullscreen)
           28 -                                                resizeclient(c, m->mx, m->my, m->mw, m->mh);
           29                                  XMoveResizeWindow(dpy, m->barwin, m->wx, m->by, m->ww, bh);
           30                          }
           31                          focus(NULL);
           32 @@ -1145,8 +1141,6 @@ movemouse(const Arg *arg)
           33  
           34          if (!(c = selmon->sel))
           35                  return;
           36 -        if (c->isfullscreen) /* no support moving fullscreen windows by mouse */
           37 -                return;
           38          restack(selmon);
           39          ocx = c->x;
           40          ocy = c->y;
           41 @@ -1300,8 +1294,6 @@ resizemouse(const Arg *arg)
           42  
           43          if (!(c = selmon->sel))
           44                  return;
           45 -        if (c->isfullscreen) /* no support resizing fullscreen windows by mouse */
           46 -                return;
           47          restack(selmon);
           48          ocx = c->x;
           49          ocy = c->y;
           50 @@ -1478,24 +1470,10 @@ setfullscreen(Client *c, int fullscreen)
           51                  XChangeProperty(dpy, c->win, netatom[NetWMState], XA_ATOM, 32,
           52                          PropModeReplace, (unsigned char*)&netatom[NetWMFullscreen], 1);
           53                  c->isfullscreen = 1;
           54 -                c->oldstate = c->isfloating;
           55 -                c->oldbw = c->bw;
           56 -                c->bw = 0;
           57 -                c->isfloating = 1;
           58 -                resizeclient(c, c->mon->mx, c->mon->my, c->mon->mw, c->mon->mh);
           59 -                XRaiseWindow(dpy, c->win);
           60          } else if (!fullscreen && c->isfullscreen){
           61                  XChangeProperty(dpy, c->win, netatom[NetWMState], XA_ATOM, 32,
           62                          PropModeReplace, (unsigned char*)0, 0);
           63                  c->isfullscreen = 0;
           64 -                c->isfloating = c->oldstate;
           65 -                c->bw = c->oldbw;
           66 -                c->x = c->oldx;
           67 -                c->y = c->oldy;
           68 -                c->w = c->oldw;
           69 -                c->h = c->oldh;
           70 -                resizeclient(c, c->x, c->y, c->w, c->h);
           71 -                arrange(c->mon);
           72          }
           73  }
           74  
           75 @@ -1620,7 +1598,7 @@ showhide(Client *c)
           76          if (ISVISIBLE(c)) {
           77                  /* show clients top down */
           78                  XMoveWindow(dpy, c->win, c->x, c->y);
           79 -                if ((!c->mon->lt[c->mon->sellt]->arrange || c->isfloating) && !c->isfullscreen)
           80 +                if (!c->mon->lt[c->mon->sellt]->arrange || c->isfloating)
           81                          resize(c, c->x, c->y, c->w, c->h, 0);
           82                  showhide(c->snext);
           83          } else {
           84 @@ -1712,8 +1690,6 @@ togglefloating(const Arg *arg)
           85  {
           86          if (!selmon->sel)
           87                  return;
           88 -        if (selmon->sel->isfullscreen) /* no support for fullscreen windows */
           89 -                return;
           90          selmon->sel->isfloating = !selmon->sel->isfloating || selmon->sel->isfixed;
           91          if (selmon->sel->isfloating)
           92                  resize(selmon->sel, selmon->sel->x, selmon->sel->y,