Add darkman patch
a patch to choose between two color themes by executing a command
This commit is contained in:
parent
292f3ae44d
commit
816061be47
3 changed files with 74 additions and 3 deletions
36
x.c
36
x.c
|
|
@ -795,10 +795,13 @@ setsel(char *str, Time t)
|
|||
#endif // CLIPBOARD_PATCH
|
||||
}
|
||||
|
||||
#if XRESOURCES_PATCH && XRESOURCES_RELOAD_PATCH || BACKGROUND_IMAGE_PATCH && BACKGROUND_IMAGE_RELOAD_PATCH
|
||||
#if XRESOURCES_PATCH && XRESOURCES_RELOAD_PATCH || BACKGROUND_IMAGE_PATCH && BACKGROUND_IMAGE_RELOAD_PATCH || DARKMAN_PATCH
|
||||
void
|
||||
sigusr1_reload(int sig)
|
||||
{
|
||||
#if DARKMAN_PATCH
|
||||
xloadcols();
|
||||
#endif // DARKMAN_PATCH
|
||||
#if XRESOURCES_PATCH && XRESOURCES_RELOAD_PATCH
|
||||
reload_config(sig);
|
||||
#endif // XRESOURCES_RELOAD_PATCH
|
||||
|
|
@ -976,6 +979,28 @@ xloadalpha(void)
|
|||
}
|
||||
#endif // ALPHA_FOCUS_HIGHLIGHT_PATCH
|
||||
|
||||
#if DARKMAN_PATCH
|
||||
void
|
||||
darkmanThemeChoose() {
|
||||
FILE *fp;
|
||||
char path[128];
|
||||
|
||||
fp = popen("darkman get", "r");
|
||||
if (fp == NULL) {
|
||||
memcpy(colorname, colornames[0], sizeof(colorname));
|
||||
} else {
|
||||
/* match the stdout with the theme */
|
||||
while (fgets(path, sizeof(path)-1, fp) != NULL) {
|
||||
if (strcmp(path, "light\n") == 0) {
|
||||
memcpy(colorname, colornames[0], sizeof(colorname));
|
||||
} else if (strcmp(path, "dark\n") == 0) {
|
||||
memcpy(colorname, colornames[1], sizeof(colorname));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif // DARKMAN_PATCH
|
||||
|
||||
#if ALPHA_PATCH && ALPHA_FOCUS_HIGHLIGHT_PATCH
|
||||
void
|
||||
xloadcols(void)
|
||||
|
|
@ -1009,6 +1034,8 @@ xloadcols(void)
|
|||
static int loaded;
|
||||
Color *cp;
|
||||
|
||||
darkmanThemeChoose();
|
||||
|
||||
if (loaded) {
|
||||
for (cp = dc.col; cp < &dc.col[dc.collen]; ++cp)
|
||||
XftColorFree(xw.dpy, xw.vis, xw.cmap, cp);
|
||||
|
|
@ -3978,9 +4005,12 @@ run:
|
|||
|
||||
setlocale(LC_CTYPE, "");
|
||||
XSetLocaleModifiers("");
|
||||
#if XRESOURCES_PATCH && XRESOURCES_RELOAD_PATCH || BACKGROUND_IMAGE_PATCH && BACKGROUND_IMAGE_RELOAD_PATCH
|
||||
#if XRESOURCES_PATCH && XRESOURCES_RELOAD_PATCH || BACKGROUND_IMAGE_PATCH && BACKGROUND_IMAGE_RELOAD_PATCH || DARKMAN_PATCH
|
||||
signal(SIGUSR1, sigusr1_reload);
|
||||
#endif // XRESOURCES_RELOAD_PATCH | BACKGROUND_IMAGE_RELOAD_PATCH
|
||||
#endif // XRESOURCES_RELOAD_PATCH | BACKGROUND_IMAGE_RELOAD_PATCH | DARKMAN_PATCH
|
||||
#if DARKMAN_PATCH
|
||||
memcpy(colornames[0], colorname, sizeof(colorname));
|
||||
#endif // DARKMAN_PATCH
|
||||
#if XRESOURCES_PATCH
|
||||
if (!(xw.dpy = XOpenDisplay(NULL)))
|
||||
die("Can't open display\n");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue