all repos — dwm @ 26acc303947f399e508780979bdfd013ff314536

fork of suckless dynamic window manager

revert autostart patch

no need for that
la-ninpre leobrekalini@gmail.com
Sun, 26 Jun 2022 18:27:10 +0300
commit

26acc303947f399e508780979bdfd013ff314536

parent

5c3639ccd03864a6f678368d9bc0688a46835d0b

2 files changed, 0 insertions(+), 107 deletions(-)

jump to
M dwm.1dwm.1

@@ -30,14 +30,6 @@ top left corner. The tags which are applied to one or more windows are

indicated with an empty square in the top left corner. .P dwm draws a small border around windows to indicate the focus state. -.P -On start, dwm can start additional programs that may be specified in two special -shell scripts (see the FILES section below), autostart_blocking.sh and -autostart.sh. The former is executed first and dwm will wait for its -termination before starting. The latter is executed in the background before -dwm enters its handler loop. -.P -Either of these files may be omitted. .SH OPTIONS .TP .B \-v

@@ -160,21 +152,6 @@ Toggles focused window between floating and tiled state.

.TP .B Mod1\-Button3 Resize focused window while dragging. Tiled windows will be toggled to the floating state. -.SH FILES -The files containing programs to be started along with dwm are searched for in -the following directories: -.IP "1. $XDG_DATA_HOME/dwm" -.IP "2. $HOME/.local/share/dwm" -.IP "3. $HOME/.dwm" -.P -The first existing directory is scanned for any of the autostart files below. -.TP 15 -autostart.sh -This file is started as a shell background process before dwm enters its handler -loop. -.TP 15 -autostart_blocking.sh -This file is started before any autostart.sh; dwm waits for its termination. .SH CUSTOMIZATION dwm is customized by creating a custom config.h and (re)compiling the source code. This keeps it fast, secure and simple.
M dwm.cdwm.c

@@ -29,7 +29,6 @@ #include <stdlib.h>

#include <string.h> #include <unistd.h> #include <sys/types.h> -#include <sys/stat.h> #include <sys/wait.h> #include <X11/cursorfont.h> #include <X11/keysym.h>

@@ -195,7 +194,6 @@ static void resizeclient(Client *c, int x, int y, int w, int h);

static void resizemouse(const Arg *arg); static void restack(Monitor *m); static void run(void); -static void runautostart(void); static void scan(void); static int sendevent(Client *c, Atom proto); static void sendmon(Client *c, Monitor *m);

@@ -238,11 +236,7 @@ static int xerrorstart(Display *dpy, XErrorEvent *ee);

static void zoom(const Arg *arg); /* variables */ -static const char autostartblocksh[] = "autostart_blocking.sh"; -static const char autostartsh[] = "autostart.sh"; static const char broken[] = "broken"; -static const char dwmdir[] = "dwm"; -static const char localshare[] = ".local/share"; static char stext[256]; static int screen; static int sw, sh; /* X display screen geometry width, height */

@@ -1388,83 +1382,6 @@ handler[ev.type](&ev); /* call handler */

} void -runautostart(void) -{ - char *pathpfx; - char *path; - char *xdgdatahome; - char *home; - struct stat sb; - - if ((home = getenv("HOME")) == NULL) - /* this is almost impossible */ - return; - - /* if $XDG_DATA_HOME is set and not empty, use $XDG_DATA_HOME/dwm, - * otherwise use ~/.local/share/dwm as autostart script directory - */ - xdgdatahome = getenv("XDG_DATA_HOME"); - if (xdgdatahome != NULL && *xdgdatahome != '\0') { - /* space for path segments, separators and nul */ - pathpfx = ecalloc(1, strlen(xdgdatahome) + strlen(dwmdir) + 2); - - if (sprintf(pathpfx, "%s/%s", xdgdatahome, dwmdir) <= 0) { - free(pathpfx); - return; - } - } else { - /* space for path segments, separators and nul */ - pathpfx = ecalloc(1, strlen(home) + strlen(localshare) - + strlen(dwmdir) + 3); - - if (sprintf(pathpfx, "%s/%s/%s", home, localshare, dwmdir) < 0) { - free(pathpfx); - return; - } - } - - /* check if the autostart script directory exists */ - if (! (stat(pathpfx, &sb) == 0 && S_ISDIR(sb.st_mode))) { - /* the XDG conformant path does not exist or is no directory - * so we try ~/.dwm instead - */ - char *pathpfx_new = realloc(pathpfx, strlen(home) + strlen(dwmdir) + 3); - if(pathpfx_new == NULL) { - free(pathpfx); - return; - } - pathpfx = pathpfx_new; - - if (sprintf(pathpfx, "%s/.%s", home, dwmdir) <= 0) { - free(pathpfx); - return; - } - } - - /* try the blocking script first */ - path = ecalloc(1, strlen(pathpfx) + strlen(autostartblocksh) + 2); - if (sprintf(path, "%s/%s", pathpfx, autostartblocksh) <= 0) { - free(path); - free(pathpfx); - } - - if (access(path, X_OK) == 0) - system(path); - - /* now the non-blocking script */ - if (sprintf(path, "%s/%s", pathpfx, autostartsh) <= 0) { - free(path); - free(pathpfx); - } - - if (access(path, X_OK) == 0) - system(strcat(path, " &")); - - free(pathpfx); - free(path); -} - -void scan(void) { unsigned int i, num;

@@ -2228,7 +2145,6 @@ if (pledge("stdio rpath proc exec", NULL) == -1)

die("pledge"); #endif /* __OpenBSD__ */ scan(); - runautostart(); run(); cleanup(); XCloseDisplay(dpy);