kill -HUP pid to restart, also mod+R
This commit is contained in:
parent
0c7a69973f
commit
4435aad841
3 changed files with 35 additions and 3 deletions
6
config.h
6
config.h
|
@ -133,7 +133,7 @@ static Key keys[] = {
|
||||||
{ MODKEY, XK_e, spawn, SHCMD("st -e neomutt ; pkill -RTMIN+12 dwmblocks; rmdir ~/.abook") },
|
{ MODKEY, XK_e, spawn, SHCMD("st -e neomutt ; pkill -RTMIN+12 dwmblocks; rmdir ~/.abook") },
|
||||||
{ MODKEY|ShiftMask, XK_e, spawn, SHCMD("tutorialvids") },
|
{ MODKEY|ShiftMask, XK_e, spawn, SHCMD("tutorialvids") },
|
||||||
{ MODKEY, XK_r, spawn, SHCMD("st -e lf") },
|
{ MODKEY, XK_r, spawn, SHCMD("st -e lf") },
|
||||||
/* { MODKEY|ShiftMask, XK_r, spawn, SHCMD("") }, */
|
{ MODKEY|ShiftMask, XK_r, quit, {1} },
|
||||||
{ MODKEY, XK_t, setlayout, {.v = &layouts[0]} },
|
{ MODKEY, XK_t, setlayout, {.v = &layouts[0]} },
|
||||||
/* { MODKEY|ShiftMask, XK_t, spawn, SHCMD("") }, */
|
/* { MODKEY|ShiftMask, XK_t, spawn, SHCMD("") }, */
|
||||||
{ MODKEY, XK_y, setlayout, {.v = &layouts[4]} },
|
{ MODKEY, XK_y, setlayout, {.v = &layouts[4]} },
|
||||||
|
@ -153,7 +153,7 @@ static Key keys[] = {
|
||||||
{ MODKEY, XK_backslash, view, {0} },
|
{ MODKEY, XK_backslash, view, {0} },
|
||||||
/* { MODKEY|ShiftMask, XK_backslash, spawn, SHCMD("") }, */
|
/* { MODKEY|ShiftMask, XK_backslash, spawn, SHCMD("") }, */
|
||||||
|
|
||||||
{ MODKEY, XK_a, spawn, {.v = audiocontrol} },
|
{ MODKEY, XK_a, spawn, {.v = audiocontrol } },
|
||||||
/* { MODKEY|ShiftMask, XK_a, spawn, SHCMD("") }, */
|
/* { MODKEY|ShiftMask, XK_a, spawn, SHCMD("") }, */
|
||||||
{ MODKEY, XK_s, togglesticky, {0} },
|
{ MODKEY, XK_s, togglesticky, {0} },
|
||||||
/* { MODKEY|ShiftMask, XK_s, spawn, SHCMD("") }, */
|
/* { MODKEY|ShiftMask, XK_s, spawn, SHCMD("") }, */
|
||||||
|
@ -245,7 +245,7 @@ static Key keys[] = {
|
||||||
{ 0, XF86XK_TouchpadOn, spawn, SHCMD("synclient TouchpadOff=0") },
|
{ 0, XF86XK_TouchpadOn, spawn, SHCMD("synclient TouchpadOff=0") },
|
||||||
{ 0, XF86XK_MonBrightnessUp, spawn, SHCMD("xbacklight -inc 15") },
|
{ 0, XF86XK_MonBrightnessUp, spawn, SHCMD("xbacklight -inc 15") },
|
||||||
{ 0, XF86XK_MonBrightnessDown, spawn, SHCMD("xbacklight -dec 15") },
|
{ 0, XF86XK_MonBrightnessDown, spawn, SHCMD("xbacklight -dec 15") },
|
||||||
|
|
||||||
/* { MODKEY, XK_space, setlayout, {0} }, */
|
/* { MODKEY, XK_space, setlayout, {0} }, */
|
||||||
|
|
||||||
/* { MODKEY, XK_comma, focusmon, {.i = -1 } }, */
|
/* { MODKEY, XK_comma, focusmon, {.i = -1 } }, */
|
||||||
|
|
10
dwm.1
10
dwm.1
|
@ -137,6 +137,9 @@ Add/remove all windows with nth tag to/from the view.
|
||||||
.TP
|
.TP
|
||||||
.B Super\-Shift\-q
|
.B Super\-Shift\-q
|
||||||
Quit dwm.
|
Quit dwm.
|
||||||
|
.TP
|
||||||
|
.B Mod1\-Control\-Shift\-q
|
||||||
|
Restart dwm.
|
||||||
.SS Mouse commands
|
.SS Mouse commands
|
||||||
.TP
|
.TP
|
||||||
.B Super\-Left click
|
.B Super\-Left click
|
||||||
|
@ -150,6 +153,13 @@ Resize focused window while dragging. Tiled windows will be toggled to the float
|
||||||
.SH CUSTOMIZATION
|
.SH CUSTOMIZATION
|
||||||
dwm is customized by creating a custom config.h and (re)compiling the source
|
dwm is customized by creating a custom config.h and (re)compiling the source
|
||||||
code. This keeps it fast, secure and simple.
|
code. This keeps it fast, secure and simple.
|
||||||
|
.SH SIGNALS
|
||||||
|
.TP
|
||||||
|
.B SIGHUP - 1
|
||||||
|
Restart the dwm process.
|
||||||
|
.TP
|
||||||
|
.B SIGTERM - 15
|
||||||
|
Cleanly terminate the dwm process.
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.BR dmenu (1),
|
.BR dmenu (1),
|
||||||
.BR st (1)
|
.BR st (1)
|
||||||
|
|
22
dwm.c
22
dwm.c
|
@ -249,6 +249,8 @@ static void setup(void);
|
||||||
static void seturgent(Client *c, int urg);
|
static void seturgent(Client *c, int urg);
|
||||||
static void showhide(Client *c);
|
static void showhide(Client *c);
|
||||||
static void sigchld(int unused);
|
static void sigchld(int unused);
|
||||||
|
static void sighup(int unused);
|
||||||
|
static void sigterm(int unused);
|
||||||
static void spawn(const Arg *arg);
|
static void spawn(const Arg *arg);
|
||||||
static int stackpos(const Arg *arg);
|
static int stackpos(const Arg *arg);
|
||||||
static void tag(const Arg *arg);
|
static void tag(const Arg *arg);
|
||||||
|
@ -314,6 +316,7 @@ static void (*handler[LASTEvent]) (XEvent *) = {
|
||||||
[UnmapNotify] = unmapnotify
|
[UnmapNotify] = unmapnotify
|
||||||
};
|
};
|
||||||
static Atom wmatom[WMLast], netatom[NetLast];
|
static Atom wmatom[WMLast], netatom[NetLast];
|
||||||
|
static int restart = 0;
|
||||||
static int running = 1;
|
static int running = 1;
|
||||||
static Cur *cursor[CurLast];
|
static Cur *cursor[CurLast];
|
||||||
static Clr **scheme;
|
static Clr **scheme;
|
||||||
|
@ -1393,6 +1396,7 @@ propertynotify(XEvent *e)
|
||||||
void
|
void
|
||||||
quit(const Arg *arg)
|
quit(const Arg *arg)
|
||||||
{
|
{
|
||||||
|
if(arg->i) restart = 1;
|
||||||
running = 0;
|
running = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1822,6 +1826,9 @@ setup(void)
|
||||||
/* clean up any zombies immediately */
|
/* clean up any zombies immediately */
|
||||||
sigchld(0);
|
sigchld(0);
|
||||||
|
|
||||||
|
signal(SIGHUP, sighup);
|
||||||
|
signal(SIGTERM, sigterm);
|
||||||
|
|
||||||
/* init screen */
|
/* init screen */
|
||||||
screen = DefaultScreen(dpy);
|
screen = DefaultScreen(dpy);
|
||||||
sw = DisplayWidth(dpy, screen);
|
sw = DisplayWidth(dpy, screen);
|
||||||
|
@ -1926,6 +1933,20 @@ sigchld(int unused)
|
||||||
while (0 < waitpid(-1, NULL, WNOHANG));
|
while (0 < waitpid(-1, NULL, WNOHANG));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
sighup(int unused)
|
||||||
|
{
|
||||||
|
Arg a = {.i = 1};
|
||||||
|
quit(&a);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
sigterm(int unused)
|
||||||
|
{
|
||||||
|
Arg a = {.i = 0};
|
||||||
|
quit(&a);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
spawn(const Arg *arg)
|
spawn(const Arg *arg)
|
||||||
{
|
{
|
||||||
|
@ -2492,6 +2513,7 @@ main(int argc, char *argv[])
|
||||||
scan();
|
scan();
|
||||||
runAutostart();
|
runAutostart();
|
||||||
run();
|
run();
|
||||||
|
if(restart) execvp(argv[0], argv);
|
||||||
cleanup();
|
cleanup();
|
||||||
XCloseDisplay(dpy);
|
XCloseDisplay(dpy);
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
|
|
Loading…
Reference in a new issue