This commit is contained in:
DarthMooMancer
2025-08-10 00:29:55 -04:00
parent 4d0d0b5c0a
commit b9d3e91567
14 changed files with 65 additions and 204 deletions
+19 -7
View File
@@ -1,4 +1,20 @@
include config.mk
PREFIX = /usr/local
X11INC = /usr/X11R6/include
X11LIB = /usr/X11R6/lib
FREETYPELIBS = -lfontconfig -lXft
FREETYPEINC = /usr/include/freetype2
INCS = -I${X11INC} -I${FREETYPEINC}
LIBS = -L${X11LIB} -lX11 ${FREETYPELIBS}
CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700L
#CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS}
CFLAGS = -std=c99 -pedantic -Wall -Wno-deprecated-declarations -Os ${INCS} ${CPPFLAGS}
LDFLAGS = ${LIBS}
CC = gcc
SRC = drw.c dwm.c util.c
OBJ = ${SRC:.c=.o}
@@ -8,7 +24,7 @@ all: dwm
.c.o:
${CC} -c ${CFLAGS} $<
${OBJ}: config.h config.mk
${OBJ}: config.h
dwm: ${OBJ}
${CC} -o $@ ${OBJ} ${LDFLAGS}
@@ -17,11 +33,7 @@ clean:
rm -f dwm ${OBJ}
install: all
mkdir -p ${DESTDIR}${PREFIX}/bin
cp -f dwm ${DESTDIR}${PREFIX}/bin
chmod 755 ${DESTDIR}${PREFIX}/bin/dwm
install -Dm755 dwm ${DESTDIR}${PREFIX}/bin/dwm
uninstall:
rm -f ${DESTDIR}${PREFIX}/bin/dwm\
.PHONY: all install clean uninstall
+4 -6
View File
@@ -37,7 +37,7 @@ static const Layout layouts[] = {
#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
static char dmenumon[2] = "0";
static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, NULL };
static const char *dmenucmd[] = { "dmenu_run", NULL }; // "-m", dmenumon, NULL };
static const char *termcmd[] = { "st", NULL };
static const char *browsercmd[] = { "librewolf", NULL };
@@ -59,15 +59,13 @@ static const Key keys[] = {
{ MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } },
{ MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } },
{ MODKEY, XK_comma, spawn, SHCMD("sh /home/andrew/.config/suckless/dwm/scripts/change_layout.sh") },
{ 0, XF86XK_AudioRaiseVolume, spawn, SHCMD("pactl set-sink-volume @DEFAULT_SINK@ +2%") },
{ 0, XF86XK_AudioLowerVolume, spawn, SHCMD("pactl set-sink-volume @DEFAULT_SINK@ -2%") },
{ 0, XF86XK_AudioMute, spawn, SHCMD("pactl set-sink-mute @DEFAULT_SINK@ toggle") },
TAGKEYS( XK_1, 0 )
TAGKEYS( XK_2, 1 )
TAGKEYS( XK_3, 2 )
TAGKEYS( XK_4, 3 )
TAGKEYS( XK_2, 1 )
TAGKEYS( XK_3, 2 )
TAGKEYS( XK_4, 3 )
};
static const Button buttons[] = {
-18
View File
@@ -1,18 +0,0 @@
PREFIX = /usr/local
X11INC = /usr/X11R6/include
X11LIB = /usr/X11R6/lib
FREETYPELIBS = -lfontconfig -lXft
FREETYPEINC = /usr/include/freetype2
INCS = -I${X11INC} -I${FREETYPEINC}
LIBS = -L${X11LIB} -lX11 ${FREETYPELIBS}
CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700L
#CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS}
CFLAGS = -std=c99 -pedantic -Wall -Wno-deprecated-declarations -Os ${INCS} ${CPPFLAGS}
LDFLAGS = ${LIBS}
CC = gcc
-4
View File
@@ -1,5 +1,3 @@
#include <errno.h>
#include <locale.h>
#include <signal.h>
#include <stdarg.h>
#include <stdio.h>
@@ -19,7 +17,6 @@
#include "drw.h"
#include "util.h"
/* macros */
#define BUTTONMASK (ButtonPressMask|ButtonReleaseMask)
#define CLEANMASK(mask) (mask & ~(numlockmask|LockMask) & (ShiftMask|ControlMask|Mod1Mask|Mod2Mask|Mod3Mask|Mod4Mask|Mod5Mask))
#define INTERSECT(x,y,w,h,m) (MAX(0, MIN((x)+(w),(m)->wx+(m)->ww) - MAX((x),(m)->wx)) \
@@ -32,7 +29,6 @@
#define TAGMASK ((1 << LENGTH(tags)) - 1)
#define TEXTW(X) (drw_fontset_getwidth(drw, (X)) + lrpad)
/* enums */
enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */
enum { SchemeNorm, SchemeSel }; /* color schemes */
enum { NetSupported, NetWMName, NetWMState, NetWMCheck,
@@ -1,11 +0,0 @@
#!/bin/bash
variant=$(setxkbmap -query | awk '/variant:/ { print $2 }')
if [[ "$variant" == "colemak_dh" ]]; then
setxkbmap us
layout="qwe"
else
setxkbmap us -variant colemak_dh
layout="cdh"
fi
@@ -1,63 +0,0 @@
#!/bin/bash
set -e
REBUILD=false
# Parse flags
while getopts ":f" opt; do
case $opt in
f)
REBUILD=true
;;
\?)
echo "Invalid option: -$OPTARG" >&2
exit 1
;;
esac
done
shift $((OPTIND - 1))
APP="$1"
APP_DIR="/home/andrew/dotfiles/.config/suckless/$APP"
CONFIG_FILE="$APP_DIR/config.h"
if [[ -z "$APP" ]]; then
echo "Usage:
edit-suckless.sh [ option ] < suckless-app >"
echo "Options:
-f [ force rebuild even if no changes were made ]"
exit 1
fi
if [[ ! -f "$CONFIG_FILE" ]]; then
echo "Config file not found: $CONFIG_FILE"
exit 1
fi
OLD_DIR="$(pwd)"
cd "$APP_DIR" || {
echo "Failed to cd into $APP_DIR"
exit 1
}
# Hash before edit
BEFORE_HASH=$(sha256sum config.h | cut -d ' ' -f1)
# Edit file
nvim config.h
# Hash after edit
AFTER_HASH=$(sha256sum config.h | cut -d ' ' -f1)
if [[ "$BEFORE_HASH" != "$AFTER_HASH" || "$REBUILD" == true ]]; then
echo "Rebuilding $APP..."
make
doas make install
make clean
pkill dwm
else
echo "No changes detected. Skipping rebuild."
fi
cd "$OLD_DIR"
+4 -12
View File
@@ -5,9 +5,7 @@
#include "util.h"
void
die(const char *fmt, ...)
{
void die(const char *fmt, ...) {
va_list ap;
va_start(ap, fmt);
@@ -17,19 +15,13 @@ die(const char *fmt, ...)
if (fmt[0] && fmt[strlen(fmt)-1] == ':') {
fputc(' ', stderr);
perror(NULL);
} else {
fputc('\n', stderr);
}
} else fputc('\n', stderr);
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)))
die("calloc:");
if (!(p = calloc(nmemb, size))) die("calloc:");
return p;
}