Introduction
Introduction Statistics Contact Development Disclaimer Help
tabbed-xtheme-20220325-005500.diff - sites - public wiki contents of suckless.o…
git clone git://git.suckless.org/sites
Log
Files
Refs
---
tabbed-xtheme-20220325-005500.diff (4180B)
---
1 diff --git a/Makefile b/Makefile
2 index 1b95d15..1191145 100644
3 --- a/Makefile
4 +++ b/Makefile
5 @@ -8,6 +8,7 @@ OBJ = ${SRC:.c=.o}
6 BIN = ${OBJ:.o=}
7
8 all: options ${BIN}
9 + rm -f theme_{beg,end}.h
10
11 options:
12 @echo tabbed build options:
13 @@ -19,11 +20,17 @@ options:
14 @echo CC $<
15 @${CC} -c ${CFLAGS} $<
16
17 -${OBJ}: config.h config.mk
18 +${OBJ}: config.h theme_beg.h config.mk
19
20 -config.h:
21 +theme.h:
22 + ./xtheme
23 +
24 +theme_beg.h:
25 + ./themesetup
26 +
27 +config.h: theme.h
28 @echo creating $@ from config.def.h
29 - @cp config.def.h $@
30 + @cp -n config.def.h $@
31
32 .o:
33 @echo CC -o $@
34 @@ -31,7 +38,7 @@ config.h:
35
36 clean:
37 @echo cleaning
38 - @rm -f ${BIN} ${OBJ} tabbed-${VERSION}.tar.gz
39 + @rm -f ${BIN} ${OBJ} theme_{beg,end}.h tabbed-${VERSION}.tar.gz
40
41 dist: clean
42 @echo creating dist tarball
43 diff --git a/config.def.h b/config.def.h
44 index defa426..7c1126e 100644
45 --- a/config.def.h
46 +++ b/config.def.h
47 @@ -1,13 +1,17 @@
48 /* See LICENSE file for copyright and license details. */
49
50 +/* theme management */
51 +# include "theme_beg.h" /* this is a compile-time generated header file…
52 +# include "theme.h"
53 +
54 /* appearance */
55 -static const char font[] = "monospace:size=9";
56 -static const char* normbgcolor = "#222222";
57 -static const char* normfgcolor = "#cccccc";
58 -static const char* selbgcolor = "#555555";
59 -static const char* selfgcolor = "#ffffff";
60 -static const char* urgbgcolor = "#111111";
61 -static const char* urgfgcolor = "#cc0000";
62 +static const char font[] = TABBED_FONT;
63 +static const char* normbgcolor = TABBED_BACKGROUND;
64 +static const char* normfgcolor = TABBED_FOREGROUND;
65 +static const char* selbgcolor = TABBED_SELBACKGROUND;
66 +static const char* selfgcolor = TABBED_SELFOREGROUND;
67 +static const char* urgbgcolor = TABBED_URGBACKGROUND;
68 +static const char* urgfgcolor = TABBED_URGFOREGROUND;
69 static const char before[] = "<";
70 static const char after[] = ">";
71 static const char titletrim[] = "...";
72 @@ -23,6 +27,9 @@ static Bool urgentswitch = False;
73 static int newposition = 0;
74 static Bool npisrelative = False;
75
76 +/* theme management */
77 +# include "theme_end.h" /* this is a compile-time generated header file…
78 +
79 #define SETPROP(p) { \
80 .v = (char *[]){ "/bin/sh", "-c", \
81 "prop=\"`xwininfo -children -id $1 | grep '^ 0x' |"…
82 diff --git a/themesetup b/themesetup
83 new file mode 100755
84 index 0000000..e8710c1
85 --- /dev/null
86 +++ b/themesetup
87 @@ -0,0 +1,5 @@
88 +#!/bin/sh
89 +
90 +echo \# if $(cat theme.h | cut -d' ' -f3 | sed "s/^/defined /;s/$/ ||/"…
91 +echo -e "# error (conflicting macro names)\n# endif" >> theme_beg.h
92 +cat theme.h | cut -d' ' -f3 | sed "s/^/# undef /;" > theme_end.h
93 diff --git a/xtable.md b/xtable.md
94 new file mode 100644
95 index 0000000..e05753a
96 --- /dev/null
97 +++ b/xtable.md
98 @@ -0,0 +1,9 @@
99 +| TYPE | RESOURCE | DEFA…
100 +|:---------:|:---------------------:|:-------------------------:|:-----…
101 +| SA | font …
102 +| S | background | …
103 +| S | foreground | …
104 +| S | selbackground | …
105 +| S | selforeground | …
106 +| S | urgbackground | …
107 +| S | urgforeground | …
108 diff --git a/xtheme b/xtheme
109 new file mode 100755
110 index 0000000..6396cdd
111 --- /dev/null
112 +++ b/xtheme
113 @@ -0,0 +1,51 @@
114 +#!/bin/sh
115 +
116 +prefix=tabbed
117 +themeout=theme.h
118 +xtable=xtable.md
119 +
120 +rm -f $themeout
121 +
122 +set_resource ()
123 +{
124 + T=$1
125 + M=$2
126 + V=$3
127 +
128 + case $T in
129 + S)
130 + V=\"$V\"
131 + ;;
132 + SA)
133 + V="{\"$(echo $V | sed 's/, /", "/g')\"}"
134 + esac
135 +
136 + [[ $V == '{""}' ]] && V="{}"
137 +
138 + echo "# define $M $V" >> $themeout
139 +}
140 +
141 +cat "$xtable" …
142 + sed '1,2d;s/\t*|\t*/|/g;s/\(^|\)\|\(|$\)//g' |
143 + while IFS='|' read T R D A
144 + do
145 + m=$(echo "$prefix"'_'"$R" | tr '[:lower:]' '[:upper:]')
146 +
147 + l=''
148 +
149 + for r in "$R" "$A"
150 + do
151 + [[ "$r" == '' ]] && continue
152 +
153 + l=$(xgetres "$prefix.$r")
154 +
155 + if [[ "$l" != '' ]]
156 + then
157 + set_resource $T $m "$l"
158 + break
159 + fi
160 + done
161 +
162 + [[ "$l" == '' ]] &&
163 + set_resource $T $m "$D"
164 + 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.