sites

public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log | Files | Refs

commit 268e461b231115a42ce16e60ac7b48e7b6386b80
parent ac9fc8a2a750364a9e1f57057adada172779bf8b
Author: faradayawerty <faradayawerty@gmail.com>
Date:   Sun, 21 Dec 2025 17:48:00 +0300

[dwm][patches][flycolors] final few fixes

Diffstat:
Adwm.suckless.org/patches/flycolors/dwm-flycolors-6.6-alpha.diff | 137+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ddwm.suckless.org/patches/flycolors/dwm-flycolors-6.6-alphapatch.diff | 138-------------------------------------------------------------------------------
Mdwm.suckless.org/patches/flycolors/dwm-flycolors-6.6.diff | 21++++++++++-----------
Mdwm.suckless.org/patches/flycolors/index.md | 6+-----
4 files changed, 148 insertions(+), 154 deletions(-)

diff --git a/dwm.suckless.org/patches/flycolors/dwm-flycolors-6.6-alpha.diff b/dwm.suckless.org/patches/flycolors/dwm-flycolors-6.6-alpha.diff @@ -0,0 +1,137 @@ +diff -up dwm-6.6-alpha/config.def.h dwm-6.6-flycolors-alpha/config.def.h +--- dwm-6.6-alpha/config.def.h 2025-12-21 17:07:31.747211857 +0300 ++++ dwm-6.6-flycolors-alpha/config.def.h 2025-12-21 17:08:31.403879729 +0300 +@@ -13,11 +13,23 @@ static const char col_gray1[] = "# + static const char col_gray2[] = "#444444"; + static const char col_gray3[] = "#bbbbbb"; + static const char col_gray4[] = "#eeeeee"; +-static const char col_cyan[] = "#005577"; +-static const char *colors[][3] = { ++static const char default_flycolor[] = "#666666"; ++ ++static const char *flycolors[] = { ++ "#666666", // gray ++ "#005577", // blue ++ "#117755", // green ++ "#aa7711", // yellow ++ "#771111", // red ++ "#551177", // magenta ++ "#aa1177", // pink ++ NULL // used to count the array size ++}; ++ ++static const char *colors[][3] = { + /* fg bg border */ + [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, +- [SchemeSel] = { col_gray4, col_cyan, col_cyan }, ++ [SchemeSel] = { col_gray4, default_flycolor, default_flycolor }, /* [1] and [2] are changed in cycle_flycolors */ + }; + + /* tagging */ +@@ -59,13 +71,24 @@ static const Layout layouts[] = { + + /* commands */ + 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, NULL }; ++static const char *dmenucmd[] = { ++ "dmenu_run", ++ "-m", dmenumon, ++ "-fn", dmenufont, ++ "-nb", col_gray1, ++ "-nf", col_gray3, ++ "-sb", default_flycolor, /* changed as dmenucmd[10] in cycle_flycolors */ ++ "-sf", col_gray4, ++ NULL ++}; + static const char *termcmd[] = { "st", NULL }; + + static const Key keys[] = { + /* modifier key function argument */ + { MODKEY, XK_p, spawn, {.v = dmenucmd } }, + { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, ++ { MODKEY, XK_c, cycle_flycolors, { .i = +1 } }, ++ { MODKEY|ShiftMask, XK_c, cycle_flycolors, { .i = -1 } }, + { MODKEY, XK_b, togglebar, {0} }, + { MODKEY, XK_j, focusstack, {.i = +1 } }, + { MODKEY, XK_k, focusstack, {.i = -1 } }, +@@ -75,7 +98,7 @@ static const Key keys[] = { + { MODKEY, XK_l, setmfact, {.f = +0.05} }, + { MODKEY, XK_Return, zoom, {0} }, + { MODKEY, XK_Tab, view, {0} }, +- { MODKEY|ShiftMask, XK_c, killclient, {0} }, ++ { MODKEY|ShiftMask, XK_x, killclient, {0} }, + { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, + { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, + { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, +diff -up dwm-6.6-alpha/dwm.1 dwm-6.6-flycolors-alpha/dwm.1 +--- dwm-6.6-alpha/dwm.1 2025-12-18 12:11:49.852471883 +0300 ++++ dwm-6.6-flycolors-alpha/dwm.1 2025-12-21 17:08:31.403879729 +0300 +@@ -113,9 +113,15 @@ Decrease master area size. + .B Mod1\-Return + Zooms/cycles focused window to/from master area (tiled layouts only). + .TP +-.B Mod1\-Shift\-c ++.B Mod1\-Shift\-x + Close focused window. + .TP ++.B Mod1\-c ++Cycle flycolors. ++.TP ++.B Mod1\-Shift\-c ++Cycle flycolors back. ++.TP + .B Mod1\-Shift\-space + Toggle focused window between tiled and floating state. + .TP +diff -up dwm-6.6-alpha/dwm.c dwm-6.6-flycolors-alpha/dwm.c +--- dwm-6.6-alpha/dwm.c 2025-12-21 17:07:31.747211857 +0300 ++++ dwm-6.6-flycolors-alpha/dwm.c 2025-12-21 17:09:37.160547712 +0300 +@@ -143,6 +143,8 @@ typedef struct { + } Rule; + + /* function declarations */ ++static void cycle_flycolors(const Arg *arg); ++static void update_scheme(); + static void applyrules(Client *c); + static int applysizehints(Client *c, int *x, int *y, int *w, int *h, int interact); + static void arrange(Monitor *m); +@@ -237,6 +239,7 @@ static void xinitvisual(void); + static void zoom(const Arg *arg); + + /* variables */ ++static unsigned int iflycol = 0; + static const char broken[] = "broken"; + static char stext[256]; + static int screen; +@@ -2187,6 +2190,31 @@ zoom(const Arg *arg) + pop(c); + } + ++void ++update_scheme() ++{ ++ unsigned int alphas[] = {borderalpha, baralpha, OPAQUE}; ++ Client *c = selmon->sel; ++ for (int i = 0; i < LENGTH(colors); i++) ++ scheme[i] = drw_scm_create(drw, colors[i], alphas, 3); ++ focus(c); ++} ++ ++void ++cycle_flycolors(const Arg *arg) ++{ ++ int flycolors_limit = 256; ++ int i; ++ for(i = 0; flycolors[i] != NULL && i < flycolors_limit; i++) ++ ; ++ iflycol += i + arg->i; ++ iflycol %= i; ++ colors[SchemeSel][1] = flycolors[iflycol]; ++ colors[SchemeSel][2] = flycolors[iflycol]; ++ dmenucmd[10] = flycolors[iflycol]; ++ update_scheme(); ++} ++ + int + main(int argc, char *argv[]) + { diff --git a/dwm.suckless.org/patches/flycolors/dwm-flycolors-6.6-alphapatch.diff b/dwm.suckless.org/patches/flycolors/dwm-flycolors-6.6-alphapatch.diff @@ -1,138 +0,0 @@ -diff -up dwm-6.6-orig/config.def.h dwm-6.6-flycolors-alphapatch/config.def.h ---- dwm-6.6-orig/config.def.h 2025-12-18 12:11:49.852471883 +0300 -+++ dwm-6.6-flycolors-alphapatch/config.def.h 2025-12-20 20:44:19.876078740 +0300 -@@ -11,11 +11,23 @@ static const char col_gray1[] = "# - static const char col_gray2[] = "#444444"; - static const char col_gray3[] = "#bbbbbb"; - static const char col_gray4[] = "#eeeeee"; --static const char col_cyan[] = "#005577"; --static const char *colors[][3] = { -+static const char default_flycolor[] = "#666666"; -+ -+static const char *flycolors[] = { -+ "#666666", // gray -+ "#005577", // blue -+ "#117755", // green -+ "#aa7711", // yellow -+ "#771111", // red -+ "#551177", // magenta -+ "#aa1177", // pink -+ NULL // used to count the array size -+}; -+ -+static const char *colors[][3] = { - /* fg bg border */ - [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, -- [SchemeSel] = { col_gray4, col_cyan, col_cyan }, -+ [SchemeSel] = { col_gray4, default_flycolor, default_flycolor }, // [1] and [2] are changed in cycle_flycolors - }; - - /* tagging */ -@@ -57,13 +69,24 @@ static const Layout layouts[] = { - - /* commands */ - 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, NULL }; -+static const char *dmenucmd[] = { -+ "dmenu_run", -+ "-m", dmenumon, -+ "-fn", dmenufont, -+ "-nb", col_gray1, -+ "-nf", col_gray3, -+ "-sb", default_flycolor, // changed as dmenucmd[10] in cycle_flycolors -+ "-sf", col_gray4, -+ NULL -+}; - static const char *termcmd[] = { "st", NULL }; - - static const Key keys[] = { - /* modifier key function argument */ - { MODKEY, XK_p, spawn, {.v = dmenucmd } }, - { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, -+ { MODKEY, XK_c, cycle_flycolors, { .i = +1 } }, -+ { MODKEY|ShiftMask, XK_c, cycle_flycolors, { .i = -1 } }, - { MODKEY, XK_b, togglebar, {0} }, - { MODKEY, XK_j, focusstack, {.i = +1 } }, - { MODKEY, XK_k, focusstack, {.i = -1 } }, -@@ -73,7 +96,7 @@ static const Key keys[] = { - { MODKEY, XK_l, setmfact, {.f = +0.05} }, - { MODKEY, XK_Return, zoom, {0} }, - { MODKEY, XK_Tab, view, {0} }, -- { MODKEY|ShiftMask, XK_c, killclient, {0} }, -+ { MODKEY|ShiftMask, XK_x, killclient, {0} }, - { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, - { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, - { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, -diff -up dwm-6.6-orig/dwm.1 dwm-6.6-flycolors-alphapatch/dwm.1 ---- dwm-6.6-orig/dwm.1 2025-12-18 12:11:49.852471883 +0300 -+++ dwm-6.6-flycolors-alphapatch/dwm.1 2025-12-20 19:41:46.605075672 +0300 -@@ -113,9 +113,15 @@ Decrease master area size. - .B Mod1\-Return - Zooms/cycles focused window to/from master area (tiled layouts only). - .TP --.B Mod1\-Shift\-c -+.B Mod1\-Shift\-x - Close focused window. - .TP -+.B Mod1\-c -+Cycle flycolors. -+.TP -+.B Mod1\-Shift\-c -+Cycle flycolors. -+.TP - .B Mod1\-Shift\-space - Toggle focused window between tiled and floating state. - .TP -diff -up dwm-6.6-orig/dwm.c dwm-6.6-flycolors-alphapatch/dwm.c ---- dwm-6.6-orig/dwm.c 2025-12-18 12:11:49.852471883 +0300 -+++ dwm-6.6-flycolors-alphapatch/dwm.c 2025-12-20 21:00:21.702764717 +0300 -@@ -141,6 +141,8 @@ typedef struct { - } Rule; - - /* function declarations */ -+static void cycle_flycolors(const Arg *arg); -+static void update_scheme(); - static void applyrules(Client *c); - static int applysizehints(Client *c, int *x, int *y, int *w, int *h, int interact); - static void arrange(Monitor *m); -@@ -234,6 +236,7 @@ static int xerrorstart(Display *dpy, XEr - static void zoom(const Arg *arg); - - /* variables */ -+static unsigned int iflycol = 0; - static const char broken[] = "broken"; - static char stext[256]; - static int screen; -@@ -2139,6 +2142,32 @@ zoom(const Arg *arg) - pop(c); - } - -+void -+update_scheme() -+{ -+ Client *c = selmon->sel; -+ unsigned int alphas[] = {borderalpha, baralpha, OPAQUE}; -+ for (int i = 0; i < LENGTH(colors); i++) -+ scheme[i] = drw_scm_create(drw, colors[i], alphas, 3); -+ focus(c); -+ drawbars(); -+} -+ -+void -+cycle_flycolors(const Arg *arg) -+{ -+ int flycolors_limit = 256; -+ int i; -+ for(i = 0; flycolors[i] != NULL && i < flycolors_limit; i++) -+ ; -+ iflycol += i + arg->i; -+ iflycol %= i; -+ colors[SchemeSel][1] = flycolors[iflycol]; -+ colors[SchemeSel][2] = flycolors[iflycol]; -+ update_scheme(); -+ dmenucmd[10] = flycolors[iflycol]; -+} -+ - int - main(int argc, char *argv[]) - { diff --git a/dwm.suckless.org/patches/flycolors/dwm-flycolors-6.6.diff b/dwm.suckless.org/patches/flycolors/dwm-flycolors-6.6.diff @@ -1,6 +1,6 @@ -diff -up dwm-6.6-orig/config.def.h dwm-6.6/config.def.h +diff -up dwm-6.6-orig/config.def.h dwm-6.6-flycolors/config.def.h --- dwm-6.6-orig/config.def.h 2025-12-18 12:11:49.852471883 +0300 -+++ dwm-6.6/config.def.h 2025-12-20 20:44:19.876078740 +0300 ++++ dwm-6.6-flycolors/config.def.h 2025-12-21 13:53:01.026979278 +0300 @@ -11,11 +11,23 @@ static const char col_gray1[] = "# static const char col_gray2[] = "#444444"; static const char col_gray3[] = "#bbbbbb"; @@ -24,7 +24,7 @@ diff -up dwm-6.6-orig/config.def.h dwm-6.6/config.def.h /* fg bg border */ [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, - [SchemeSel] = { col_gray4, col_cyan, col_cyan }, -+ [SchemeSel] = { col_gray4, default_flycolor, default_flycolor }, // [1] and [2] are changed in cycle_flycolors ++ [SchemeSel] = { col_gray4, default_flycolor, default_flycolor }, /* [1] and [2] are changed in cycle_flycolors */ }; /* tagging */ @@ -39,7 +39,7 @@ diff -up dwm-6.6-orig/config.def.h dwm-6.6/config.def.h + "-fn", dmenufont, + "-nb", col_gray1, + "-nf", col_gray3, -+ "-sb", default_flycolor, // changed as dmenucmd[10] in cycle_flycolors ++ "-sb", default_flycolor, /* changed as dmenucmd[10] in cycle_flycolors */ + "-sf", col_gray4, + NULL +}; @@ -63,9 +63,9 @@ diff -up dwm-6.6-orig/config.def.h dwm-6.6/config.def.h { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, { MODKEY, XK_m, setlayout, {.v = &layouts[2]} }, -diff -up dwm-6.6-orig/dwm.1 dwm-6.6/dwm.1 +diff -up dwm-6.6-orig/dwm.1 dwm-6.6-flycolors/dwm.1 --- dwm-6.6-orig/dwm.1 2025-12-18 12:11:49.852471883 +0300 -+++ dwm-6.6/dwm.1 2025-12-20 19:41:46.605075672 +0300 ++++ dwm-6.6-flycolors/dwm.1 2025-12-21 13:53:01.026979278 +0300 @@ -113,9 +113,15 @@ Decrease master area size. .B Mod1\-Return Zooms/cycles focused window to/from master area (tiled layouts only). @@ -78,14 +78,14 @@ diff -up dwm-6.6-orig/dwm.1 dwm-6.6/dwm.1 +Cycle flycolors. +.TP +.B Mod1\-Shift\-c -+Cycle flycolors. ++Cycle flycolors back. +.TP .B Mod1\-Shift\-space Toggle focused window between tiled and floating state. .TP -diff -up dwm-6.6-orig/dwm.c dwm-6.6/dwm.c +diff -up dwm-6.6-orig/dwm.c dwm-6.6-flycolors/dwm.c --- dwm-6.6-orig/dwm.c 2025-12-18 12:11:49.852471883 +0300 -+++ dwm-6.6/dwm.c 2025-12-20 20:44:23.039412131 +0300 ++++ dwm-6.6-flycolors/dwm.c 2025-12-21 16:55:38.250530788 +0300 @@ -141,6 +141,8 @@ typedef struct { } Rule; @@ -103,7 +103,7 @@ diff -up dwm-6.6-orig/dwm.c dwm-6.6/dwm.c static const char broken[] = "broken"; static char stext[256]; static int screen; -@@ -2139,6 +2142,31 @@ zoom(const Arg *arg) +@@ -2139,6 +2142,30 @@ zoom(const Arg *arg) pop(c); } @@ -114,7 +114,6 @@ diff -up dwm-6.6-orig/dwm.c dwm-6.6/dwm.c + for (int i = 0; i < LENGTH(colors); i++) + scheme[i] = drw_scm_create(drw, colors[i], 3); + focus(c); -+ drawbars(); +} + +void diff --git a/dwm.suckless.org/patches/flycolors/index.md b/dwm.suckless.org/patches/flycolors/index.md @@ -8,11 +8,7 @@ The available colors are gray, blue, green, yellow, purple, magenta, and red. Download -------- * [dwm-flycolors-6.6.diff](dwm-flycolors-6.6.diff) - -If you'd like to combine [alpha](../alpha/) and the flycolors patch, -you can apply the following patch on top of dwm-alpha-20250918-74edc27.diff - -* [dwm-flycolors-6.6-alphapatch.diff](dwm-flycolors-6.6-alphapatch.diff) +* [dwm-flycolors-6.6-alpha.diff](dwm-flycolors-6.6-alpha.diff) - for alpha users Authors -------