Introduction
Introduction Statistics Contact Development Disclaimer Help
dwm-doublepressquit-6.3.diff - sites - public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log
Files
Refs
---
dwm-doublepressquit-6.3.diff (1327B)
---
1 From 1ff5d32e691fa8fb001d0619b72da11ef8232009 Mon Sep 17 00:00:00 2001
2 From: Sebastian Karlsen <[email protected]>
3 Date: Tue, 1 Mar 2022 14:49:03 +0100
4 Subject: [PATCH] Only quit dwm if binding is pressed twice quickly
5
6 ---
7 config.def.h | 3 +++
8 dwm.c | 19 ++++++++++++++++++-
9 2 files changed, 21 insertions(+), 1 deletion(-)
10
11 diff --git a/config.def.h b/config.def.h
12 index a2ac963..8123671 100644
13 --- a/config.def.h
14 +++ b/config.def.h
15 @@ -21,6 +21,9 @@ static const char *colors[][3] = {
16 /* tagging */
17 static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "…
18
19 +/* Lockfile */
20 +static char lockfile[] = "/tmp/dwm.lock";
21 +
22 static const Rule rules[] = {
23 /* xprop(1):
24 * WM_CLASS(STRING) = instance, class
25 diff --git a/dwm.c b/dwm.c
26 index a96f33c..d55f186 100644
27 --- a/dwm.c
28 +++ b/dwm.c
29 @@ -1252,7 +1252,24 @@ propertynotify(XEvent *e)
30 void
31 quit(const Arg *arg)
32 {
33 - running = 0;
34 + FILE *fd = NULL;
35 + struct stat filestat;
36 +
37 + if ((fd = fopen(lockfile, "r")) && stat(lockfile, &filestat) ==…
38 + fclose(fd);
39 +
40 + if (filestat.st_ctime <= time(NULL)-2)
41 + remove(lockfile);
42 + }
43 +
44 + if ((fd = fopen(lockfile, "r")) != NULL) {
45 + fclose(fd);
46 + remove(lockfile);
47 + running = 0;
48 + } else {
49 + if ((fd = fopen(lockfile, "a")) != NULL)
50 + fclose(fd);
51 + }
52 }
53
54 Monitor *
55 --
56 2.35.1
57
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.