Introduction
Introduction Statistics Contact Development Disclaimer Help
st-solarized-both-20170626-b331da5.diff - sites - public wiki contents of suckl…
git clone git://git.suckless.org/sites
Log
Files
Refs
---
st-solarized-both-20170626-b331da5.diff (5955B)
---
1 diff --git a/config.def.h b/config.def.h
2 index 877afab..7305ec9 100644
3 --- a/config.def.h
4 +++ b/config.def.h
5 @@ -84,42 +84,54 @@ static unsigned int tabspaces = 8;
6
7 /* Terminal colors (16 first used in escape sequence) */
8 const char *colorname[] = {
9 - /* 8 normal colors */
10 - "black",
11 - "red3",
12 - "green3",
13 - "yellow3",
14 - "blue2",
15 - "magenta3",
16 - "cyan3",
17 - "gray90",
18 -
19 - /* 8 bright colors */
20 - "gray50",
21 - "red",
22 - "green",
23 - "yellow",
24 - "#5c5cff",
25 - "magenta",
26 - "cyan",
27 - "white",
28 -
29 - [255] = 0,
30 -
31 - /* more colors can be added after 255 to use with DefaultXX */
32 - "#cccccc",
33 - "#555555",
34 + /* solarized dark */
35 + "#073642", /* 0: black */
36 + "#dc322f", /* 1: red */
37 + "#859900", /* 2: green */
38 + "#b58900", /* 3: yellow */
39 + "#268bd2", /* 4: blue */
40 + "#d33682", /* 5: magenta */
41 + "#2aa198", /* 6: cyan */
42 + "#eee8d5", /* 7: white */
43 + "#002b36", /* 8: brblack */
44 + "#cb4b16", /* 9: brred */
45 + "#586e75", /* 10: brgreen */
46 + "#657b83", /* 11: bryellow */
47 + "#839496", /* 12: brblue */
48 + "#6c71c4", /* 13: brmagenta*/
49 + "#93a1a1", /* 14: brcyan */
50 + "#fdf6e3", /* 15: brwhite */
51 };
52 -
53 +
54 +/* Terminal colors for alternate (light) palette */
55 +const char *altcolorname[] = {
56 + /* solarized light */
57 + "#eee8d5", /* 0: black */
58 + "#dc322f", /* 1: red */
59 + "#859900", /* 2: green */
60 + "#b58900", /* 3: yellow */
61 + "#268bd2", /* 4: blue */
62 + "#d33682", /* 5: magenta */
63 + "#2aa198", /* 6: cyan */
64 + "#073642", /* 7: white */
65 + "#fdf6e3", /* 8: brblack */
66 + "#cb4b16", /* 9: brred */
67 + "#93a1a1", /* 10: brgreen */
68 + "#839496", /* 11: bryellow */
69 + "#657b83", /* 12: brblue */
70 + "#6c71c4", /* 13: brmagenta*/
71 + "#586e75", /* 14: brcyan */
72 + "#002b36", /* 15: brwhite */
73 + };
74
75 /*
76 * Default colors (colorname index)
77 * foreground, background, cursor, reverse cursor
78 */
79 -unsigned int defaultfg = 7;
80 -unsigned int defaultbg = 0;
81 -unsigned int defaultcs = 256;
82 -unsigned int defaultrcs = 257;
83 +unsigned int defaultfg = 12;
84 +unsigned int defaultbg = 8;
85 +unsigned int defaultcs = 14;
86 +unsigned int defaultrcs = 15;
87
88 /*
89 * Default shape of cursor
90 @@ -178,6 +190,7 @@ Shortcut shortcuts[] = {
91 { TERMMOD, XK_Y, selpaste, {.i = …
92 { TERMMOD, XK_Num_Lock, numlock, {.i = …
93 { TERMMOD, XK_I, iso14755, {.i = …
94 + { XK_ANY_MOD, XK_F6, swapcolors, {.i = …
95 };
96
97 /*
98 diff --git a/st.c b/st.c
99 index 8d4a9f2..fc7d9a6 100644
100 --- a/st.c
101 +++ b/st.c
102 @@ -129,6 +129,7 @@ typedef struct {
103 static void clipcopy(const Arg *);
104 static void clippaste(const Arg *);
105 static void numlock(const Arg *);
106 +static void swapcolors(const Arg *);
107 static void selpaste(const Arg *);
108 static void zoom(const Arg *);
109 static void zoomabs(const Arg *);
110 @@ -219,6 +220,8 @@ char *opt_name = NULL;
111 char *opt_title = NULL;
112 int oldbutton = 3; /* button event on startup: 3 = release */
113
114 +int usealtcolors = 0; /* 1 to use alternate palette */
115 +
116 static CSIEscape csiescseq;
117 static STREscape strescseq;
118 static int iofd = 1;
119 @@ -233,7 +236,7 @@ static Rune utfmin[UTF_SIZ + 1] = { 0, 0, …
120 static Rune utfmax[UTF_SIZ + 1] = {0x10FFFF, 0x7F, 0x7FF, 0xFFFF, 0x10F…
121
122 /* config.h array lengths */
123 -size_t colornamelen = LEN(colorname);
124 +size_t colornamelen = MAX(LEN(colorname), LEN(altcolorname));
125 size_t mshortcutslen = LEN(mshortcuts);
126 size_t shortcutslen = LEN(shortcuts);
127 size_t selmaskslen = LEN(selmasks);
128 @@ -2631,6 +2634,14 @@ numlock(const Arg *dummy)
129 term.numlock ^= 1;
130 }
131
132 +void
133 +swapcolors(const Arg *dummy)
134 +{
135 + usealtcolors = !usealtcolors;
136 + xloadcols();
137 + redraw();
138 +}
139 +
140 char*
141 kmap(KeySym k, uint state)
142 {
143 diff --git a/st.h b/st.h
144 index 44d4938..c464dd3 100644
145 --- a/st.h
146 +++ b/st.h
147 @@ -250,7 +250,9 @@ extern unsigned int cursorthickness;
148 extern unsigned int blinktimeout;
149 extern char termname[];
150 extern const char *colorname[];
151 +extern const char *altcolorname[];
152 extern size_t colornamelen;
153 +extern int usealtcolors;
154 extern unsigned int defaultfg;
155 extern unsigned int defaultbg;
156 extern unsigned int defaultcs;
157 diff --git a/x.c b/x.c
158 index fbfd350..886918b 100644
159 --- a/x.c
160 +++ b/x.c
161 @@ -138,6 +138,7 @@ static void (*handler[LASTEvent])(XEvent *) = {
162 /* Globals */
163 static DC dc;
164 static XWindow xw;
165 +
166 static XSelection xsel;
167
168 /* Font Ring Cache */
169 @@ -573,6 +574,11 @@ sixd_to_16bit(int x)
170 return x == 0 ? 0 : 0x3737 + 0x2828 * x;
171 }
172
173 +const char* getcolorname(int i)
174 +{
175 + return (usealtcolors) ? altcolorname[i] : colorname[i];
176 +}
177 +
178 int
179 xloadcolor(int i, const char *name, Color *ncolor)
180 {
181 @@ -591,7 +597,7 @@ xloadcolor(int i, const char *name, Color *ncolor)
182 return XftColorAllocValue(xw.dpy, xw.vis,
183 xw.cmap, &color, ncol…
184 } else
185 - name = colorname[i];
186 + name = getcolorname(i);
187 }
188
189 return XftColorAllocName(xw.dpy, xw.vis, xw.cmap, name, ncolor);
190 @@ -614,8 +620,8 @@ xloadcols(void)
191
192 for (i = 0; i < dc.collen; i++)
193 if (!xloadcolor(i, NULL, &dc.col[i])) {
194 - if (colorname[i])
195 - die("Could not allocate color '%s'\n", …
196 + if (getcolorname(i))
197 + die("Could not allocate color '%s'\n", …
198 else
199 die("Could not allocate color %d\n", i);
200 }
201 @@ -950,13 +956,13 @@ xinit(void)
202 cursor = XCreateFontCursor(xw.dpy, mouseshape);
203 XDefineCursor(xw.dpy, xw.win, cursor);
204
205 - if (XParseColor(xw.dpy, xw.cmap, colorname[mousefg], &xmousefg)…
206 + if (XParseColor(xw.dpy, xw.cmap, getcolorname(mousefg), &xmouse…
207 xmousefg.red = 0xffff;
208 xmousefg.green = 0xffff;
209 xmousefg.blue = 0xffff;
210 }
211
212 - if (XParseColor(xw.dpy, xw.cmap, colorname[mousebg], &xmousebg)…
213 + if (XParseColor(xw.dpy, xw.cmap, getcolorname(mousebg), &xmouse…
214 xmousebg.red = 0x0000;
215 xmousebg.green = 0x0000;
216 xmousebg.blue = 0x0000;
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.