Add patches
This commit is contained in:
5
README
5
README
@@ -2,6 +2,11 @@ dwm - dynamic window manager
|
|||||||
============================
|
============================
|
||||||
dwm is an extremely fast, small, and dynamic window manager for X.
|
dwm is an extremely fast, small, and dynamic window manager for X.
|
||||||
|
|
||||||
|
Patches
|
||||||
|
-------
|
||||||
|
+ fakefullscreen
|
||||||
|
+ actualfullscreen
|
||||||
|
|
||||||
|
|
||||||
Requirements
|
Requirements
|
||||||
------------
|
------------
|
||||||
|
|||||||
@@ -78,6 +78,7 @@ static Key keys[] = {
|
|||||||
{ MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
|
{ MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
|
||||||
{ MODKEY, XK_space, setlayout, {0} },
|
{ MODKEY, XK_space, setlayout, {0} },
|
||||||
{ MODKEY|ShiftMask, XK_space, togglefloating, {0} },
|
{ MODKEY|ShiftMask, XK_space, togglefloating, {0} },
|
||||||
|
{ MODKEY|ShiftMask, XK_f, togglefullscr, {0} },
|
||||||
{ MODKEY, XK_0, view, {.ui = ~0 } },
|
{ MODKEY, XK_0, view, {.ui = ~0 } },
|
||||||
{ MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } },
|
{ MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } },
|
||||||
{ MODKEY, XK_comma, focusmon, {.i = -1 } },
|
{ MODKEY, XK_comma, focusmon, {.i = -1 } },
|
||||||
|
|||||||
7
config.h
7
config.h
@@ -70,9 +70,10 @@ static Key keys[] = {
|
|||||||
|
|
||||||
{ MODKEY, XK_space, setlayout, {0} }, // swap layout
|
{ MODKEY, XK_space, setlayout, {0} }, // swap layout
|
||||||
{ MODKEY|ShiftMask, XK_space, togglefloating, {0} }, // toggle float per window
|
{ MODKEY|ShiftMask, XK_space, togglefloating, {0} }, // toggle float per window
|
||||||
{ MODKEY, XK_t, setlayout, {.v = &layouts[0]} },
|
// { MODKEY, XK_t, setlayout, {.v = &layouts[0]} },
|
||||||
{ MODKEY, XK_f, setlayout, {.v = &layouts[1]} },
|
// { MODKEY, XK_f, setlayout, {.v = &layouts[1]} },
|
||||||
{ MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
|
// { MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
|
||||||
|
{ MODKEY, XK_f, togglefullscr, {0} }, // toggle fullscreen
|
||||||
|
|
||||||
{ MODKEY, XK_h, setmfact, {.f = -0.05} }, // decrease master size
|
{ MODKEY, XK_h, setmfact, {.f = -0.05} }, // decrease master size
|
||||||
{ MODKEY, XK_l, setmfact, {.f = +0.05} }, // increase master size
|
{ MODKEY, XK_l, setmfact, {.f = +0.05} }, // increase master size
|
||||||
|
|||||||
36
dwm.c
36
dwm.c
@@ -212,6 +212,7 @@ static void tagmon(const Arg *arg);
|
|||||||
static void tile(Monitor *);
|
static void tile(Monitor *);
|
||||||
static void togglebar(const Arg *arg);
|
static void togglebar(const Arg *arg);
|
||||||
static void togglefloating(const Arg *arg);
|
static void togglefloating(const Arg *arg);
|
||||||
|
static void togglefullscr(const Arg *arg);
|
||||||
static void toggletag(const Arg *arg);
|
static void toggletag(const Arg *arg);
|
||||||
static void toggleview(const Arg *arg);
|
static void toggleview(const Arg *arg);
|
||||||
static void unfocus(Client *c, int setfocus);
|
static void unfocus(Client *c, int setfocus);
|
||||||
@@ -522,7 +523,7 @@ clientmessage(XEvent *e)
|
|||||||
if (cme->data.l[1] == netatom[NetWMFullscreen]
|
if (cme->data.l[1] == netatom[NetWMFullscreen]
|
||||||
|| cme->data.l[2] == netatom[NetWMFullscreen])
|
|| cme->data.l[2] == netatom[NetWMFullscreen])
|
||||||
setfullscreen(c, (cme->data.l[0] == 1 /* _NET_WM_STATE_ADD */
|
setfullscreen(c, (cme->data.l[0] == 1 /* _NET_WM_STATE_ADD */
|
||||||
|| (cme->data.l[0] == 2 /* _NET_WM_STATE_TOGGLE */ && !c->isfullscreen)));
|
|| cme->data.l[0] == 2 /* _NET_WM_STATE_TOGGLE */));
|
||||||
} else if (cme->message_type == netatom[NetActiveWindow]) {
|
} else if (cme->message_type == netatom[NetActiveWindow]) {
|
||||||
if (c != selmon->sel && !c->isurgent)
|
if (c != selmon->sel && !c->isurgent)
|
||||||
seturgent(c, 1);
|
seturgent(c, 1);
|
||||||
@@ -552,7 +553,6 @@ void
|
|||||||
configurenotify(XEvent *e)
|
configurenotify(XEvent *e)
|
||||||
{
|
{
|
||||||
Monitor *m;
|
Monitor *m;
|
||||||
Client *c;
|
|
||||||
XConfigureEvent *ev = &e->xconfigure;
|
XConfigureEvent *ev = &e->xconfigure;
|
||||||
int dirty;
|
int dirty;
|
||||||
|
|
||||||
@@ -565,9 +565,6 @@ configurenotify(XEvent *e)
|
|||||||
drw_resize(drw, sw, bh);
|
drw_resize(drw, sw, bh);
|
||||||
updatebars();
|
updatebars();
|
||||||
for (m = mons; m; m = m->next) {
|
for (m = mons; m; m = m->next) {
|
||||||
for (c = m->clients; c; c = c->next)
|
|
||||||
if (c->isfullscreen)
|
|
||||||
resizeclient(c, m->mx, m->my, m->mw, m->mh);
|
|
||||||
XMoveResizeWindow(dpy, m->barwin, m->wx, m->by, m->ww, bh);
|
XMoveResizeWindow(dpy, m->barwin, m->wx, m->by, m->ww, bh);
|
||||||
}
|
}
|
||||||
focus(NULL);
|
focus(NULL);
|
||||||
@@ -1144,8 +1141,6 @@ movemouse(const Arg *arg)
|
|||||||
|
|
||||||
if (!(c = selmon->sel))
|
if (!(c = selmon->sel))
|
||||||
return;
|
return;
|
||||||
if (c->isfullscreen) /* no support moving fullscreen windows by mouse */
|
|
||||||
return;
|
|
||||||
restack(selmon);
|
restack(selmon);
|
||||||
ocx = c->x;
|
ocx = c->x;
|
||||||
ocy = c->y;
|
ocy = c->y;
|
||||||
@@ -1299,8 +1294,6 @@ resizemouse(const Arg *arg)
|
|||||||
|
|
||||||
if (!(c = selmon->sel))
|
if (!(c = selmon->sel))
|
||||||
return;
|
return;
|
||||||
if (c->isfullscreen) /* no support resizing fullscreen windows by mouse */
|
|
||||||
return;
|
|
||||||
restack(selmon);
|
restack(selmon);
|
||||||
ocx = c->x;
|
ocx = c->x;
|
||||||
ocy = c->y;
|
ocy = c->y;
|
||||||
@@ -1477,24 +1470,10 @@ setfullscreen(Client *c, int fullscreen)
|
|||||||
XChangeProperty(dpy, c->win, netatom[NetWMState], XA_ATOM, 32,
|
XChangeProperty(dpy, c->win, netatom[NetWMState], XA_ATOM, 32,
|
||||||
PropModeReplace, (unsigned char*)&netatom[NetWMFullscreen], 1);
|
PropModeReplace, (unsigned char*)&netatom[NetWMFullscreen], 1);
|
||||||
c->isfullscreen = 1;
|
c->isfullscreen = 1;
|
||||||
c->oldstate = c->isfloating;
|
|
||||||
c->oldbw = c->bw;
|
|
||||||
c->bw = 0;
|
|
||||||
c->isfloating = 1;
|
|
||||||
resizeclient(c, c->mon->mx, c->mon->my, c->mon->mw, c->mon->mh);
|
|
||||||
XRaiseWindow(dpy, c->win);
|
|
||||||
} else if (!fullscreen && c->isfullscreen){
|
} else if (!fullscreen && c->isfullscreen){
|
||||||
XChangeProperty(dpy, c->win, netatom[NetWMState], XA_ATOM, 32,
|
XChangeProperty(dpy, c->win, netatom[NetWMState], XA_ATOM, 32,
|
||||||
PropModeReplace, (unsigned char*)0, 0);
|
PropModeReplace, (unsigned char*)0, 0);
|
||||||
c->isfullscreen = 0;
|
c->isfullscreen = 0;
|
||||||
c->isfloating = c->oldstate;
|
|
||||||
c->bw = c->oldbw;
|
|
||||||
c->x = c->oldx;
|
|
||||||
c->y = c->oldy;
|
|
||||||
c->w = c->oldw;
|
|
||||||
c->h = c->oldh;
|
|
||||||
resizeclient(c, c->x, c->y, c->w, c->h);
|
|
||||||
arrange(c->mon);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1619,7 +1598,7 @@ showhide(Client *c)
|
|||||||
if (ISVISIBLE(c)) {
|
if (ISVISIBLE(c)) {
|
||||||
/* show clients top down */
|
/* show clients top down */
|
||||||
XMoveWindow(dpy, c->win, c->x, c->y);
|
XMoveWindow(dpy, c->win, c->x, c->y);
|
||||||
if ((!c->mon->lt[c->mon->sellt]->arrange || c->isfloating) && !c->isfullscreen)
|
if (!c->mon->lt[c->mon->sellt]->arrange || c->isfloating)
|
||||||
resize(c, c->x, c->y, c->w, c->h, 0);
|
resize(c, c->x, c->y, c->w, c->h, 0);
|
||||||
showhide(c->snext);
|
showhide(c->snext);
|
||||||
} else {
|
} else {
|
||||||
@@ -1713,8 +1692,6 @@ togglefloating(const Arg *arg)
|
|||||||
{
|
{
|
||||||
if (!selmon->sel)
|
if (!selmon->sel)
|
||||||
return;
|
return;
|
||||||
if (selmon->sel->isfullscreen) /* no support for fullscreen windows */
|
|
||||||
return;
|
|
||||||
selmon->sel->isfloating = !selmon->sel->isfloating || selmon->sel->isfixed;
|
selmon->sel->isfloating = !selmon->sel->isfloating || selmon->sel->isfixed;
|
||||||
if (selmon->sel->isfloating)
|
if (selmon->sel->isfloating)
|
||||||
resize(selmon->sel, selmon->sel->x, selmon->sel->y,
|
resize(selmon->sel, selmon->sel->x, selmon->sel->y,
|
||||||
@@ -1722,6 +1699,13 @@ togglefloating(const Arg *arg)
|
|||||||
arrange(selmon);
|
arrange(selmon);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
togglefullscr(const Arg *arg)
|
||||||
|
{
|
||||||
|
if(selmon->sel)
|
||||||
|
setfullscreen(selmon->sel, !selmon->sel->isfullscreen);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
toggletag(const Arg *arg)
|
toggletag(const Arg *arg)
|
||||||
{
|
{
|
||||||
|
|||||||
17
patches/dwm-activetagindicatorbar-6.2.diff
Normal file
17
patches/dwm-activetagindicatorbar-6.2.diff
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
diff -up dwm-a/dwm.c dwm-b/dwm.c
|
||||||
|
--- dwm-a/dwm.c 2019-02-02 06:55:28.000000000 -0600
|
||||||
|
+++ dwm-b/dwm.c 2019-02-23 21:43:13.359179100 -0600
|
||||||
|
@@ -719,9 +719,10 @@ drawbar(Monitor *m)
|
||||||
|
drw_setscheme(drw, scheme[m->tagset[m->seltags] & 1 << i ? SchemeSel : SchemeNorm]);
|
||||||
|
drw_text(drw, x, 0, w, bh, lrpad / 2, tags[i], urg & 1 << i);
|
||||||
|
if (occ & 1 << i)
|
||||||
|
- drw_rect(drw, x + boxs, boxs, boxw, boxw,
|
||||||
|
- m == selmon && selmon->sel && selmon->sel->tags & 1 << i,
|
||||||
|
- urg & 1 << i);
|
||||||
|
+ drw_rect(drw, x + boxw, 0, w - ( 2 * boxw + 1), boxw,
|
||||||
|
+ m == selmon && selmon->sel && selmon->sel->tags & 1 << i,
|
||||||
|
+ urg & 1 << i);
|
||||||
|
+
|
||||||
|
x += w;
|
||||||
|
}
|
||||||
|
w = blw = TEXTW(m->ltsymbol);
|
||||||
53
patches/dwm-actualfullscreen-20191112-cb3f58a.diff
Normal file
53
patches/dwm-actualfullscreen-20191112-cb3f58a.diff
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
From 3a16816a6f5d38014c2a06ce395873c545c8789a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Soenke Lambert <s.lambert@mittwald.de>
|
||||||
|
Date: Tue, 12 Nov 2019 10:44:02 +0100
|
||||||
|
Subject: [PATCH] Fullscreen current window with [Alt]+[Shift]+[f]
|
||||||
|
|
||||||
|
This actually fullscreens a window, instead of just hiding the statusbar
|
||||||
|
and applying the monocle layout.
|
||||||
|
---
|
||||||
|
config.def.h | 1 +
|
||||||
|
dwm.c | 8 ++++++++
|
||||||
|
2 files changed, 9 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/config.def.h b/config.def.h
|
||||||
|
index 1c0b587..8cd3204 100644
|
||||||
|
--- a/config.def.h
|
||||||
|
+++ b/config.def.h
|
||||||
|
@@ -78,6 +78,7 @@ static Key keys[] = {
|
||||||
|
{ MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
|
||||||
|
{ MODKEY, XK_space, setlayout, {0} },
|
||||||
|
{ MODKEY|ShiftMask, XK_space, togglefloating, {0} },
|
||||||
|
+ { MODKEY|ShiftMask, XK_f, togglefullscr, {0} },
|
||||||
|
{ MODKEY, XK_0, view, {.ui = ~0 } },
|
||||||
|
{ MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } },
|
||||||
|
{ MODKEY, XK_comma, focusmon, {.i = -1 } },
|
||||||
|
diff --git a/dwm.c b/dwm.c
|
||||||
|
index 4465af1..c1b899a 100644
|
||||||
|
--- a/dwm.c
|
||||||
|
+++ b/dwm.c
|
||||||
|
@@ -211,6 +211,7 @@ static void tagmon(const Arg *arg);
|
||||||
|
static void tile(Monitor *);
|
||||||
|
static void togglebar(const Arg *arg);
|
||||||
|
static void togglefloating(const Arg *arg);
|
||||||
|
+static void togglefullscr(const Arg *arg);
|
||||||
|
static void toggletag(const Arg *arg);
|
||||||
|
static void toggleview(const Arg *arg);
|
||||||
|
static void unfocus(Client *c, int setfocus);
|
||||||
|
@@ -1719,6 +1720,13 @@ togglefloating(const Arg *arg)
|
||||||
|
arrange(selmon);
|
||||||
|
}
|
||||||
|
|
||||||
|
+void
|
||||||
|
+togglefullscr(const Arg *arg)
|
||||||
|
+{
|
||||||
|
+ if(selmon->sel)
|
||||||
|
+ setfullscreen(selmon->sel, !selmon->sel->isfullscreen);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
void
|
||||||
|
toggletag(const Arg *arg)
|
||||||
|
{
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
||||||
93
patches/dwm-alternativetags-6.2.diff
Normal file
93
patches/dwm-alternativetags-6.2.diff
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
From 25aa44b5998a2aac840a0eecf9d8a479695b2577 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Piyush Pangtey <gokuvsvegita@gmail.com>
|
||||||
|
Date: Sat, 13 Apr 2019 00:24:23 +0530
|
||||||
|
Subject: [PATCH] alternative tags
|
||||||
|
|
||||||
|
Having icons as tags sure makes dwm look awesome, but having tags number
|
||||||
|
simplifies tags related operations. This patch introduces alternative
|
||||||
|
tags which can be switched on the fly for the sole purpose of providing
|
||||||
|
visual aid.
|
||||||
|
|
||||||
|
Signed-off-by: Piyush Pangtey <gokuvsvegita@gmail.com>
|
||||||
|
---
|
||||||
|
config.def.h | 2 ++
|
||||||
|
dwm.c | 14 ++++++++++++--
|
||||||
|
2 files changed, 14 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/config.def.h b/config.def.h
|
||||||
|
index 1c0b587..e6c2565 100644
|
||||||
|
--- a/config.def.h
|
||||||
|
+++ b/config.def.h
|
||||||
|
@@ -20,6 +20,7 @@ static const char *colors[][3] = {
|
||||||
|
|
||||||
|
/* tagging */
|
||||||
|
static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
|
||||||
|
+static const char *tagsalt[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
|
||||||
|
|
||||||
|
static const Rule rules[] = {
|
||||||
|
/* xprop(1):
|
||||||
|
@@ -84,6 +85,7 @@ static Key keys[] = {
|
||||||
|
{ MODKEY, XK_period, focusmon, {.i = +1 } },
|
||||||
|
{ MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } },
|
||||||
|
{ MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } },
|
||||||
|
+ { MODKEY, XK_n, togglealttag, {0} },
|
||||||
|
TAGKEYS( XK_1, 0)
|
||||||
|
TAGKEYS( XK_2, 1)
|
||||||
|
TAGKEYS( XK_3, 2)
|
||||||
|
diff --git a/dwm.c b/dwm.c
|
||||||
|
index 4465af1..ee292e1 100644
|
||||||
|
--- a/dwm.c
|
||||||
|
+++ b/dwm.c
|
||||||
|
@@ -130,6 +130,7 @@ struct Monitor {
|
||||||
|
Monitor *next;
|
||||||
|
Window barwin;
|
||||||
|
const Layout *lt[2];
|
||||||
|
+ unsigned int alttag;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
@@ -209,6 +210,7 @@ static void spawn(const Arg *arg);
|
||||||
|
static void tag(const Arg *arg);
|
||||||
|
static void tagmon(const Arg *arg);
|
||||||
|
static void tile(Monitor *);
|
||||||
|
+static void togglealttag();
|
||||||
|
static void togglebar(const Arg *arg);
|
||||||
|
static void togglefloating(const Arg *arg);
|
||||||
|
static void toggletag(const Arg *arg);
|
||||||
|
@@ -695,7 +697,7 @@ dirtomon(int dir)
|
||||||
|
void
|
||||||
|
drawbar(Monitor *m)
|
||||||
|
{
|
||||||
|
- int x, w, sw = 0;
|
||||||
|
+ int x, w, wdelta, sw = 0;
|
||||||
|
int boxs = drw->fonts->h / 9;
|
||||||
|
int boxw = drw->fonts->h / 6 + 2;
|
||||||
|
unsigned int i, occ = 0, urg = 0;
|
||||||
|
@@ -716,8 +718,9 @@ drawbar(Monitor *m)
|
||||||
|
x = 0;
|
||||||
|
for (i = 0; i < LENGTH(tags); i++) {
|
||||||
|
w = TEXTW(tags[i]);
|
||||||
|
+ wdelta = selmon->alttag ? abs(TEXTW(tags[i]) - TEXTW(tagsalt[i])) / 2 : 0;
|
||||||
|
drw_setscheme(drw, scheme[m->tagset[m->seltags] & 1 << i ? SchemeSel : SchemeNorm]);
|
||||||
|
- drw_text(drw, x, 0, w, bh, lrpad / 2, tags[i], urg & 1 << i);
|
||||||
|
+ drw_text(drw, x, 0, w, bh, wdelta + lrpad / 2, (selmon->alttag ? tagsalt[i] : tags[i]), urg & 1 << i);
|
||||||
|
if (occ & 1 << i)
|
||||||
|
drw_rect(drw, x + boxs, boxs, boxw, boxw,
|
||||||
|
m == selmon && selmon->sel && selmon->sel->tags & 1 << i,
|
||||||
|
@@ -1696,6 +1699,13 @@ tile(Monitor *m)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+void
|
||||||
|
+togglealttag()
|
||||||
|
+{
|
||||||
|
+ selmon->alttag = !selmon->alttag;
|
||||||
|
+ drawbar(selmon);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
void
|
||||||
|
togglebar(const Arg *arg)
|
||||||
|
{
|
||||||
|
--
|
||||||
|
2.21.0
|
||||||
|
|
||||||
1029
patches/dwm-dynamicswallow-20210221-61bb8b2.diff
Normal file
1029
patches/dwm-dynamicswallow-20210221-61bb8b2.diff
Normal file
File diff suppressed because it is too large
Load Diff
92
patches/dwm-fakefullscreen-20170508-ceac8c9.diff
Normal file
92
patches/dwm-fakefullscreen-20170508-ceac8c9.diff
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
diff --git a/dwm.c b/dwm.c
|
||||||
|
index a5ce993..42d2049 100644
|
||||||
|
--- a/dwm.c
|
||||||
|
+++ b/dwm.c
|
||||||
|
@@ -522,7 +522,7 @@ clientmessage(XEvent *e)
|
||||||
|
if (cme->data.l[1] == netatom[NetWMFullscreen]
|
||||||
|
|| cme->data.l[2] == netatom[NetWMFullscreen])
|
||||||
|
setfullscreen(c, (cme->data.l[0] == 1 /* _NET_WM_STATE_ADD */
|
||||||
|
- || (cme->data.l[0] == 2 /* _NET_WM_STATE_TOGGLE */ && !c->isfullscreen)));
|
||||||
|
+ || cme->data.l[0] == 2 /* _NET_WM_STATE_TOGGLE */));
|
||||||
|
} else if (cme->message_type == netatom[NetActiveWindow]) {
|
||||||
|
if (c != selmon->sel && !c->isurgent)
|
||||||
|
seturgent(c, 1);
|
||||||
|
@@ -552,7 +552,6 @@ void
|
||||||
|
configurenotify(XEvent *e)
|
||||||
|
{
|
||||||
|
Monitor *m;
|
||||||
|
- Client *c;
|
||||||
|
XConfigureEvent *ev = &e->xconfigure;
|
||||||
|
int dirty;
|
||||||
|
|
||||||
|
@@ -565,9 +564,6 @@ configurenotify(XEvent *e)
|
||||||
|
drw_resize(drw, sw, bh);
|
||||||
|
updatebars();
|
||||||
|
for (m = mons; m; m = m->next) {
|
||||||
|
- for (c = m->clients; c; c = c->next)
|
||||||
|
- if (c->isfullscreen)
|
||||||
|
- resizeclient(c, m->mx, m->my, m->mw, m->mh);
|
||||||
|
XMoveResizeWindow(dpy, m->barwin, m->wx, m->by, m->ww, bh);
|
||||||
|
}
|
||||||
|
focus(NULL);
|
||||||
|
@@ -1145,8 +1141,6 @@ movemouse(const Arg *arg)
|
||||||
|
|
||||||
|
if (!(c = selmon->sel))
|
||||||
|
return;
|
||||||
|
- if (c->isfullscreen) /* no support moving fullscreen windows by mouse */
|
||||||
|
- return;
|
||||||
|
restack(selmon);
|
||||||
|
ocx = c->x;
|
||||||
|
ocy = c->y;
|
||||||
|
@@ -1300,8 +1294,6 @@ resizemouse(const Arg *arg)
|
||||||
|
|
||||||
|
if (!(c = selmon->sel))
|
||||||
|
return;
|
||||||
|
- if (c->isfullscreen) /* no support resizing fullscreen windows by mouse */
|
||||||
|
- return;
|
||||||
|
restack(selmon);
|
||||||
|
ocx = c->x;
|
||||||
|
ocy = c->y;
|
||||||
|
@@ -1478,24 +1470,10 @@ setfullscreen(Client *c, int fullscreen)
|
||||||
|
XChangeProperty(dpy, c->win, netatom[NetWMState], XA_ATOM, 32,
|
||||||
|
PropModeReplace, (unsigned char*)&netatom[NetWMFullscreen], 1);
|
||||||
|
c->isfullscreen = 1;
|
||||||
|
- c->oldstate = c->isfloating;
|
||||||
|
- c->oldbw = c->bw;
|
||||||
|
- c->bw = 0;
|
||||||
|
- c->isfloating = 1;
|
||||||
|
- resizeclient(c, c->mon->mx, c->mon->my, c->mon->mw, c->mon->mh);
|
||||||
|
- XRaiseWindow(dpy, c->win);
|
||||||
|
} else if (!fullscreen && c->isfullscreen){
|
||||||
|
XChangeProperty(dpy, c->win, netatom[NetWMState], XA_ATOM, 32,
|
||||||
|
PropModeReplace, (unsigned char*)0, 0);
|
||||||
|
c->isfullscreen = 0;
|
||||||
|
- c->isfloating = c->oldstate;
|
||||||
|
- c->bw = c->oldbw;
|
||||||
|
- c->x = c->oldx;
|
||||||
|
- c->y = c->oldy;
|
||||||
|
- c->w = c->oldw;
|
||||||
|
- c->h = c->oldh;
|
||||||
|
- resizeclient(c, c->x, c->y, c->w, c->h);
|
||||||
|
- arrange(c->mon);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1620,7 +1598,7 @@ showhide(Client *c)
|
||||||
|
if (ISVISIBLE(c)) {
|
||||||
|
/* show clients top down */
|
||||||
|
XMoveWindow(dpy, c->win, c->x, c->y);
|
||||||
|
- if ((!c->mon->lt[c->mon->sellt]->arrange || c->isfloating) && !c->isfullscreen)
|
||||||
|
+ if (!c->mon->lt[c->mon->sellt]->arrange || c->isfloating)
|
||||||
|
resize(c, c->x, c->y, c->w, c->h, 0);
|
||||||
|
showhide(c->snext);
|
||||||
|
} else {
|
||||||
|
@@ -1712,8 +1690,6 @@ togglefloating(const Arg *arg)
|
||||||
|
{
|
||||||
|
if (!selmon->sel)
|
||||||
|
return;
|
||||||
|
- if (selmon->sel->isfullscreen) /* no support for fullscreen windows */
|
||||||
|
- return;
|
||||||
|
selmon->sel->isfloating = !selmon->sel->isfloating || selmon->sel->isfixed;
|
||||||
|
if (selmon->sel->isfloating)
|
||||||
|
resize(selmon->sel, selmon->sel->x, selmon->sel->y,
|
||||||
Reference in New Issue
Block a user