usr

Modulate your userpace into POSIX-compliant shell scripts!
git clone git://clone.theohenson.com/usr.git
Log | Files | Refs | README

commit 8bf82456ecac84e30f04c129a70c4c2fbe00a5ed
parent 6ee7fe3646296d9e87dd8146924400c5e3d9e6c5
Author: Theo Henson <[email protected]>
Date:   Sat, 14 Nov 2020 23:24:26 -0500

Migrate to usr

Diffstat:
A.gitignore | 4++++
MREADME.md | 47++++++++++++++++++++++++++++++++++++++++++++++-
AUnlicense | 29+++++++++++++++++++++++++++++
Dhome/.local/bin/opt/LICENSE | 24------------------------
Dhome/.local/bin/opt/README.md | 5-----
Dhome/src/suk/.gitignore | 5-----
Dhome/src/suk/README.md | 52----------------------------------------------------
Dhome/src/suk/bin/dwm | 0
Dhome/src/suk/bin/dwmblocks | 0
Dhome/src/suk/bin/st | 0
Mhome/src/suk/dwm/Makefile | 1-
Mhome/src/suk/dwmblocks/Makefile | 1-
Mhome/src/suk/st/Makefile | 1-
Dhome/src/suk/st/patches/st-scrollback-20200504-28ad288.diff | 351-------------------------------------------------------------------------------
Dhome/src/suk/st/patches/st-scrollback-mouse-20191024-a2c479c.diff | 13-------------
Dhome/src/suk/st/patches/st-w3m-0.8.3.diff | 42------------------------------------------
Rhome/src/suk/screenshot.png -> scrot.png | 0
17 files changed, 79 insertions(+), 496 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -0,0 +1,4 @@ +*.o +home/src/suk/st/st +home/src/suk/dwm/dwm +home/src/suk/dwmblocks/dwmblocks diff --git a/README.md b/README.md @@ -1,3 +1,48 @@ # usr -userspace +My dotfiles + more, and some tools to manage them. + +## .local/bin/opt + +Some scripts I've made, which are all licensed under the Unlicense. + +## src/suk + +[Suckless software](https://suckless.org/) forks. + +Licenses are in their respective directories. + +### st + +Upstream: [git.suckless.org/st](https://git.suckless.org/st/) + +From version 0.8.2, my `st` has: +* w3m patch +* scrollback patch +* scrollback-mouse patch +* My own colors, font, and other configurations + +## dwm + +Upstream: [git.suckless.org/dwm](https://git.suckless.org/dwm/) + +From version 6.2, my `dwm` has: + +* warp patch +* cfacts patch +* pertag patch (I added `resizehints` into the `Pertag` struct as well) +* tilegap patch (I made the `gappx` changeable at runtime and added it to `Pertag`) +* noborder patch +* movestack patch +* Custom settings in `config.h` +* My own additions I programmed in (`togglelayout` and `focusmaster` functions, changing how the bar looks, etc.) + +## dwmblocks + +Not from suckless but integrates with `dwm`. + +Upstream: [github.com/torrinfail/dwmblocks](https://github.com/torrinfail/dwmblocks/) + +I've added my own blocks in `blocks.h` which use some scripts I made. + +![Screen shot of my desktop](https://raw.githubusercontent.com/tteeoo/usr/master/scrot.png) diff --git a/Unlicense b/Unlicense @@ -0,0 +1,29 @@ +Some (not all, see README.md for clarification) of the content in this +repository is licensed under the Unlicense, shown below. + +======================================================================= + +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to <http://unlicense.org/> diff --git a/home/.local/bin/opt/LICENSE b/home/.local/bin/opt/LICENSE @@ -1,24 +0,0 @@ -This is free and unencumbered software released into the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. - -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -For more information, please refer to <http://unlicense.org/> diff --git a/home/.local/bin/opt/README.md b/home/.local/bin/opt/README.md @@ -1,5 +0,0 @@ -# scripts - -A collection of scripts I use on my system. - -Scripts suffixed with `_bar` are used to generate output for my window manager's bar. diff --git a/home/src/suk/.gitignore b/home/src/suk/.gitignore @@ -1,5 +0,0 @@ -*.o -st/st -dwm/dwm -slock/slock -dwmblocks/dwmblocks diff --git a/home/src/suk/README.md b/home/src/suk/README.md @@ -1,52 +0,0 @@ -# Suckless -This repository is mainly for my own convenience, although it may also serve as inspiration or a starting off point for your own suckless forks. - -Suckless software is "software that sucks less": [suckless.org](https://suckless.org/) - -Suckless software is made to be a simple as possible while still doing its job well, fitting with the UNIX philosophy. - -This is achieved by having configuration built into the program, and keeping the code clean and concise (among other things). - -Suckless software is highly extensible through user submitted patches on their website. - -# My builds -This repository contain my forks of various suckless programs with my own changes, configurations, and applied patches. - -While `dwmblocks` isn't an official suckless program, it follows the suckless philosophy and integrates with `dwm`. - -## st -Upstream at: [git.suckless.org/st](https://git.suckless.org/st/) - -Forked from version 0.8.2, my `st` build has: -* w3m patch -* scrollback patch -* scrollback-mouse patch -* My own colors, font, and other configurations - -## dwm -Upstream at: [git.suckless.org/dwm](https://git.suckless.org/dwm/) - -Forked from version 6.2, my `dwm` build has: -* warp patch -* cfacts patch -* pertag patch (I added resizehints into the Pertag struct as well) -* tilegap patch -* noborder patch -* movestack patch -* My own colors, keybinds, and other configurations -* My own additions I programmed in (`togglelayout` and `focusmaster` functions, changing how the bar looks) - -## dwmblocks -Upstream at: [github.com/torrinfail/dwmblocks](https://github.com/torrinfail/dwmblocks/) - -I've added my own blocks for: -* volume -* cpu temp and usage -* date and time - -See the scripts for these blocks at [tteeoo/scripts](https://github.com/tteeoo/scripts). - -<hr> - -A screenshot featuring `dwm`, `st`, and `dwmblocks`: -![Screenshot](https://raw.githubusercontent.com/tteeoo/suckless/master/screenshot.png) diff --git a/home/src/suk/bin/dwm b/home/src/suk/bin/dwm Binary files differ. diff --git a/home/src/suk/bin/dwmblocks b/home/src/suk/bin/dwmblocks Binary files differ. diff --git a/home/src/suk/bin/st b/home/src/suk/bin/st Binary files differ. diff --git a/home/src/suk/dwm/Makefile b/home/src/suk/dwm/Makefile @@ -37,7 +37,6 @@ dist: clean rm -rf dwm-${VERSION} install: all - cp dwm ../bin mkdir -p ${DESTDIR}${PREFIX}/bin cp -f dwm ${DESTDIR}${PREFIX}/bin chmod 755 ${DESTDIR}${PREFIX}/bin/dwm diff --git a/home/src/suk/dwmblocks/Makefile b/home/src/suk/dwmblocks/Makefile @@ -5,7 +5,6 @@ output: dwmblocks.c blocks.h clean: rm -f *.o *.gch dwmblocks install: output - cp dwmblocks ../bin mkdir -p $(DESTDIR)$(PREFIX)/bin cp -f dwmblocks $(DESTDIR)$(PREFIX)/bin chmod 755 $(DESTDIR)$(PREFIX)/bin/dwmblocks diff --git a/home/src/suk/st/Makefile b/home/src/suk/st/Makefile @@ -41,7 +41,6 @@ dist: clean rm -rf st-$(VERSION) install: st - cp st ../bin mkdir -p $(DESTDIR)$(PREFIX)/bin cp -f st $(DESTDIR)$(PREFIX)/bin chmod 755 $(DESTDIR)$(PREFIX)/bin/st diff --git a/home/src/suk/st/patches/st-scrollback-20200504-28ad288.diff b/home/src/suk/st/patches/st-scrollback-20200504-28ad288.diff @@ -1,351 +0,0 @@ -diff --git a/config.def.h b/config.def.h -index 546edda..ec1b576 100644 ---- a/config.def.h -+++ b/config.def.h [email protected]@ -186,6 +186,8 @@ static Shortcut shortcuts[] = { - { TERMMOD, XK_Y, selpaste, {.i = 0} }, - { ShiftMask, XK_Insert, selpaste, {.i = 0} }, - { TERMMOD, XK_Num_Lock, numlock, {.i = 0} }, -+ { ShiftMask, XK_Page_Up, kscrollup, {.i = -1} }, -+ { ShiftMask, XK_Page_Down, kscrolldown, {.i = -1} }, - }; - - /* -diff --git a/st.c b/st.c -index 3e48410..f8b6f67 100644 ---- a/st.c -+++ b/st.c [email protected]@ -35,6 +35,7 @@ - #define ESC_ARG_SIZ 16 - #define STR_BUF_SIZ ESC_BUF_SIZ - #define STR_ARG_SIZ ESC_ARG_SIZ -+#define HISTSIZE 2000 - - /* macros */ - #define IS_SET(flag) ((term.mode & (flag)) != 0) [email protected]@ -42,6 +43,9 @@ - #define ISCONTROLC1(c) (BETWEEN(c, 0x80, 0x9f)) - #define ISCONTROL(c) (ISCONTROLC0(c) || ISCONTROLC1(c)) - #define ISDELIM(u) (u && wcschr(worddelimiters, u)) -+#define TLINE(y) ((y) < term.scr ? term.hist[((y) + term.histi - \ -+ term.scr + HISTSIZE + 1) % HISTSIZE] : \ -+ term.line[(y) - term.scr]) - - enum term_mode { - MODE_WRAP = 1 << 0, [email protected]@ -117,6 +121,9 @@ typedef struct { - int col; /* nb col */ - Line *line; /* screen */ - Line *alt; /* alternate screen */ -+ Line hist[HISTSIZE]; /* history buffer */ -+ int histi; /* history index */ -+ int scr; /* scroll back */ - int *dirty; /* dirtyness of lines */ - TCursor c; /* cursor */ - int ocx; /* old cursor col */ [email protected]@ -185,8 +192,8 @@ static void tnewline(int); - static void tputtab(int); - static void tputc(Rune); - static void treset(void); --static void tscrollup(int, int); --static void tscrolldown(int, int); -+static void tscrollup(int, int, int); -+static void tscrolldown(int, int, int); - static void tsetattr(int *, int); - static void tsetchar(Rune, Glyph *, int, int); - static void tsetdirt(int, int); [email protected]@ -414,10 +421,10 @@ tlinelen(int y) - { - int i = term.col; - -- if (term.line[y][i - 1].mode & ATTR_WRAP) -+ if (TLINE(y)[i - 1].mode & ATTR_WRAP) - return i; - -- while (i > 0 && term.line[y][i - 1].u == ' ') -+ while (i > 0 && TLINE(y)[i - 1].u == ' ') - --i; - - return i; [email protected]@ -526,7 +533,7 @@ selsnap(int *x, int *y, int direction) - * Snap around if the word wraps around at the end or - * beginning of a line. - */ -- prevgp = &term.line[*y][*x]; -+ prevgp = &TLINE(*y)[*x]; - prevdelim = ISDELIM(prevgp->u); - for (;;) { - newx = *x + direction; [email protected]@ -541,14 +548,14 @@ selsnap(int *x, int *y, int direction) - yt = *y, xt = *x; - else - yt = newy, xt = newx; -- if (!(term.line[yt][xt].mode & ATTR_WRAP)) -+ if (!(TLINE(yt)[xt].mode & ATTR_WRAP)) - break; - } - - if (newx >= tlinelen(newy)) - break; - -- gp = &term.line[newy][newx]; -+ gp = &TLINE(newy)[newx]; - delim = ISDELIM(gp->u); - if (!(gp->mode & ATTR_WDUMMY) && (delim != prevdelim - || (delim && gp->u != prevgp->u))) [email protected]@ -569,14 +576,14 @@ selsnap(int *x, int *y, int direction) - *x = (direction < 0) ? 0 : term.col - 1; - if (direction < 0) { - for (; *y > 0; *y += direction) { -- if (!(term.line[*y-1][term.col-1].mode -+ if (!(TLINE(*y-1)[term.col-1].mode - & ATTR_WRAP)) { - break; - } - } - } else if (direction > 0) { - for (; *y < term.row-1; *y += direction) { -- if (!(term.line[*y][term.col-1].mode -+ if (!(TLINE(*y)[term.col-1].mode - & ATTR_WRAP)) { - break; - } [email protected]@ -607,13 +614,13 @@ getsel(void) - } - - if (sel.type == SEL_RECTANGULAR) { -- gp = &term.line[y][sel.nb.x]; -+ gp = &TLINE(y)[sel.nb.x]; - lastx = sel.ne.x; - } else { -- gp = &term.line[y][sel.nb.y == y ? sel.nb.x : 0]; -+ gp = &TLINE(y)[sel.nb.y == y ? sel.nb.x : 0]; - lastx = (sel.ne.y == y) ? sel.ne.x : term.col-1; - } -- last = &term.line[y][MIN(lastx, linelen-1)]; -+ last = &TLINE(y)[MIN(lastx, linelen-1)]; - while (last >= gp && last->u == ' ') - --last; - [email protected]@ -836,6 +843,9 @@ void - ttywrite(const char *s, size_t n, int may_echo) - { - const char *next; -+ Arg arg = (Arg) { .i = term.scr }; -+ -+ kscrolldown(&arg); - - if (may_echo && IS_SET(MODE_ECHO)) - twrite(s, n, 1); [email protected]@ -1047,13 +1057,53 @@ tswapscreen(void) - } - - void --tscrolldown(int orig, int n) -+kscrolldown(const Arg* a) -+{ -+ int n = a->i; -+ -+ if (n < 0) -+ n = term.row + n; -+ -+ if (n > term.scr) -+ n = term.scr; -+ -+ if (term.scr > 0) { -+ term.scr -= n; -+ selscroll(0, -n); -+ tfulldirt(); -+ } -+} -+ -+void -+kscrollup(const Arg* a) -+{ -+ int n = a->i; -+ -+ if (n < 0) -+ n = term.row + n; -+ -+ if (term.scr <= HISTSIZE-n) { -+ term.scr += n; -+ selscroll(0, n); -+ tfulldirt(); -+ } -+} -+ -+void -+tscrolldown(int orig, int n, int copyhist) - { - int i; - Line temp; - - LIMIT(n, 0, term.bot-orig+1); - -+ if (copyhist) { -+ term.histi = (term.histi - 1 + HISTSIZE) % HISTSIZE; -+ temp = term.hist[term.histi]; -+ term.hist[term.histi] = term.line[term.bot]; -+ term.line[term.bot] = temp; -+ } -+ - tsetdirt(orig, term.bot-n); - tclearregion(0, term.bot-n+1, term.col-1, term.bot); - [email protected]@ -1063,17 +1113,28 @@ tscrolldown(int orig, int n) - term.line[i-n] = temp; - } - -- selscroll(orig, n); -+ if (term.scr == 0) -+ selscroll(orig, n); - } - - void --tscrollup(int orig, int n) -+tscrollup(int orig, int n, int copyhist) - { - int i; - Line temp; - - LIMIT(n, 0, term.bot-orig+1); - -+ if (copyhist) { -+ term.histi = (term.histi + 1) % HISTSIZE; -+ temp = term.hist[term.histi]; -+ term.hist[term.histi] = term.line[orig]; -+ term.line[orig] = temp; -+ } -+ -+ if (term.scr > 0 && term.scr < HISTSIZE) -+ term.scr = MIN(term.scr + n, HISTSIZE-1); -+ - tclearregion(0, orig, term.col-1, orig+n-1); - tsetdirt(orig+n, term.bot); - [email protected]@ -1083,7 +1144,8 @@ tscrollup(int orig, int n) - term.line[i+n] = temp; - } - -- selscroll(orig, -n); -+ if (term.scr == 0) -+ selscroll(orig, -n); - } - - void [email protected]@ -1122,7 +1184,7 @@ tnewline(int first_col) - int y = term.c.y; - - if (y == term.bot) { -- tscrollup(term.top, 1); -+ tscrollup(term.top, 1, 1); - } else { - y++; - } [email protected]@ -1287,14 +1349,14 @@ void - tinsertblankline(int n) - { - if (BETWEEN(term.c.y, term.top, term.bot)) -- tscrolldown(term.c.y, n); -+ tscrolldown(term.c.y, n, 0); - } - - void - tdeleteline(int n) - { - if (BETWEEN(term.c.y, term.top, term.bot)) -- tscrollup(term.c.y, n); -+ tscrollup(term.c.y, n, 0); - } - - int32_t [email protected]@ -1725,11 +1787,11 @@ csihandle(void) - break; - case 'S': /* SU -- Scroll <n> line up */ - DEFAULT(csiescseq.arg[0], 1); -- tscrollup(term.top, csiescseq.arg[0]); -+ tscrollup(term.top, csiescseq.arg[0], 0); - break; - case 'T': /* SD -- Scroll <n> line down */ - DEFAULT(csiescseq.arg[0], 1); -- tscrolldown(term.top, csiescseq.arg[0]); -+ tscrolldown(term.top, csiescseq.arg[0], 0); - break; - case 'L': /* IL -- Insert <n> blank lines */ - DEFAULT(csiescseq.arg[0], 1); [email protected]@ -2235,7 +2297,7 @@ eschandle(uchar ascii) - return 0; - case 'D': /* IND -- Linefeed */ - if (term.c.y == term.bot) { -- tscrollup(term.top, 1); -+ tscrollup(term.top, 1, 1); - } else { - tmoveto(term.c.x, term.c.y+1); - } [email protected]@ -2248,7 +2310,7 @@ eschandle(uchar ascii) - break; - case 'M': /* RI -- Reverse index */ - if (term.c.y == term.top) { -- tscrolldown(term.top, 1); -+ tscrolldown(term.top, 1, 1); - } else { - tmoveto(term.c.x, term.c.y-1); - } [email protected]@ -2469,7 +2531,7 @@ twrite(const char *buf, int buflen, int show_ctrl) - void - tresize(int col, int row) - { -- int i; -+ int i, j; - int minrow = MIN(row, term.row); - int mincol = MIN(col, term.col); - int *bp; [email protected]@ -2506,6 +2568,14 @@ tresize(int col, int row) - term.dirty = xrealloc(term.dirty, row * sizeof(*term.dirty)); - term.tabs = xrealloc(term.tabs, col * sizeof(*term.tabs)); - -+ for (i = 0; i < HISTSIZE; i++) { -+ term.hist[i] = xrealloc(term.hist[i], col * sizeof(Glyph)); -+ for (j = mincol; j < col; j++) { -+ term.hist[i][j] = term.c.attr; -+ term.hist[i][j].u = ' '; -+ } -+ } -+ - /* resize each row to new width, zero-pad if needed */ - for (i = 0; i < minrow; i++) { - term.line[i] = xrealloc(term.line[i], col * sizeof(Glyph)); [email protected]@ -2563,7 +2633,7 @@ drawregion(int x1, int y1, int x2, int y2) - continue; - - term.dirty[y] = 0; -- xdrawline(term.line[y], x1, y, x2); -+ xdrawline(TLINE(y), x1, y, x2); - } - } - [email protected]@ -2584,8 +2654,9 @@ draw(void) - cx--; - - drawregion(0, 0, term.col, term.row); -- xdrawcursor(cx, term.c.y, term.line[term.c.y][cx], -- term.ocx, term.ocy, term.line[term.ocy][term.ocx]); -+ if (term.scr == 0) -+ xdrawcursor(cx, term.c.y, term.line[term.c.y][cx], -+ term.ocx, term.ocy, term.line[term.ocy][term.ocx]); - term.ocx = cx, term.ocy = term.c.y; - xfinishdraw(); - xximspot(term.ocx, term.ocy); -diff --git a/st.h b/st.h -index a1928ca..1332cf1 100644 ---- a/st.h -+++ b/st.h [email protected]@ -81,6 +81,8 @@ void die(const char *, ...); - void redraw(void); - void draw(void); - -+void kscrolldown(const Arg *); -+void kscrollup(const Arg *); - void printscreen(const Arg *); - void printsel(const Arg *); - void sendbreak(const Arg *); diff --git a/home/src/suk/st/patches/st-scrollback-mouse-20191024-a2c479c.diff b/home/src/suk/st/patches/st-scrollback-mouse-20191024-a2c479c.diff @@ -1,13 +0,0 @@ -diff --git a/config.def.h b/config.def.h -index ec1b576..4b3bf15 100644 ---- a/config.def.h -+++ b/config.def.h [email protected]@ -163,6 +163,8 @@ static uint forcemousemod = ShiftMask; - */ - static MouseShortcut mshortcuts[] = { - /* mask button function argument release */ -+ { ShiftMask, Button4, kscrollup, {.i = 1} }, -+ { ShiftMask, Button5, kscrolldown, {.i = 1} }, - { XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 }, - { XK_ANY_MOD, Button4, ttysend, {.s = "\031"} }, - { XK_ANY_MOD, Button5, ttysend, {.s = "\005"} }, diff --git a/home/src/suk/st/patches/st-w3m-0.8.3.diff b/home/src/suk/st/patches/st-w3m-0.8.3.diff @@ -1,42 +0,0 @@ -From 69cffc587b54b0a9cd81adb87abad8e526d5b25b Mon Sep 17 00:00:00 2001 -From: "Avi Halachmi (:avih)" <[email protected]> -Date: Thu, 4 Jun 2020 17:35:08 +0300 -Subject: [PATCH] support w3m images - -w3m images are a hack which renders on top of the terminal's drawable, -which didn't work in st because when using double buffering, the front -buffer (on which w3m draws its images) is ignored, and st draws only -on the back buffer, which is then copied to the front buffer. - -There's a patch to make it work at the FAQ already, but that patch -canceles double-buffering, which can have negative side effects on -some cases such as flickering. - -This patch achieves the same goal but instead of canceling the double -buffer it first copies the front buffer to the back buffer. - -This has the same issues as the FAQ patch in that the cursor line is -deleted at the image (because st renders always full lines), but -otherwise it's simpler and does keeps double buffering. ---- - x.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/x.c b/x.c -index e5f1737..b6ae162 100644 ---- a/x.c -+++ b/x.c [email protected]@ -1594,6 +1594,8 @@ xsettitle(char *p) - int - xstartdraw(void) - { -+ if (IS_SET(MODE_VISIBLE)) -+ XCopyArea(xw.dpy, xw.win, xw.buf, dc.gc, 0, 0, win.w, win.h, 0, 0); - return IS_SET(MODE_VISIBLE); - } - - -base-commit: 43a395ae91f7d67ce694e65edeaa7bbc720dd027 --- -2.17.1 - diff --git a/home/src/suk/screenshot.png b/scrot.png Binary files differ.