Introduction
Introduction Statistics Contact Development Disclaimer Help
dwm-xtheme-20220214-135624-dwm-6.3.diff - sites - public wiki contents of suckl…
git clone git://git.suckless.org/sites
Log
Files
Refs
---
dwm-xtheme-20220214-135624-dwm-6.3.diff (4683B)
---
1 diff --git a/Makefile b/Makefile
2 index 77bcbc0..fadb218 100644
3 --- a/Makefile
4 +++ b/Makefile
5 @@ -17,16 +17,23 @@ options:
6 .c.o:
7 ${CC} -c ${CFLAGS} $<
8
9 -${OBJ}: config.h config.mk
10 +${OBJ}: config.h theme_beg.h config.mk
11
12 -config.h:
13 - cp config.def.h $@
14 +theme.h:
15 + ./xtheme
16 +
17 +theme_beg.h:
18 + ./themesetup
19 +
20 +config.h: theme.h
21 + cp -n config.def.h $@
22
23 dwm: ${OBJ}
24 ${CC} -o $@ ${OBJ} ${LDFLAGS}
25 + rm -f theme_{beg,end}.h
26
27 clean:
28 - rm -f dwm ${OBJ} dwm-${VERSION}.tar.gz
29 + rm -f dwm ${OBJ} theme_{beg,end}.h dwm-${VERSION}.tar.gz
30
31 dist: clean
32 mkdir -p dwm-${VERSION}
33 diff --git a/config.def.h b/config.def.h
34 index a2ac963..daf66b3 100644
35 --- a/config.def.h
36 +++ b/config.def.h
37 @@ -1,11 +1,15 @@
38 /* See LICENSE file for copyright and license details. */
39
40 +/* theme management */
41 +# include "theme_beg.h" /* this is a compile-time generated header file…
42 +# include "theme.h"
43 +
44 /* appearance */
45 static const unsigned int borderpx = 1; /* border pixel of wind…
46 static const unsigned int snap = 32; /* snap pixel */
47 static const int showbar = 1; /* 0 means no bar */
48 static const int topbar = 1; /* 0 means bottom bar */
49 -static const char *fonts[] = { "monospace:size=10" };
50 +static const char *fonts[] = { DWM_FONT };
51 static const char dmenufont[] = "monospace:size=10";
52 static const char col_gray1[] = "#222222";
53 static const char col_gray2[] = "#444444";
54 @@ -13,9 +17,9 @@ static const char col_gray3[] = "#bbbbbb";
55 static const char col_gray4[] = "#eeeeee";
56 static const char col_cyan[] = "#005577";
57 static const char *colors[][3] = {
58 - /* fg bg border */
59 - [SchemeNorm] = { col_gray3, col_gray1, col_gray2 },
60 - [SchemeSel] = { col_gray4, col_cyan, col_cyan },
61 + /* fg bg border …
62 + [SchemeNorm] = { DWM_FOREGROUND, DWM_BACKGROUND, DWM_BORD…
63 + [SchemeSel] = { DWM_SELFOREGROUND, DWM_SELBACKGROUND, DWM_SELB…
64 };
65
66 /* tagging */
67 @@ -60,6 +64,9 @@ static char dmenumon[2] = "0"; /* component of dmenucm…
68 static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", d…
69 static const char *termcmd[] = { "st", NULL };
70
71 +/* theme management */
72 +# include "theme_end.h" /* this is a compile-time generated header file…
73 +
74 static Key keys[] = {
75 /* modifier key function argu…
76 { MODKEY, XK_p, spawn, {.v …
77 diff --git a/themesetup b/themesetup
78 new file mode 100755
79 index 0000000..e8710c1
80 --- /dev/null
81 +++ b/themesetup
82 @@ -0,0 +1,5 @@
83 +#!/bin/sh
84 +
85 +echo \# if $(cat theme.h | cut -d' ' -f3 | sed "s/^/defined /;s/$/ ||/"…
86 +echo -e "# error (conflicting macro names)\n# endif" >> theme_beg.h
87 +cat theme.h | cut -d' ' -f3 | sed "s/^/# undef /;" > theme_end.h
88 diff --git a/xresources.defaults b/xresources.defaults
89 new file mode 100644
90 index 0000000..7f1d86a
91 --- /dev/null
92 +++ b/xresources.defaults
93 @@ -0,0 +1,7 @@
94 +# define DWM_FONT "monospace"
95 +# define DWM_FOREGROUND "#93a1a1"
96 +# define DWM_BACKGROUND "#002b36"
97 +# define DWM_BORDER "#93a1a1"
98 +# define DWM_SELFOREGROUND "#073642"
99 +# define DWM_SELBACKGROUND "#2aa198"
100 +# define DWM_SELBORDER "#cb4b16"
101 diff --git a/xresources.list b/xresources.list
102 new file mode 100644
103 index 0000000..2b8421f
104 --- /dev/null
105 +++ b/xresources.list
106 @@ -0,0 +1,7 @@
107 +S font
108 +S foreground
109 +S background
110 +S border background
111 +S selforeground background
112 +S selbackground foreground
113 +S selborder foreground
114 diff --git a/xtheme b/xtheme
115 new file mode 100755
116 index 0000000..8fa5f08
117 --- /dev/null
118 +++ b/xtheme
119 @@ -0,0 +1,49 @@
120 +#!/bin/sh
121 +
122 +prefix=dwm
123 +resfile=xresources.list
124 +themeout=theme.h
125 +# themedefaults=themes/$prefix-defaults.h
126 +themedefaults=xresources.defaults
127 +
128 +rm -f $themeout
129 +
130 +cat "$resfile" | while read T R A
131 +do
132 + m=$(echo "$prefix"'_'"$R" | tr '[:lower:]' '[:upper:]')
133 +
134 + s=''
135 + [[ "$T" == "S" ]] && s=\"
136 +
137 + l=''
138 +
139 + for r in "$R" "$A"
140 + do
141 + [[ "$r" == '' ]] && continue
142 +
143 + e=0
144 +
145 + for p in "$prefix" ''
146 + do
147 + l="$( …
148 + xrdb -query …
149 + | grep -P "^$p\*?\.?$r:\s*\S*$"…
150 + | sed "s/^$p\*\?\.\?$r:\s*\(\S*…
151 + )"
152 +
153 + if [[ "$l" != '' ]]
154 + then
155 + e=1
156 + echo "$l" >> $themeout
157 + break
158 + fi
159 + done
160 +
161 + [[ $e == 1 ]] && break
162 + done
163 +
164 + if [[ "$l" == '' ]]
165 + then
166 + cat "$themedefaults" | grep -P "^# define $m " -m 1 >> …
167 + fi
168 +done
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.