diff --git a/.config/suckless/dmenu/Makefile b/.config/suckless/dmenu/Makefile index b937965..a9abe04 100644 --- a/.config/suckless/dmenu/Makefile +++ b/.config/suckless/dmenu/Makefile @@ -11,9 +11,6 @@ all: dmenu .c.o: $(CC) -c $(CFLAGS) $< -config.h: - cp config.def.h $@ - $(OBJ): arg.h config.h config.mk drw.h dmenu: dmenu.o drw.o util.o diff --git a/.config/suckless/dmenu/config.def.h b/.config/suckless/dmenu/config.def.h deleted file mode 100644 index 1edb647..0000000 --- a/.config/suckless/dmenu/config.def.h +++ /dev/null @@ -1,23 +0,0 @@ -/* See LICENSE file for copyright and license details. */ -/* Default settings; can be overriden by command line. */ - -static int topbar = 1; /* -b option; if 0, dmenu appears at bottom */ -/* -fn option overrides fonts[0]; default X11 font or font set */ -static const char *fonts[] = { - "monospace:size=10" -}; -static const char *prompt = NULL; /* -p option; prompt to the left of input field */ -static const char *colors[SchemeLast][2] = { - /* fg bg */ - [SchemeNorm] = { "#bbbbbb", "#222222" }, - [SchemeSel] = { "#eeeeee", "#005577" }, - [SchemeOut] = { "#000000", "#00ffff" }, -}; -/* -l option; if nonzero, dmenu uses vertical list with given number of lines */ -static unsigned int lines = 0; - -/* - * Characters not considered part of a word while deleting words - * for example: " /?\"&[]" - */ -static const char worddelimiters[] = " "; diff --git a/.config/suckless/dmenu/config.mk b/.config/suckless/dmenu/config.mk index dcc5bb3..733ea1a 100644 --- a/.config/suckless/dmenu/config.mk +++ b/.config/suckless/dmenu/config.mk @@ -1,32 +1,9 @@ -# dmenu version VERSION = 5.4 -# paths PREFIX = /usr/local -MANPREFIX = $(PREFIX)/share/man -X11INC = /usr/X11R6/include -X11LIB = /usr/X11R6/lib +CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -D_POSIX_C_SOURCE=200809L -DVERSION=\"$(VERSION)\" +CFLAGS = -std=c99 -pedantic -Wall -Os -I/usr/X11R6/include -I/usr/include/freetype2 $(CPPFLAGS) +LDFLAGS = -L/usr/X11R6/lib -lX11 -lfontconfig -lXft -# Xinerama, comment if you don't want it -XINERAMALIBS = -lXinerama -XINERAMAFLAGS = -DXINERAMA - -# freetype -FREETYPELIBS = -lfontconfig -lXft -FREETYPEINC = /usr/include/freetype2 -# OpenBSD (uncomment) -#FREETYPEINC = $(X11INC)/freetype2 -#MANPREFIX = ${PREFIX}/man - -# includes and libs -INCS = -I$(X11INC) -I$(FREETYPEINC) -LIBS = -L$(X11LIB) -lX11 $(XINERAMALIBS) $(FREETYPELIBS) - -# flags -CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -D_POSIX_C_SOURCE=200809L -DVERSION=\"$(VERSION)\" $(XINERAMAFLAGS) -CFLAGS = -std=c99 -pedantic -Wall -Os $(INCS) $(CPPFLAGS) -LDFLAGS = $(LIBS) - -# compiler and linker -CC = cc +CC = gcc diff --git a/.config/suckless/dmenu/dmenu.c b/.config/suckless/dmenu/dmenu.c index fd49549..6fa0a8c 100644 --- a/.config/suckless/dmenu/dmenu.c +++ b/.config/suckless/dmenu/dmenu.c @@ -11,9 +11,6 @@ #include #include #include -#ifdef XINERAMA -#include -#endif #include #include "drw.h" @@ -620,11 +617,6 @@ setup(void) Window w, dw, *dws; XWindowAttributes wa; XClassHint ch = {"dmenu", "dmenu"}; -#ifdef XINERAMA - XineramaScreenInfo *info; - Window pw; - int a, di, n, area = 0; -#endif /* init appearance */ for (j = 0; j < SchemeLast; j++) scheme[j] = drw_scm_create(drw, colors[j], 2); @@ -636,38 +628,6 @@ setup(void) bh = drw->fonts->h + 2; lines = MAX(lines, 0); mh = (lines + 1) * bh; -#ifdef XINERAMA - i = 0; - if (parentwin == root && (info = XineramaQueryScreens(dpy, &n))) { - XGetInputFocus(dpy, &w, &di); - if (mon >= 0 && mon < n) - i = mon; - else if (w != root && w != PointerRoot && w != None) { - /* find top-level window containing current input focus */ - do { - if (XQueryTree(dpy, (pw = w), &dw, &w, &dws, &du) && dws) - XFree(dws); - } while (w != root && w != pw); - /* find xinerama screen with which the window intersects most */ - if (XGetWindowAttributes(dpy, pw, &wa)) - for (j = 0; j < n; j++) - if ((a = INTERSECT(wa.x, wa.y, wa.width, wa.height, info[j])) > area) { - area = a; - i = j; - } - } - /* no focused window is on screen, so use pointer location instead */ - if (mon < 0 && !area && XQueryPointer(dpy, root, &dw, &dw, &x, &y, &di, &di, &du)) - for (i = 0; i < n; i++) - if (INTERSECT(x, y, 1, 1, info[i]) != 0) - break; - - x = info[i].x_org; - y = info[i].y_org + (topbar ? 0 : info[i].height - mh); - mw = info[i].width; - XFree(info); - } else -#endif { if (!XGetWindowAttributes(dpy, parentwin, &wa)) die("could not get embedding window attributes: 0x%lx", @@ -776,11 +736,6 @@ main(int argc, char *argv[]) die("no fonts could be loaded."); lrpad = drw->fonts->h; -#ifdef __OpenBSD__ - if (pledge("stdio rpath", NULL) == -1) - die("pledge"); -#endif - if (fast && !isatty(0)) { grabkeyboard(); readstdin(); diff --git a/.config/suckless/dmenu/util.c b/.config/suckless/dmenu/util.c index 8e26a51..1dbb62b 100644 --- a/.config/suckless/dmenu/util.c +++ b/.config/suckless/dmenu/util.c @@ -7,9 +7,7 @@ #include "util.h" -void -die(const char *fmt, ...) -{ +void die(const char *fmt, ...) { va_list ap; int saved_errno; @@ -26,9 +24,7 @@ die(const char *fmt, ...) exit(1); } -void * -ecalloc(size_t nmemb, size_t size) -{ +void * ecalloc(size_t nmemb, size_t size) { void *p; if (!(p = calloc(nmemb, size)))