sites

public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log | Files | Refs

commit 3096575b6b8fc8c4d08e0fa8afde95e40a1b4101
parent fa6d26d535379aa8035e7638e4f4aa0b4cf548e0
Author: Sebastian Karlsen <sebastian@karlsen.fr>
Date:   Tue,  1 Mar 2022 14:59:08 +0100

[dwm][PATCH] Add doublepressquit patch to dwm

Diffstat:
Adwm.suckless.org/patches/doublepressquit/dwm-doublepressquit-6.3.diff | 57+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adwm.suckless.org/patches/doublepressquit/index.md | 16++++++++++++++++
2 files changed, 73 insertions(+), 0 deletions(-)

diff --git a/dwm.suckless.org/patches/doublepressquit/dwm-doublepressquit-6.3.diff b/dwm.suckless.org/patches/doublepressquit/dwm-doublepressquit-6.3.diff @@ -0,0 +1,57 @@ +From 1ff5d32e691fa8fb001d0619b72da11ef8232009 Mon Sep 17 00:00:00 2001 +From: Sebastian Karlsen <suckless@karlsen.fr> +Date: Tue, 1 Mar 2022 14:49:03 +0100 +Subject: [PATCH] Only quit dwm if binding is pressed twice quickly + +--- + config.def.h | 3 +++ + dwm.c | 19 ++++++++++++++++++- + 2 files changed, 21 insertions(+), 1 deletion(-) + +diff --git a/config.def.h b/config.def.h +index a2ac963..8123671 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -21,6 +21,9 @@ static const char *colors[][3] = { + /* tagging */ + static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; + ++/* Lockfile */ ++static char lockfile[] = "/tmp/dwm.lock"; ++ + static const Rule rules[] = { + /* xprop(1): + * WM_CLASS(STRING) = instance, class +diff --git a/dwm.c b/dwm.c +index a96f33c..d55f186 100644 +--- a/dwm.c ++++ b/dwm.c +@@ -1252,7 +1252,24 @@ propertynotify(XEvent *e) + void + quit(const Arg *arg) + { +- running = 0; ++ FILE *fd = NULL; ++ struct stat filestat; ++ ++ if ((fd = fopen(lockfile, "r")) && stat(lockfile, &filestat) == 0) { ++ fclose(fd); ++ ++ if (filestat.st_ctime <= time(NULL)-2) ++ remove(lockfile); ++ } ++ ++ if ((fd = fopen(lockfile, "r")) != NULL) { ++ fclose(fd); ++ remove(lockfile); ++ running = 0; ++ } else { ++ if ((fd = fopen(lockfile, "a")) != NULL) ++ fclose(fd); ++ } + } + + Monitor * +-- +2.35.1 + diff --git a/dwm.suckless.org/patches/doublepressquit/index.md b/dwm.suckless.org/patches/doublepressquit/index.md @@ -0,0 +1,16 @@ +doublepressquit +=============== + +Description +----------- +On the default keybinding of Mod-Shift-Q, it is possible to press it by +accident, closing all your work. This patch makes it so dwm will only exit if +the keybinding is pressed twice quickly (<= 2 seconds). + +Download +-------- +* [dwm-doublepressquit-6.3.diff](dwm-doublepressquit-6.3.diff) + +Author +------ +* Sebastian Karlsen - <suckless@karlsen.fr>