[wiki] [sites] [dwm][patch][xtheme] update to the current version of st's xtheme patch || GasparVardanyan
commit 0f0f6a8f64cb750cefbd17d70324f38dededa15d
Author: GasparVardanyan <gaspar.vardanyan.mailbox_AT_gmail.com>
Date: Wed Feb 16 04:42:51 2022 +0400
[dwm][patch][xtheme] update to the current version of st's xtheme patch
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
new file mode 100644
index 00000000..ec78acaa
--- /dev/null
+++ b/dwm.suckless.org/patches/xtheme/dwm-xtheme-20220216-044040-dwm-6.3.diff
_AT_@ -0,0 +1,165 @@
+diff --git a/Makefile b/Makefile
+index 77bcbc0..fadb218 100644
+--- a/Makefile
++++ b/Makefile
+_AT_@ -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 $_AT_
++theme.h:
++ ./xtheme
++
++theme_beg.h:
++ ./themesetup
++
++config.h: theme.h
++ cp -n config.def.h $_AT_
+
+ dwm: ${OBJ}
+ ${CC} -o $_AT_ ${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
+_AT_@ -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";
+_AT_@ -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 */
+_AT_@ -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
+_AT_@ -0,0 +1,5 @@
++#!/bin/sh
++
++echo \# if $(cat theme.h | cut -d' ' -f3 | sed "s/^/defined /;s/$/ ||/" | tr "
" " ") 0 > theme_beg.h
++echo -e "# error (conflicting macro names)
# 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
+_AT_@ -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
+_AT_@ -0,0 +1,49 @@
++#!/bin/sh
++
++prefix=dwm
++themeout=theme.h
++xtable=xtable.md
++
++rm -f $themeout
++
++cat "$xtable" |
++ sed '1,2d;s/\(^| *\)\|\(|$\)//g;s/ \+| \+/|/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
index c8a0df1b..1e479902 100644
--- a/dwm.suckless.org/patches/xtheme/index.md
+++ b/dwm.suckless.org/patches/xtheme/index.md
_AT_@ -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
Received on Wed Feb 16 2022 - 01:43:02 CET
This archive was generated by hypermail 2.3.0
: Wed Feb 16 2022 - 01:48:50 CET