sites

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

commit 0f0f6a8f64cb750cefbd17d70324f38dededa15d
parent 854fa445a63aa49da84ed182662ff28762925d57
Author: GasparVardanyan <gaspar.vardanyan.mailbox@gmail.com>
Date:   Wed, 16 Feb 2022 04:42:51 +0400

[dwm][patch][xtheme] update to the current version of st's xtheme patch

Diffstat:
Adwm.suckless.org/patches/xtheme/dwm-xtheme-20220216-044040-dwm-6.3.diff | 165+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mdwm.suckless.org/patches/xtheme/index.md | 1+
2 files changed, 166 insertions(+), 0 deletions(-)

diff --git a/dwm.suckless.org/patches/xtheme/dwm-xtheme-20220216-044040-dwm-6.3.diff b/dwm.suckless.org/patches/xtheme/dwm-xtheme-20220216-044040-dwm-6.3.diff @@ -0,0 +1,165 @@ +diff --git a/Makefile b/Makefile +index 77bcbc0..fadb218 100644 +--- a/Makefile ++++ b/Makefile +@@ -17,16 +17,23 @@ options: + .c.o: + ${CC} -c ${CFLAGS} $< + +-${OBJ}: config.h config.mk ++${OBJ}: config.h theme_beg.h config.mk + +-config.h: +- cp config.def.h $@ ++theme.h: ++ ./xtheme ++ ++theme_beg.h: ++ ./themesetup ++ ++config.h: theme.h ++ cp -n config.def.h $@ + + dwm: ${OBJ} + ${CC} -o $@ ${OBJ} ${LDFLAGS} ++ rm -f theme_{beg,end}.h + + clean: +- rm -f dwm ${OBJ} dwm-${VERSION}.tar.gz ++ rm -f dwm ${OBJ} theme_{beg,end}.h dwm-${VERSION}.tar.gz + + dist: clean + mkdir -p dwm-${VERSION} +diff --git a/config.def.h b/config.def.h +index a2ac963..830a8a5 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -1,11 +1,15 @@ + /* See LICENSE file for copyright and license details. */ + ++/* theme management */ ++# include "theme_beg.h" /* this is a compile-time generated header file */ ++# include "theme.h" ++ + /* appearance */ +-static const unsigned int borderpx = 1; /* border pixel of windows */ +-static const unsigned int snap = 32; /* snap pixel */ +-static const int showbar = 1; /* 0 means no bar */ +-static const int topbar = 1; /* 0 means bottom bar */ +-static const char *fonts[] = { "monospace:size=10" }; ++static const unsigned int borderpx = DWM_BORDERPX; /* border pixel of windows */ ++static const unsigned int snap = DWM_SNAP; /* snap pixel */ ++static const int showbar = DWM_SHOWBAR; /* 0 means no bar */ ++static const int topbar = DWM_TOPBAR; /* 0 means bottom bar */ ++static const char *fonts[] = { DWM_FONT }; + static const char dmenufont[] = "monospace:size=10"; + static const char col_gray1[] = "#222222"; + static const char col_gray2[] = "#444444"; +@@ -13,9 +17,9 @@ static const char col_gray3[] = "#bbbbbb"; + static const char col_gray4[] = "#eeeeee"; + static const char col_cyan[] = "#005577"; + static const char *colors[][3] = { +- /* fg bg border */ +- [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, +- [SchemeSel] = { col_gray4, col_cyan, col_cyan }, ++ /* fg bg border */ ++ [SchemeNorm] = { DWM_FOREGROUND, DWM_BACKGROUND, DWM_BORDER }, ++ [SchemeSel] = { DWM_SELFOREGROUND, DWM_SELBACKGROUND, DWM_SELBORDER }, + }; + + /* tagging */ +@@ -60,6 +64,9 @@ static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() + static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; + static const char *termcmd[] = { "st", NULL }; + ++/* theme management */ ++# include "theme_end.h" /* this is a compile-time generated header file */ ++ + static Key keys[] = { + /* modifier key function argument */ + { MODKEY, XK_p, spawn, {.v = dmenucmd } }, +diff --git a/themesetup b/themesetup +new file mode 100755 +index 0000000..e8710c1 +--- /dev/null ++++ b/themesetup +@@ -0,0 +1,5 @@ ++#!/bin/sh ++ ++echo \# if $(cat theme.h | cut -d' ' -f3 | sed "s/^/defined /;s/$/ ||/" | tr "\n" " ") 0 > theme_beg.h ++echo -e "# error (conflicting macro names)\n# endif" >> theme_beg.h ++cat theme.h | cut -d' ' -f3 | sed "s/^/# undef /;" > theme_end.h +diff --git a/xtable.md b/xtable.md +new file mode 100644 +index 0000000..6beae36 +--- /dev/null ++++ b/xtable.md +@@ -0,0 +1,13 @@ ++| TYPE | RESOURCE | DEFAULT VALUE | [ALTERNATIVE RESOURCE] | ++|:---------:|:-----------------:|:---------------------:|:-------------------------:| ++| U | borderpx | 1 | | ++| U | snap | 32 | | ++| I | showbar | 1 | | ++| I | topbar | 1 | | ++| S | font | monospace:size=10 | | ++| S | foreground | #93a1a1 | | ++| S | background | #002b36 | | ++| S | border | #93a1a1 | background | ++| S | selforeground | #073642 | background | ++| S | selbackground | #2aa198 | foreground | ++| S | selborder | #cb4b16 | foreground | +diff --git a/xtheme b/xtheme +new file mode 100755 +index 0000000..c7dee63 +--- /dev/null ++++ b/xtheme +@@ -0,0 +1,49 @@ ++#!/bin/sh ++ ++prefix=dwm ++themeout=theme.h ++xtable=xtable.md ++ ++rm -f $themeout ++ ++cat "$xtable" | ++ sed '1,2d;s/\(^|\t*\)\|\(|$\)//g;s/\t\+|\t\+/|/g' | ++ while IFS='|' read T R D A ++ do ++ m=$(echo "$prefix"'_'"$R" | tr '[:lower:]' '[:upper:]') ++ ++ s='' ++ [[ "$T" == "S" ]] && s=\" ++ ++ l='' ++ ++ for r in "$R" "$A" ++ do ++ [[ "$r" == '' ]] && continue ++ ++ e=0 ++ ++ for p in "$prefix" '' ++ do ++ l="$( \ ++ xrdb -query \ ++ | grep -P "^$p\*?\.?$r:\s*\S*$" -m 1 \ ++ | sed "s/^$p\*\?\.\?$r:\s*\(\S*\)$/# define $m $s\1$s/" \ ++ )" ++ ++ if [[ "$l" != '' ]] ++ then ++ e=1 ++ echo "$l" >> $themeout ++ break ++ fi ++ done ++ ++ [[ $e == 1 ]] && break ++ done ++ ++ if [[ "$l" == '' ]] ++ then ++ echo "# define $m $s$D$s" >> $themeout ++ fi ++ done diff --git a/dwm.suckless.org/patches/xtheme/index.md b/dwm.suckless.org/patches/xtheme/index.md @@ -9,6 +9,7 @@ GitLab Download -------- * [dwm-xtheme-20220214-135624-dwm-6.3.diff](dwm-xtheme-20220214-135624-dwm-6.3.diff) +* [dwm-xtheme-20220216-044040-dwm-6.3.diff](dwm-xtheme-20220216-044040-dwm-6.3.diff) Authors