feat: make fullscreen windows movable
(idk why they weren't)
This commit is contained in:
parent
765fb16e7d
commit
3af76b3c34
3 changed files with 23 additions and 20 deletions
14
config.h
14
config.h
|
@ -1,4 +1,5 @@
|
||||||
/* appearance */
|
/* appearance */
|
||||||
|
#include <X11/X.h>
|
||||||
static const unsigned int borderpx = 2;
|
static const unsigned int borderpx = 2;
|
||||||
static const unsigned int snap = 0;
|
static const unsigned int snap = 0;
|
||||||
static const unsigned int swallowfloating = 0;
|
static const unsigned int swallowfloating = 0;
|
||||||
|
@ -148,17 +149,16 @@ static const Key keys[] = {
|
||||||
/* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
|
/* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
|
||||||
static const Button buttons[] = {
|
static const Button buttons[] = {
|
||||||
/* click event mask button function argument */
|
/* 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, Button1, movemouse, {0} },
|
||||||
{ ClkClientWin, MODKEY, Button2, togglefloating, {0} },
|
{ ClkClientWin, MODKEY, Button2, togglefloating, {0} },
|
||||||
{ ClkClientWin, MODKEY, Button3, resizemouse, {0} },
|
{ ClkClientWin, MODKEY, Button3, resizemouse, {0} },
|
||||||
{ ClkClientWin, MODKEY|ControlMask, Button1, resizemouse, {0} },
|
{ ClkClientWin, MODKEY|ControlMask, Button1, resizemouse, {0} },
|
||||||
{ ClkTagBar, 0, Button1, view, {0} },
|
|
||||||
{ ClkTagBar, 0, Button3, toggleview, {0} },
|
{ ClkTagBar, 0, Button3, toggleview, {0} },
|
||||||
{ ClkTagBar, MODKEY, Button1, tag, {0} },
|
|
||||||
{ ClkTagBar, MODKEY, Button3, toggletag, {0} },
|
{ ClkTagBar, MODKEY, Button3, toggletag, {0} },
|
||||||
};
|
|
||||||
|
|
||||||
|
{ ClkTagBar, 0, Button1, view, {0} },
|
||||||
|
{ ClkTagBar, ShiftMask, Button1, tagview, {0} },
|
||||||
|
{ ClkTagBar, ControlMask, Button1, tag, {0} },
|
||||||
|
{ ClkTagBar, Mod1Mask, Button1, toggletag, {0} },
|
||||||
|
{ ClkTagBar, ControlMask|ShiftMask, Button1, toggleview, {0} },
|
||||||
|
};
|
||||||
|
|
7
dwm.c
7
dwm.c
|
@ -918,7 +918,6 @@ focus(Client *c)
|
||||||
}
|
}
|
||||||
setfocus(c);
|
setfocus(c);
|
||||||
} else {
|
} else {
|
||||||
notify("SELMON STACK EMPTY");
|
|
||||||
XSetInputFocus(dpy, root, RevertToNone, CurrentTime);
|
XSetInputFocus(dpy, root, RevertToNone, CurrentTime);
|
||||||
XDeleteProperty(dpy, root, netatom[NetActiveWindow]);
|
XDeleteProperty(dpy, root, netatom[NetActiveWindow]);
|
||||||
}
|
}
|
||||||
|
@ -1307,8 +1306,10 @@ 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;
|
if (c->isfullscreen)
|
||||||
|
setfullscreen(selmon->sel, !selmon->sel->isfullscreen);
|
||||||
|
|
||||||
restack(selmon);
|
restack(selmon);
|
||||||
ocx = c->x;
|
ocx = c->x;
|
||||||
ocy = c->y;
|
ocy = c->y;
|
||||||
|
|
8
util.c
8
util.c
|
@ -36,12 +36,14 @@ ecalloc(size_t nmemb, size_t size)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
notify(const char *fmt, ...) {
|
notify(const char *fmt, ...)
|
||||||
|
{
|
||||||
va_list ap;
|
va_list ap;
|
||||||
char cmd[1024] = "notify-send ";
|
char cmd[1024] = "nt() { notify-send \"$*\"; }; nt ";
|
||||||
|
int cmd_size = strlen(cmd)-1;
|
||||||
|
|
||||||
va_start(ap, fmt);
|
va_start(ap, fmt);
|
||||||
sprintf(cmd+12, fmt, ap);
|
snprintf(cmd+cmd_size, 1024-cmd_size, fmt, ap);
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
|
|
||||||
system(cmd);
|
system(cmd);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue