URI:
       xmenu - dotfiles - dark dots
  HTML git clone https://git.drkhsh.at/dotfiles
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
   DIR commit ce4eaf4d92d18e60c447910da8f861b25f6e1997
   DIR parent 0707087f0cbd5d28607b0637e15969ca29e0868f
  HTML Author: drkhsh <me@drkhsh.at>
       Date:   Thu,  9 Oct 2025 15:25:26 +0200
       
       xmenu
       
       Diffstat:
         D bin/.local/bin/thingmenu-menu.sh    |      28 ----------------------------
         A bin/.local/bin/xmenu.sh             |      18 ++++++++++++++++++
         M dwm/config.h                        |       8 ++++----
         A icons/.local/share/icons/custom/mi… |      35 +++++++++++++++++++++++++++++++
         A icons/.local/share/icons/custom/mi… |      51 +++++++++++++++++++++++++++++++
         A icons/.local/share/icons/custom/mi… |      72 +++++++++++++++++++++++++++++++
         A icons/.local/share/icons/custom/mi… |     210 +++++++++++++++++++++++++++++++
         A icons/.local/share/icons/custom/mi… |      51 +++++++++++++++++++++++++++++++
         A icons/.local/share/icons/custom/mi… |     104 +++++++++++++++++++++++++++++++
         M x11/.Xresources                     |      14 ++++++++++++++
       
       10 files changed, 559 insertions(+), 32 deletions(-)
       ---
   DIR diff --git a/bin/.local/bin/thingmenu-menu.sh b/bin/.local/bin/thingmenu-menu.sh
       @@ -1,28 +0,0 @@
       -#!/bin/sh
       -ARGS="-n -g +400+400"
       -
       -case "$1" in
       -        "fn")
       -                thingmenu $ARGS -- \
       -                        "backlight +10%" "xbacklight -inc 10%"             \
       -                        "backlight -10%" "xbacklight -dec 10%"             \
       -                        "screen off"     "sleep 1; xset dpms force off"    \
       -                        "suspend"        "pm-suspend || systemctl suspend" \
       -                        "<---" "$0"
       -                ;;
       -        "sound")
       -                thingmenu $ARGS -- \
       -                        "volume +10%" "vol up"   \
       -                        "volume -10%" "vol down" \
       -                        "toggle mute" "vol mute" \
       -                        "<---" "$0"
       -                ;;
       -        *)
       -                thingmenu $ARGS --     \
       -                        "plumb" "plumb.sh" \
       -                        "fn"    "$0 fn"    \
       -                        "sound" "$0 sound" \
       -                        "kill"  "xkill"
       -                ;;
       -esac
       -
   DIR diff --git a/bin/.local/bin/xmenu.sh b/bin/.local/bin/xmenu.sh
       @@ -0,0 +1,18 @@
       +#!/bin/sh
       +
       +export ICONPATH=$HOME/.local/share/icons/custom/mini
       +
       +xmenu <<EOF | sh &
       +plumb        plumb.sh
       +term        st
       +dmenu        dmenu_run
       +fm                pcmanfm
       +apps
       +        IMG:mini.gimp.xpm                gimp                gimp
       +        IMG:mini.inkscape.xpm        inkscape        inkscape
       +        IMG:mini.term2.xpm                syncterm        syncterm
       +        IMG:mini.sounds1.xpm        pulsemixer        st -e pulsemixer
       +shutdown        poweroff
       +reboot                reboot
       +xkill                xkill
       +EOF
   DIR diff --git a/dwm/config.h b/dwm/config.h
       @@ -108,7 +108,7 @@ static const MonitorRule monrules[] = {
        /* commands */
        static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
        static const char *dmenucmd[]      = { "runmenu",               NULL };
       -static const char *thingmenucmd[]  = { "thingmenu-menu.sh",     NULL };
       +static const char *xmenucmd[]      = { "xmenu.sh",              NULL };
        static const char *termcmd[]       = { "st",                    NULL };
        static const char *passdmenucmd[]  = { "pass.dmenu",            NULL };
        static const char *ykdmenucmd[]    = { "yubimenu",              NULL };
       @@ -129,7 +129,7 @@ static const char *dunstcmd[]      = { "dunstctl", "close-all", NULL };
        static const Key keys[] = {
                /* modifier                     key                           function        argument */
                { MODKEY,                       XK_p,                         spawn,          {.v = dmenucmd } },
       -        { MODKEY|ShiftMask,             XK_m,                         spawn,          {.v = thingmenucmd } },
       +        { MODKEY|ShiftMask,             XK_m,                         spawn,          {.v = xmenucmd } },
                { MODKEY|ShiftMask,             XK_p,                         spawn,          {.v = passdmenucmd } },
                { MODKEY|ShiftMask,             XK_y,                         spawn,          {.v = ykdmenucmd } },
                { MODKEY|ShiftMask,             XK_Return,                    spawn,          {.v = termcmd } },
       @@ -196,7 +196,7 @@ static const Button buttons[] = {
                { ClkWinTitle,          0,              Button4,        focusstack,        {.i = +1 } },
                { ClkWinTitle,          0,              Button5,        focusstack,        {.i = -1 } },
                { ClkStatusText,        0,              Button2,        spawn,             {.v = termcmd } },
       -        { ClkStatusText,        0,              Button3,        spawn,             {.v = dmenucmd } },
       +        { ClkStatusText,        0,              Button3,        spawn,             {.v = xmenucmd } },
                { ClkClientWin,         MODKEY,         Button1,        movemouse,         {0} },
                { ClkClientWin,         MODKEY,         Button2,        togglefloating,    {0} },
                { ClkClientWin,         MODKEY,         Button3,        resizemouse,       {0} },
       @@ -206,6 +206,6 @@ static const Button buttons[] = {
                { ClkTagBar,            ControlMask,    Button3,        toggletag,         {0} },
                { ClkTagBar,            MODKEY,         Button1,        toggleview,        {0} },
                { ClkTagBar,            MODKEY,         Button3,        toggletag,         {0} },
       -        { ClkRootWin,           0,              Button3,        spawn,             {.v = thingmenucmd } },
       +        { ClkRootWin,           0,              Button3,        spawn,             {.v = xmenucmd } },
        };
        
   DIR diff --git a/icons/.local/share/icons/custom/mini/mini.fileman.xpm b/icons/.local/share/icons/custom/mini/mini.fileman.xpm
       @@ -0,0 +1,35 @@
       +/* XPM */
       +static char *fileman[] = {
       +/* columns rows colors chars-per-pixel */
       +"16 16 13 1 ",
       +"  c black",
       +". c #404000",
       +"X c #606060",
       +"o c #808000",
       +"O c #C0C000",
       +"+ c yellow",
       +"@ c #A0A060",
       +"# c #C0C080",
       +"$ c #FFFF80",
       +"% c #C0C0C0",
       +"& c #E0E0E0",
       +"* c white",
       +"= c None",
       +/* pixels */
       +"================",
       +"==== XXXXXXXo===",
       +"=== ++++++++o===",
       +"===$$$$$$$$@o===",
       +"===@######X@o===",
       +"===@$+XX%+X@o===",
       +"===@$XooX+X@o===",
       +"===@$%$$++X@o===",
       +"===OoXXXXXX@o===",
       +"===+@@@@@@%@o===",
       +"===@*$$$$$X@o===",
       +"===@$X..X+X@o===",
       +"===@$&##$+X@o===",
       +"===@$+++++X@o===",
       +"===%XXXXXX+@====",
       +"================"
       +};
   DIR diff --git a/icons/.local/share/icons/custom/mini/mini.gimp.xpm b/icons/.local/share/icons/custom/mini/mini.gimp.xpm
       @@ -0,0 +1,51 @@
       +/* XPM */
       +static char *gimp[] = {
       +/* columns rows colors chars-per-pixel */
       +"16 16 29 1 ",
       +"  c black",
       +". c #181818",
       +"X c #381818",
       +"o c #202000",
       +"O c #383818",
       +"+ c #2C2C2C",
       +"@ c gray19",
       +"# c #404000",
       +"$ c #4C4C2C",
       +"% c #6C6C2C",
       +"& c gray25",
       +"* c #444444",
       +"= c #585858",
       +"- c #606040",
       +"; c #6C6C6C",
       +": c gray43",
       +"> c #808040",
       +", c #808080",
       +"< c #868686",
       +"1 c #909090",
       +"2 c #A2A2A2",
       +"3 c #AEAEAE",
       +"4 c #B2B2B2",
       +"5 c gray",
       +"6 c #C0C0C0",
       +"7 c gainsboro",
       +"8 c #EEEECE",
       +"9 c white",
       +"0 c None",
       +/* pixels */
       +"0000000000000000",
       +"0000000000000000",
       +"0000000000000000",
       +"0 000000000+0000",
       +"0% 0000000+10000",
       +"0===000004,&0000",
       +"0====>>,3>6 0000",
       +"0==@==,859:<0000",
       +"00=@$$=2@754;@ 0",
       +"000@@#=;21,>=*.0",
       +"000@@O=*=%==,=*0",
       +"0000#O=oXoO$#+00",
       +"00000=;-;*.00000",
       +"0000000000000000",
       +"0000000000000000",
       +"0000000000000000"
       +};
   DIR diff --git a/icons/.local/share/icons/custom/mini/mini.inkscape.xpm b/icons/.local/share/icons/custom/mini/mini.inkscape.xpm
       @@ -0,0 +1,72 @@
       +/* XPM */
       +static char *mini_inkscape[] = {
       +/* columns rows colors chars-per-pixel */
       +"16 16 50 1 ",
       +"  c None",
       +". c black",
       +"X c #010101",
       +"o c #020202",
       +"O c gray1",
       +"+ c gray5",
       +"@ c gray6",
       +"# c gray7",
       +"$ c #131313",
       +"% c #151515",
       +"& c #161616",
       +"* c gray9",
       +"= c gray10",
       +"- c gray11",
       +"; c #1E1E1E",
       +": c #232323",
       +"> c #252525",
       +", c #282828",
       +"< c gray16",
       +"1 c #2A2A2A",
       +"2 c gray17",
       +"3 c #2C2C2C",
       +"4 c #2F2F2F",
       +"5 c #313131",
       +"6 c #323232",
       +"7 c gray20",
       +"8 c #353535",
       +"9 c gray21",
       +"0 c gray25",
       +"q c #414141",
       +"w c #434343",
       +"e c #484848",
       +"r c gray29",
       +"t c #555555",
       +"y c #5B5B5B",
       +"u c #5D5D5D",
       +"i c #7B7B7B",
       +"p c #818181",
       +"a c #8B8B8B",
       +"s c gray55",
       +"d c #979797",
       +"f c #9A9A9A",
       +"g c gray64",
       +"h c #AFAFAF",
       +"j c gray69",
       +"k c #B9B9B9",
       +"l c gray",
       +"z c #E2E2E2",
       +"x c #FBFBFB",
       +"c c gray99",
       +/* pixels */
       +"                ",
       +"                ",
       +"       y        ",
       +"      jch       ",
       +"     gxzlp      ",
       +"    dcfkatq     ",
       +"   9si>1@;19    ",
       +"  4ue5...@=19   ",
       +" ;ue5@....@=19  ",
       +"  #%#......@=>  ",
       +"    ........    ",
       +"   #%%%%%%%     ",
       +"     :44441 ;;  ",
       +"    15qqq1      ",
       +"      5te       ",
       +"       11       "
       +};
   DIR diff --git a/icons/.local/share/icons/custom/mini/mini.kill.xpm b/icons/.local/share/icons/custom/mini/mini.kill.xpm
       @@ -0,0 +1,210 @@
       +/* XPM */
       +static char *mini_kill[] = {
       +/* columns rows colors chars-per-pixel */
       +"14 14 190 2 ",
       +"   c #05160B",
       +".  c #04160D",
       +"X  c #06160E",
       +"o  c #011E0B",
       +"O  c #03180C",
       +"+  c #03190D",
       +"@  c #031A0E",
       +"#  c #071A0F",
       +"$  c #031D0C",
       +"%  c #001E0C",
       +"&  c #08180D",
       +"*  c #08190F",
       +"=  c #061A11",
       +"-  c #01200C",
       +";  c #00210C",
       +":  c #01210C",
       +">  c #02200C",
       +",  c #00220D",
       +"<  c #00230D",
       +"1  c #01200E",
       +"2  c #00250D",
       +"3  c #00260D",
       +"4  c #00240E",
       +"5  c #01240E",
       +"6  c #03240F",
       +"7  c #03250F",
       +"8  c #01270E",
       +"9  c #002B0D",
       +"0  c #012A0F",
       +"q  c #002D0E",
       +"w  c #002D0F",
       +"e  c #002E0E",
       +"r  c #00330C",
       +"t  c #04340C",
       +"y  c #013C0B",
       +"u  c #00390F",
       +"i  c #012310",
       +"p  c #062311",
       +"a  c #032410",
       +"s  c #022710",
       +"d  c #062612",
       +"f  c #022810",
       +"g  c #022910",
       +"h  c #022A10",
       +"j  c #032A10",
       +"k  c #032B10",
       +"l  c #022A11",
       +"z  c #032A11",
       +"x  c #022B13",
       +"c  c #052812",
       +"v  c #022C10",
       +"b  c #022C11",
       +"n  c #042F13",
       +"m  c #022B15",
       +"M  c #072815",
       +"N  c #072A14",
       +"B  c #072B15",
       +"V  c #052D15",
       +"C  c #042F15",
       +"Z  c #082E15",
       +"A  c #0C2F19",
       +"S  c #0F2C1A",
       +"D  c #013310",
       +"F  c #003113",
       +"G  c #033113",
       +"H  c #073010",
       +"J  c #043313",
       +"K  c #003412",
       +"L  c #053513",
       +"P  c #023114",
       +"I  c #013315",
       +"U  c #023214",
       +"Y  c #033215",
       +"T  c #063014",
       +"R  c #053214",
       +"E  c #053215",
       +"W  c #043315",
       +"Q  c #043117",
       +"!  c #073016",
       +"~  c #033615",
       +"^  c #023717",
       +"/  c #043516",
       +"(  c #043616",
       +")  c #093017",
       +"_  c #093117",
       +"`  c #083217",
       +"'  c #0B3617",
       +"]  c #033915",
       +"[  c #033917",
       +"{  c #013A17",
       +"}  c #033A17",
       +"|  c #053915",
       +" . c #043A16",
       +".. c #0B3118",
       +"X. c #0F301B",
       +"o. c #083718",
       +"O. c #08341A",
       +"+. c #0C3519",
       +"@. c #0D341E",
       +"#. c #023918",
       +"$. c #033A19",
       +"%. c #063918",
       +"&. c #043A18",
       +"*. c #023E19",
       +"=. c #053E1A",
       +"-. c #093919",
       +";. c #093B1A",
       +":. c #0D381D",
       +">. c #0A3D1D",
       +",. c #153C21",
       +"<. c #004709",
       +"1. c #00440A",
       +"2. c #02470A",
       +"3. c #00400F",
       +"4. c #00480B",
       +"5. c #004F08",
       +"6. c #005C0A",
       +"7. c #015E0D",
       +"8. c #054312",
       +"9. c #084215",
       +"0. c #084315",
       +"q. c #064914",
       +"w. c #07411D",
       +"e. c #0C431E",
       +"r. c #0B451E",
       +"t. c #14441F",
       +"y. c #00600D",
       +"u. c #00640C",
       +"i. c #026110",
       +"p. c #006411",
       +"a. c #056116",
       +"s. c #026617",
       +"d. c #0D4522",
       +"f. c #0C4622",
       +"g. c #0F4622",
       +"h. c #0F4724",
       +"j. c #044E21",
       +"k. c #0B4B21",
       +"l. c #0A4A23",
       +"z. c #114320",
       +"x. c #124421",
       +"c. c #104720",
       +"v. c #124620",
       +"b. c #154422",
       +"n. c #184423",
       +"m. c #114D23",
       +"M. c #124B24",
       +"N. c #124B25",
       +"B. c #104D24",
       +"V. c #134D25",
       +"C. c #124C26",
       +"Z. c #114F26",
       +"A. c #164F27",
       +"S. c #194924",
       +"D. c #1E4C27",
       +"F. c #174D29",
       +"G. c #1C4B2B",
       +"H. c #184C28",
       +"J. c #1C4D28",
       +"K. c #1D4D2A",
       +"L. c #1D4D2C",
       +"P. c #125126",
       +"I. c #1A502B",
       +"U. c #204928",
       +"Y. c #204D2D",
       +"T. c #22512D",
       +"R. c #00861B",
       +"E. c #008A1C",
       +"W. c #029322",
       +"Q. c #029628",
       +"!. c #029A29",
       +"~. c #28CF5B",
       +"^. c #1FEE61",
       +"/. c #0EF061",
       +"(. c #0DF362",
       +"). c #07F868",
       +"_. c #11F261",
       +"`. c #13F364",
       +"'. c #8F928F",
       +"]. c #8F9796",
       +"[. c #99B2A3",
       +"{. c #AFB3AF",
       +"}. c #C6CDC8",
       +"|. c #C4D2C5",
       +" X c #D8E8DC",
       +".X c #DFEEE3",
       +"XX c #FEFEFD",
       +"oX c #FFFDFE",
       +"OX c #FDFFFF",
       +"+X c #FEFEFE",
       +/* pixels */
       +"+X XD.G.L.Y.J.T.I.U.S.K.|.oX",
       +".XV.t.v.A.H.M.F.P.b.z.x.n.[.",
       +"c.Z.l.C.N.B.d.h.e.k.g.N.m.>.",
       +"L / %.{ | ] } o.( ^ ~ ( [ $.",
       +";. .r.F I 8.#.*.9.-.j.&.D f.",
       +"W 2.4.v e 7.K q.Q.( a.i.G w.",
       +"T 1.5._.x E.r J W.U 3.y.k K ",
       +"` <.).u.w R.P ' !.=.0.p.8 Y ",
       +"0 t y /.6.(.`.q ~.s.E ^.u b ",
       +"z 9 R H i n j B ! m Q M 3 O.",
       +"c h +.Z - V f N C l _ s 1 @.",
       +"7 ; 4 % > < , a 2 < g : $ 5 ",
       +"}.p :.X.o A 6 S ..) ,.d = ].",
       +"OX{.& X . +   + # O @ * '.XX"
       +};
   DIR diff --git a/icons/.local/share/icons/custom/mini/mini.sounds1.xpm b/icons/.local/share/icons/custom/mini/mini.sounds1.xpm
       @@ -0,0 +1,51 @@
       +/* XPM */
       +static char *sounds2[] = {
       +/* columns rows colors chars-per-pixel */
       +"16 16 29 1 ",
       +"  c black",
       +". c #070707",
       +"X c gray10",
       +"o c #252525",
       +"O c gray17",
       +"+ c gray22",
       +"@ c #3E3E3E",
       +"# c gray29",
       +"$ c #505050",
       +"% c #565656",
       +"& c #626262",
       +"* c #686868",
       +"= c gray43",
       +"- c gray48",
       +"; c #474780",
       +": c #6A6A80",
       +"> c #808080",
       +", c #868686",
       +"< c #929292",
       +"1 c #8F8FA5",
       +"2 c #A5A5A5",
       +"3 c #B1B1FF",
       +"4 c gray83",
       +"5 c #D4D4FF",
       +"6 c #E7E7E7",
       +"7 c #EAEAFF",
       +"8 c gray95",
       +"9 c white",
       +"0 c None",
       +/* pixels */
       +"0000000000000000",
       +"0000000000000000",
       +"0000000000000000",
       +"0000000000000000",
       +"005555 000000000",
       +"0555555 00000000",
       +":777777777=67750",
       +":99999999#@99930",
       +":9999999#9+&9930",
       +":999999$:95*#930",
       +":999999 999 4530",
       +":9 Oo52:999:<130",
       +"::$>8#.:959 -130",
       +":5 %,*X:95   930",
       +":95 Oo.999999930",
       +" :::::::::::::;0"
       +};
   DIR diff --git a/icons/.local/share/icons/custom/mini/mini.term2.xpm b/icons/.local/share/icons/custom/mini/mini.term2.xpm
       @@ -0,0 +1,104 @@
       +/* XPM */
       +static char *mini_term2[] = {
       +/* columns rows colors chars-per-pixel */
       +"16 16 82 1 ",
       +"  c black",
       +". c None",
       +"X c #EAEAEA",
       +"o c #E6E6E6",
       +"O c #DADADA",
       +"+ c #C8C8C8",
       +"@ c #C0C0C0",
       +"# c #B4B4B4",
       +"$ c gray69",
       +"% c gray82",
       +"& c #B2B2B2",
       +"* c gray59",
       +"= c gray55",
       +"- c #797979",
       +"; c gray17",
       +": c #191919",
       +"> c gray6",
       +", c gray92",
       +"< c gray88",
       +"1 c #D0D0D0",
       +"2 c gray72",
       +"3 c gray69",
       +"4 c #AFAFAF",
       +"5 c #AAAAAA",
       +"6 c #EEEEEE",
       +"7 c gray32",
       +"8 c #414141",
       +"9 c gray13",
       +"0 c gray5",
       +"q c gray4",
       +"w c #0E0E0E",
       +"e c #0C0C0C",
       +"r c gray8",
       +"t c #3A3A3A",
       +"y c gray40",
       +"u c #778877",
       +"i c #12121C",
       +"p c #13131D",
       +"a c #8EDBAE",
       +"s c #418A61",
       +"d c #181824",
       +"f c #191926",
       +"g c #181825",
       +"h c #171723",
       +"j c #151520",
       +"k c #13131E",
       +"l c #DDCCDD",
       +"z c #887788",
       +"x c #14141E",
       +"c c #517171",
       +"v c #171724",
       +"b c #191927",
       +"n c #1B1B2A",
       +"m c #1B1B29",
       +"M c #141420",
       +"N c #CCDDCC",
       +"B c #14141F",
       +"V c #1D1D2D",
       +"C c #1E1E2D",
       +"Z c #1D1D2C",
       +"A c #161622",
       +"S c #202030",
       +"D c #202031",
       +"F c #1A1A28",
       +"G c #151521",
       +"H c #212132",
       +"J c gray85",
       +"K c gray78",
       +"L c gray75",
       +"P c gray70",
       +"I c #9A9A9A",
       +"U c #606060",
       +"Y c #444444",
       +"T c #332233",
       +"R c #223322",
       +"E c gray20",
       +"W c #112211",
       +"Q c #111122",
       +"! c #111111",
       +"~ c black",
       +"^ c #767676",
       +"/ c white",
       +/* pixels */
       +".,.Xo<O1+@2#34$5",
       +"67890qweqe0qrty5",
       +"6uipasdffghjkil5",
       +"6zpxcvbanmfhMkN5",
       +"6uBjhfnVCZmgAjl5",
       +"6ujAdaZSDSZFdAl5",
       +"6zGAgmCDHDCmgAN5",
       +"6zjAdFZSDSZFdAN5",
       +"6uBjacnVCZmgAjl5",
       +"6zpxGvbmnmfhMkN5",
       +"6uipBAdffghjkil5",
       +"6.,Xo<J%KL2P&$45",
       +"6,.Xo<O1+@2#34$5",
       +"  II*=-UY;:>qq  ",
       +"    TREWQ!!~    ",
       +" ^555555555555R "
       +};
   DIR diff --git a/x11/.Xresources b/x11/.Xresources
       @@ -67,3 +67,17 @@ xosview*background: #000000
        dclock*background: black
        dclock*foreground: turquoise
        dclock*led_off:    #222222
       +
       +! ==== xmenu =====
       +XMenu.faceName:                 Terminus
       +XMenu.faceSize:                 10
       +XMenu.background:               #000000
       +XMenu.foreground:               #aaaaaa
       +XMenu.activeBackground:         #333333
       +XMenu.activeForeground:         #ffffff
       +XMenu.separatorColor:           #111111
       +XMenu.borderColor:              #222222
       +XMenu.borderWidth:              3
       +XMenu.alignment:                right
       +XMenu.tearOff:                  Off
       +XMenu.opacity:                  0.9