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