summaryrefslogtreecommitdiff
path: root/patches/dwm-r1615-selfrestart.diff
diff options
context:
space:
mode:
authorBrandon <brandon@btkoch.xyz>2023-12-21 17:20:25 -0500
committerBrandon <brandon@btkoch.xyz>2023-12-21 17:20:25 -0500
commit29c7adbb1ef69bff90af8aaecec09f5c68a24400 (patch)
treebd0c67bd78cafdb9b96f685d8eefc2b954d735d5 /patches/dwm-r1615-selfrestart.diff
parentb40b8bec316624e93ce2aa21e42fcd0d63b18c11 (diff)
clean repo
Diffstat (limited to 'patches/dwm-r1615-selfrestart.diff')
-rw-r--r--patches/dwm-r1615-selfrestart.diff101
1 files changed, 0 insertions, 101 deletions
diff --git a/patches/dwm-r1615-selfrestart.diff b/patches/dwm-r1615-selfrestart.diff
deleted file mode 100644
index 5d019b2..0000000
--- a/patches/dwm-r1615-selfrestart.diff
+++ /dev/null
@@ -1,101 +0,0 @@
-# HG changeset patch
-# User Barbu Paul - Gheorghe <barbu.paul.gheorghe@gmail.com>
-# Date 1354650884 -7200
-# Node ID 6c472a21a5887c5295a331c48c4da188ec2c8413
-# Parent aaab44133a6830c9a00263731d098c01cc1d6fb5
-selfrestart now magically locates the current dwm (no need to hardcode a path)
-
-diff -r aaab44133a68 -r 6c472a21a588 config.def.h
---- a/config.def.h Tue Dec 04 21:54:44 2012 +0200
-+++ b/config.def.h Tue Dec 04 21:54:44 2012 +0200
-@@ -54,6 +54,8 @@
- static const char *termcmd[] = { "urxvtc", NULL };
- static const char *filemancmd[] = { "thunar", NULL };
-
-+#include "selfrestart.c"
-+
- static Key keys[] = {
- /* modifier key function argument */
- { MODKEY, XK_r, spawn, {.v = dmenucmd } },
-@@ -89,6 +91,7 @@
- TAGKEYS( XK_7, 6)
- TAGKEYS( XK_8, 7)
- TAGKEYS( XK_9, 8)
-+ { MODKEY|ShiftMask, XK_r, self_restart, {0} },
- { MODKEY|ShiftMask, XK_q, quit, {0} },
- };
-
-@@ -108,4 +111,3 @@
- { ClkTagBar, MODKEY, Button1, tag, {0} },
- { ClkTagBar, MODKEY, Button3, toggletag, {0} },
- };
--
-diff -r aaab44133a68 -r 6c472a21a588 selfrestart.c
---- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ b/selfrestart.c Tue Dec 04 21:54:44 2012 +0200
-@@ -0,0 +1,65 @@
-+#include <unistd.h>
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+
-+/**
-+ * Magically finds the current's executable path
-+ *
-+ * I'm doing the do{}while(); trick because Linux (what I'm running) is not
-+ * POSIX compilant and so lstat() cannot be trusted on /proc entries
-+ *
-+ * @return char* the path of the current executable
-+ */
-+char *get_dwm_path(){
-+ struct stat s;
-+ int r, length, rate = 42;
-+ char *path = NULL;
-+
-+ if(lstat("/proc/self/exe", &s) == -1){
-+ perror("lstat:");
-+ return NULL;
-+ }
-+
-+ length = s.st_size + 1 - rate;
-+
-+ do{
-+ length+=rate;
-+
-+ free(path);
-+ path = malloc(sizeof(char) * length);
-+
-+ if(path == NULL){
-+ perror("malloc:");
-+ return NULL;
-+ }
-+
-+ r = readlink("/proc/self/exe", path, length);
-+
-+ if(r == -1){
-+ perror("readlink:");
-+ return NULL;
-+ }
-+ }while(r >= length);
-+
-+ path[r] = '\0';
-+
-+ return path;
-+}
-+
-+/**
-+ * self-restart
-+ *
-+ * Initially inspired by: Yu-Jie Lin
-+ * https://sites.google.com/site/yjlnotes/notes/dwm
-+ */
-+void self_restart(const Arg *arg) {
-+ char *const argv[] = {get_dwm_path(), NULL};
-+
-+ if(argv[0] == NULL){
-+ return;
-+ }
-+
-+ execv(argv[0], argv);
-+}