From 6c38cb9d804e7c9fd1c593a97f3e6a3f5b7c9576 Mon Sep 17 00:00:00 2001 From: horhik Date: Thu, 8 Oct 2020 01:30:23 +0300 Subject: [PATCH] configure dwm colors --- dwm-6.2/config.def.h | 18 +++- dwm-6.2/config.def.h.orig | 30 +++++-- dwm-6.2/config.h | 18 +++- dwm-6.2/dwm | Bin 72088 -> 72280 bytes dwm-6.2/dwm.c | 10 +-- dwm-6.2/dwm.c.orig | 84 +++++++++++++++++++ dwm-6.2/dwm.c.rej | 48 +++++++++-- dwm-6.2/dwm.o | Bin 63776 -> 64256 bytes dwm-6.2/patches/wm-colorbar-6.2.diff | 68 +++++++++++++++ home/scripts/.local/scripts/status/statusbar | 2 +- 10 files changed, 246 insertions(+), 32 deletions(-) create mode 100644 dwm-6.2/patches/wm-colorbar-6.2.diff diff --git a/dwm-6.2/config.def.h b/dwm-6.2/config.def.h index eabacf6..3e6f4fe 100644 --- a/dwm-6.2/config.def.h +++ b/dwm-6.2/config.def.h @@ -12,12 +12,22 @@ static const char col_gray1[] = "#282828"; static const char col_gray2[] = "#928374"; static const char col_gray3[] = "#d5c4a1"; static const char col_gray4[] = "#ebdbb2"; -static const char col_cyan[] = "#d65d0e"; -//static const char col_cyan[] = "#d79921"; +static const char col_cyan[] = "#3c3836"; +static const char col_norm[] = "#d65d0e"; +static const char col_norm2[] = "#b16286"; +static const char col_norm3[] = "#d79921"; static const char *colors[][3] = { /* fg bg border */ - [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, - [SchemeSel] = { col_gray4, col_cyan, col_cyan }, + [SchemeNorm] = { col_norm, col_cyan, col_cyan}, + + [SchemeSel] = { col_gray4, col_norm2, col_norm3 }, + [SchemeStatus] = { col_norm2, col_cyan, "#000000" }, // Statusbar right {text,background,not used but cannot be empty} + + [SchemeTagsSel] = { col_gray1, col_norm3, "#000000" }, // Tagbar left selected {text,background,not used but cannot be empty} + [SchemeTagsNorm] = { col_norm2, col_cyan, "#000000" }, // Tagbar left unselected {text,background,not used but cannot be empty} + + [SchemeInfoSel] = { col_gray4, col_cyan, "#000000" }, // infobar middle selected {text,background,not used but cannot be empty} + [SchemeInfoNorm] = { col_norm2, col_cyan, "#000000" }, // infobar middle unselected {text,background,not used but cannot be empty} }; static const char *const autostart[] = { diff --git a/dwm-6.2/config.def.h.orig b/dwm-6.2/config.def.h.orig index 2c56145..eabacf6 100644 --- a/dwm-6.2/config.def.h.orig +++ b/dwm-6.2/config.def.h.orig @@ -13,6 +13,7 @@ static const char col_gray2[] = "#928374"; static const char col_gray3[] = "#d5c4a1"; static const char col_gray4[] = "#ebdbb2"; static const char col_cyan[] = "#d65d0e"; +//static const char col_cyan[] = "#d79921"; static const char *colors[][3] = { /* fg bg border */ [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, @@ -20,27 +21,30 @@ static const char *colors[][3] = { }; static const char *const autostart[] = { - "pulsemixer", "-k", NULL, + //"$HOME/.dwm/autostart.sh", NULL, + /*"pulsemixer", "-k", NULL, "firefox", NULL, "variety", NULL, "redshift", NULL, "picom", "--experimental-backends", "--detect-rounded-corners", NULL, "setxkbmap","us,ru,fi",",winkeys","grp:alt_shift_toggle", NULL, - "xrandr", "--output", "HDMI1", "--above", "eDP1", NULL, "$HOME/.local/scripts/status/launch", NULL, + "enact", "--pos", "top", NULL, "pulseaudio","-k", NULL, + */ NULL /* terminate */ }; /* tagging */ -static const char *tags[] = { "ﳎ ", " ", " ", " ", "", "", " ", " ", "龎 " }; +static const char *tags[] = { "ﳎ ", " ", " ", " ", "", "", " ", " ", "龎 " }; +static const char *tagsalt[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; /* launcher commands (They must be NULL terminated) */ -static const char* surf[] = { "surf", "duckduckgo.com", NULL }; +static const char* spotify[] = { "spotify", "spotify", NULL }; static const Launcher launchers[] = { /* command name to display */ - { surf, "surf" }, + { spotify, "阮 " }, }; @@ -49,11 +53,13 @@ static const Rule rules[] = { * WM_CLASS(STRING) = instance, class * WM_NAME(STRING) = title */ - /* class instance title tags mask isfloating monitor scratch key */ +/* class instance title tags mask isfloating monitor scratch key */ { "Gimp", NULL, NULL, 0, 1, -1, 0 }, -{ "firefox", NULL, NULL, 0 << 2, 0, -1, 0 }, +{ "firefox", NULL, NULL, 1 << 1, 0, -1, 0 }, +{ "spotify", NULL, NULL, 7 , 0, -1, 0 }, { NULL, NULL, "scratchpad", 0, 1, -1, 's' }, -{ NULL, NULL, "sp_volume", 0, 1, -1, 'v' }, +{ NULL, NULL, "sp_volume", 0, 1, -1, 'v' }, +{ NULL, NULL, "ScratchEmacs", 0, 1, -1, 'e' }, }; @@ -85,8 +91,11 @@ 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, "-c", "-l", "20", NULL}; static const char *termcmd[] = { "alacritty", NULL }; +static const char *flameshot[] = { "flameshot","gui", NULL }; + /*First arg only serves to match against key in rules*/ static const char *scratchpadcmd[] = {"s", "alacritty", "-t", "scratchpad", NULL}; +static const char *sp_emacs[] = {"e", "emacs", "-T", "ScratchEmacs", NULL}; static const char *sp_volume_control[] = {"v","alacritty", "-t", "sp_volume","-e", "pulsemixer", NULL}; @@ -94,6 +103,7 @@ static Key keys[] = { /* modifier key function argument */ { MODKEY, XK_p, spawn, {.v = dmenucmd } }, { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, + { MODKEY|ShiftMask, XK_s, spawn, {.v = flameshot } }, { MODKEY, XK_b, togglebar, {0} }, { MODKEY, XK_j, focusstack, {.i = +1 } }, { MODKEY, XK_k, focusstack, {.i = -1 } }, @@ -119,8 +129,10 @@ static Key keys[] = { { MODKEY, XK_equal, setgaps, {.i = +5 } }, { MODKEY|ShiftMask, XK_equal, setgaps, {.i = 0 } }, /*SCRATCHPADS*/ - { MODKEY, XK_u, togglescratch, {.v = scratchpadcmd } }, + { MODKEY, XK_u, togglescratch, {.v = scratchpadcmd } }, { MODKEY|ShiftMask, XK_m, togglescratch, {.v = sp_volume_control } }, + { MODKEY, XK_e, togglescratch, {.v = sp_emacs } }, + { MODKEY, XK_n, togglealttag, {0} }, TAGKEYS( XK_1, 0) TAGKEYS( XK_2, 1) TAGKEYS( XK_3, 2) diff --git a/dwm-6.2/config.h b/dwm-6.2/config.h index 987b968..3e6f4fe 100644 --- a/dwm-6.2/config.h +++ b/dwm-6.2/config.h @@ -12,12 +12,22 @@ static const char col_gray1[] = "#282828"; static const char col_gray2[] = "#928374"; static const char col_gray3[] = "#d5c4a1"; static const char col_gray4[] = "#ebdbb2"; -static const char col_cyan[] = "#9e7117"; -//static const char col_cyan[] = "#d79921"; +static const char col_cyan[] = "#3c3836"; +static const char col_norm[] = "#d65d0e"; +static const char col_norm2[] = "#b16286"; +static const char col_norm3[] = "#d79921"; static const char *colors[][3] = { /* fg bg border */ - [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, - [SchemeSel] = { col_gray4, col_cyan, col_cyan }, + [SchemeNorm] = { col_norm, col_cyan, col_cyan}, + + [SchemeSel] = { col_gray4, col_norm2, col_norm3 }, + [SchemeStatus] = { col_norm2, col_cyan, "#000000" }, // Statusbar right {text,background,not used but cannot be empty} + + [SchemeTagsSel] = { col_gray1, col_norm3, "#000000" }, // Tagbar left selected {text,background,not used but cannot be empty} + [SchemeTagsNorm] = { col_norm2, col_cyan, "#000000" }, // Tagbar left unselected {text,background,not used but cannot be empty} + + [SchemeInfoSel] = { col_gray4, col_cyan, "#000000" }, // infobar middle selected {text,background,not used but cannot be empty} + [SchemeInfoNorm] = { col_norm2, col_cyan, "#000000" }, // infobar middle unselected {text,background,not used but cannot be empty} }; static const char *const autostart[] = { diff --git a/dwm-6.2/dwm b/dwm-6.2/dwm index 851f3a82a4b479c7ecc442d118709eeee1a49d12..587e0a211d201e7da818c22493f48c297cbd9f06 100755 GIT binary patch delta 16946 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 D!Ocu; delta 16502 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 diff --git a/dwm-6.2/dwm.c b/dwm-6.2/dwm.c index ab72749..bbefd5d 100644 --- a/dwm-6.2/dwm.c +++ b/dwm-6.2/dwm.c @@ -60,7 +60,7 @@ /* enums */ enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */ -enum { SchemeNorm, SchemeSel }; /* color schemes */ +enum { SchemeNorm, SchemeSel, SchemeStatus, SchemeTagsSel, SchemeTagsNorm, SchemeInfoSel, SchemeInfoNorm }; /* color schemes */ enum { NetSupported, NetWMName, NetWMState, NetWMCheck, NetWMFullscreen, NetActiveWindow, NetWMWindowType, NetWMWindowTypeDialog, NetClientList, NetLast }; /* EWMH atoms */ @@ -772,7 +772,7 @@ drawbar(Monitor *m) /* draw status first so it can be overdrawn by tags later */ if (m == selmon) { /* status is only drawn on selected monitor */ - drw_setscheme(drw, scheme[SchemeNorm]); + drw_setscheme(drw, scheme[SchemeStatus]); tw = TEXTW(stext) - lrpad + 2; /* 2px right padding */ drw_text(drw, m->ww - tw, 0, tw, bh, 0, stext, 0); } @@ -786,7 +786,7 @@ drawbar(Monitor *m) for (i = 0; i < LENGTH(tags); i++) { w = TEXTW(tags[i]); wdelta = selmon->alttag ? abs(TEXTW(tags[i]) - TEXTW(tagsalt[i])) / 2 : 0; - drw_setscheme(drw, scheme[m->tagset[m->seltags] & 1 << i ? SchemeSel : SchemeNorm]); + drw_setscheme(drw, scheme[m->tagset[m->seltags] & 1 << i ? SchemeTagsSel : SchemeTagsNorm]); drw_text(drw, x, 0, w, bh, wdelta + lrpad / 2, (selmon->alttag ? tagsalt[i] : tags[i]), urg & 1 << i); if (occ & 1 << i) drw_rect(drw, x + boxs, boxs, boxw, boxw, @@ -811,12 +811,12 @@ drawbar(Monitor *m) int mid = (m->ww - (int)TEXTW(m->sel->name)) / 2 - x; /* make sure name will not overlap on tags even when it is very long */ mid = mid >= lrpad / 2 ? mid : lrpad / 2; - drw_setscheme(drw, scheme[m == selmon ? SchemeSel : SchemeNorm]); + drw_setscheme(drw, scheme[m == selmon ? SchemeInfoSel : SchemeInfoNorm]); drw_text(drw, x, 0, w, bh, mid, m->sel->name, 0); if (m->sel->isfloating) drw_rect(drw, x + boxs, boxs, boxw, boxw, m->sel->isfixed, 0); } else { - drw_setscheme(drw, scheme[SchemeNorm]); + drw_setscheme(drw, scheme[SchemeInfoNorm]); drw_rect(drw, x, 0, w, bh, 1, 1); } } diff --git a/dwm-6.2/dwm.c.orig b/dwm-6.2/dwm.c.orig index 9625a75..ab72749 100644 --- a/dwm-6.2/dwm.c.orig +++ b/dwm-6.2/dwm.c.orig @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -204,6 +205,7 @@ static void resizeclient(Client *c, int x, int y, int w, int h); static void resizemouse(const Arg *arg); static void restack(Monitor *m); static void run(void); +static void runautostart(void); static void scan(void); static int sendevent(Client *c, Atom proto); static void sendmon(Client *c, Monitor *m); @@ -251,7 +253,11 @@ static void zoom(const Arg *arg); static void autostart_exec(void); /* variables */ +static const char autostartblocksh[] = "autostart_blocking.sh"; +static const char autostartsh[] = "autostart.sh"; static const char broken[] = "broken"; +static const char dwmdir[] = "dwm"; +static const char localshare[] = ".local/share"; static char stext[256]; static int screen; static int sw, sh; /* X display screen geometry width, height */ @@ -1470,6 +1476,83 @@ run(void) handler[ev.type](&ev); /* call handler */ } +void +runautostart(void) +{ + char *pathpfx; + char *path; + char *xdgdatahome; + char *home; + struct stat sb; + + if ((home = getenv("HOME")) == NULL) + /* this is almost impossible */ + return; + + /* if $XDG_DATA_HOME is set and not empty, use $XDG_DATA_HOME/dwm, + * otherwise use ~/.local/share/dwm as autostart script directory + */ + xdgdatahome = getenv("XDG_DATA_HOME"); + if (xdgdatahome != NULL && *xdgdatahome != '\0') { + /* space for path segments, separators and nul */ + pathpfx = ecalloc(1, strlen(xdgdatahome) + strlen(dwmdir) + 2); + + if (sprintf(pathpfx, "%s/%s", xdgdatahome, dwmdir) <= 0) { + free(pathpfx); + return; + } + } else { + /* space for path segments, separators and nul */ + pathpfx = ecalloc(1, strlen(home) + strlen(localshare) + + strlen(dwmdir) + 3); + + if (sprintf(pathpfx, "%s/%s/%s", home, localshare, dwmdir) < 0) { + free(pathpfx); + return; + } + } + + /* check if the autostart script directory exists */ + if (! (stat(pathpfx, &sb) == 0 && S_ISDIR(sb.st_mode))) { + /* the XDG conformant path does not exist or is no directory + * so we try ~/.dwm instead + */ + char *pathpfx_new = realloc(pathpfx, strlen(home) + strlen(dwmdir) + 3); + if(pathpfx_new == NULL) { + free(pathpfx); + return; + } + pathpfx = pathpfx_new; + + if (sprintf(pathpfx, "%s/.%s", home, dwmdir) <= 0) { + free(pathpfx); + return; + } + } + + /* try the blocking script first */ + path = ecalloc(1, strlen(pathpfx) + strlen(autostartblocksh) + 2); + if (sprintf(path, "%s/%s", pathpfx, autostartblocksh) <= 0) { + free(path); + free(pathpfx); + } + + if (access(path, X_OK) == 0) + system(path); + + /* now the non-blocking script */ + if (sprintf(path, "%s/%s", pathpfx, autostartsh) <= 0) { + free(path); + free(pathpfx); + } + + if (access(path, X_OK) == 0) + system(strcat(path, " &")); + + free(pathpfx); + free(path); +} + void scan(void) { @@ -2298,6 +2381,7 @@ main(int argc, char *argv[]) die("pledge"); #endif /* __OpenBSD__ */ scan(); + runautostart(); run(); cleanup(); XCloseDisplay(dpy); diff --git a/dwm-6.2/dwm.c.rej b/dwm-6.2/dwm.c.rej index f44b1d6..8338a65 100644 --- a/dwm-6.2/dwm.c.rej +++ b/dwm-6.2/dwm.c.rej @@ -1,11 +1,41 @@ --- dwm.c +++ dwm.c -@@ -697,7 +699,7 @@ dirtomon(int dir) - void - drawbar(Monitor *m) - { -- int x, w, sw = 0; -+ int x, w, wdelta, sw = 0; - int boxs = drw->fonts->h / 9; - int boxw = drw->fonts->h / 6 + 2; - unsigned int i, occ = 0, urg = 0; +@@ -703,7 +703,7 @@ drawbar(Monitor *m) + + /* draw status first so it can be overdrawn by tags later */ + if (m == selmon) { /* status is only drawn on selected monitor */ +- drw_setscheme(drw, scheme[SchemeNorm]); ++ drw_setscheme(drw, scheme[SchemeStatus]); + sw = TEXTW(stext) - lrpad + 2; /* 2px right padding */ + drw_text(drw, m->ww - sw, 0, sw, bh, 0, stext, 0); + } +@@ -716,7 +716,7 @@ drawbar(Monitor *m) + x = 0; + for (i = 0; i < LENGTH(tags); i++) { + w = TEXTW(tags[i]); +- drw_setscheme(drw, scheme[m->tagset[m->seltags] & 1 << i ? SchemeSel : SchemeNorm]); ++ drw_setscheme(drw, scheme[m->tagset[m->seltags] & 1 << i ? SchemeTagsSel : SchemeTagsNorm]); + drw_text(drw, x, 0, w, bh, lrpad / 2, tags[i], urg & 1 << i); + if (occ & 1 << i) + drw_rect(drw, x + boxs, boxs, boxw, boxw, +@@ -725,17 +725,17 @@ drawbar(Monitor *m) + x += w; + } + w = blw = TEXTW(m->ltsymbol); +- drw_setscheme(drw, scheme[SchemeNorm]); ++ drw_setscheme(drw, scheme[SchemeTagsNorm]); + x = drw_text(drw, x, 0, w, bh, lrpad / 2, m->ltsymbol, 0); + + if ((w = m->ww - sw - x) > bh) { + if (m->sel) { +- drw_setscheme(drw, scheme[m == selmon ? SchemeSel : SchemeNorm]); ++ drw_setscheme(drw, scheme[m == selmon ? SchemeInfoSel : SchemeInfoNorm]); + drw_text(drw, x, 0, w, bh, lrpad / 2, m->sel->name, 0); + if (m->sel->isfloating) + drw_rect(drw, x + boxs, boxs, boxw, boxw, m->sel->isfixed, 0); + } else { +- drw_setscheme(drw, scheme[SchemeNorm]); ++ drw_setscheme(drw, scheme[SchemeInfoNorm]); + drw_rect(drw, x, 0, w, bh, 1, 1); + } + } diff --git a/dwm-6.2/dwm.o b/dwm-6.2/dwm.o index e48548c09f437b979054f00504c14979915cf1b0..bb8cfb42056ecb7dc2b592e0c8e45b2479800e73 100644 GIT binary patch delta 16902 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 JClp_8`9D42y=VXc delta 16759 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 diff --git a/dwm-6.2/patches/wm-colorbar-6.2.diff b/dwm-6.2/patches/wm-colorbar-6.2.diff new file mode 100644 index 0000000..91c067d --- /dev/null +++ b/dwm-6.2/patches/wm-colorbar-6.2.diff @@ -0,0 +1,68 @@ +diff --git a/config.def.h b/config.def.h +index 1c0b587..a516645 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -16,6 +16,11 @@ static const char *colors[][3] = { + /* fg bg border */ + [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, + [SchemeSel] = { col_gray4, col_cyan, col_cyan }, ++ [SchemeStatus] = { col_gray3, col_gray1, "#000000" }, // Statusbar right {text,background,not used but cannot be empty} ++ [SchemeTagsSel] = { col_gray4, col_cyan, "#000000" }, // Tagbar left selected {text,background,not used but cannot be empty} ++ [SchemeTagsNorm] = { col_gray3, col_gray1, "#000000" }, // Tagbar left unselected {text,background,not used but cannot be empty} ++ [SchemeInfoSel] = { col_gray4, col_cyan, "#000000" }, // infobar middle selected {text,background,not used but cannot be empty} ++ [SchemeInfoNorm] = { col_gray3, col_gray1, "#000000" }, // infobar middle unselected {text,background,not used but cannot be empty} + }; + + /* tagging */ +diff --git a/dwm.c b/dwm.c +index 4465af1..0d1d2f7 100644 +--- a/dwm.c ++++ b/dwm.c +@@ -59,7 +59,7 @@ + + /* enums */ + enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */ +-enum { SchemeNorm, SchemeSel }; /* color schemes */ ++enum { SchemeNorm, SchemeSel, SchemeStatus, SchemeTagsSel, SchemeTagsNorm, SchemeInfoSel, SchemeInfoNorm }; /* color schemes */ + enum { NetSupported, NetWMName, NetWMState, NetWMCheck, + NetWMFullscreen, NetActiveWindow, NetWMWindowType, + NetWMWindowTypeDialog, NetClientList, NetLast }; /* EWMH atoms */ +@@ -703,7 +703,7 @@ drawbar(Monitor *m) + + /* draw status first so it can be overdrawn by tags later */ + if (m == selmon) { /* status is only drawn on selected monitor */ +- drw_setscheme(drw, scheme[SchemeNorm]); ++ drw_setscheme(drw, scheme[SchemeStatus]); + sw = TEXTW(stext) - lrpad + 2; /* 2px right padding */ + drw_text(drw, m->ww - sw, 0, sw, bh, 0, stext, 0); + } +@@ -716,7 +716,7 @@ drawbar(Monitor *m) + x = 0; + for (i = 0; i < LENGTH(tags); i++) { + w = TEXTW(tags[i]); +- drw_setscheme(drw, scheme[m->tagset[m->seltags] & 1 << i ? SchemeSel : SchemeNorm]); ++ drw_setscheme(drw, scheme[m->tagset[m->seltags] & 1 << i ? SchemeTagsSel : SchemeTagsNorm]); + drw_text(drw, x, 0, w, bh, lrpad / 2, tags[i], urg & 1 << i); + if (occ & 1 << i) + drw_rect(drw, x + boxs, boxs, boxw, boxw, +@@ -725,17 +725,17 @@ drawbar(Monitor *m) + x += w; + } + w = blw = TEXTW(m->ltsymbol); +- drw_setscheme(drw, scheme[SchemeNorm]); ++ drw_setscheme(drw, scheme[SchemeTagsNorm]); + x = drw_text(drw, x, 0, w, bh, lrpad / 2, m->ltsymbol, 0); + + if ((w = m->ww - sw - x) > bh) { + if (m->sel) { +- drw_setscheme(drw, scheme[m == selmon ? SchemeSel : SchemeNorm]); ++ drw_setscheme(drw, scheme[m == selmon ? SchemeInfoSel : SchemeInfoNorm]); + drw_text(drw, x, 0, w, bh, lrpad / 2, m->sel->name, 0); + if (m->sel->isfloating) + drw_rect(drw, x + boxs, boxs, boxw, boxw, m->sel->isfixed, 0); + } else { +- drw_setscheme(drw, scheme[SchemeNorm]); ++ drw_setscheme(drw, scheme[SchemeInfoNorm]); + drw_rect(drw, x, 0, w, bh, 1, 1); + } + } diff --git a/home/scripts/.local/scripts/status/statusbar b/home/scripts/.local/scripts/status/statusbar index f729e6c..34e58ee 100755 --- a/home/scripts/.local/scripts/status/statusbar +++ b/home/scripts/.local/scripts/status/statusbar @@ -68,5 +68,5 @@ layout () echo  $(xkblayout-state print %s) } -echo "---------{$(wifi)}--{$(battery)}--{$(volume)}--{$(layout)}--{$(diskspace)}---------" +echo " [$(wifi)] [$(battery)] [$(volume)] [$(layout)] [$(diskspace)] "