summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZachIR <zachir@librem.one>2025-07-30 04:02:06 -0500
committerZachIR <zachir@librem.one>2025-07-30 04:02:06 -0500
commitec2190e9ae549fc3f8a09a80bd686cc59a068e31 (patch)
tree740feaad1b201d69e69207858f036640f58b403a
parent731a0dbc0581e82abe3df8b92522d6247a4ec58e (diff)
Use dmenu as drop-in
-rwxr-xr-xbarmenu7
-rwxr-xr-xbarmenu_run3
-rwxr-xr-xdmenu37
-rwxr-xr-xdmenu_run3
4 files changed, 40 insertions, 10 deletions
diff --git a/barmenu b/barmenu
deleted file mode 100755
index b110f18..0000000
--- a/barmenu
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-if [ -z "$WAYLAND_DISPLAY" -a -n "$DISPLAY" ]; then
- dmenu -i -nb '#000000' -nf '#198844' -sb '#39c1ed' -sf '#198844' "$@"
-else
- dmenu-wl -nb '#000000' -nf '#198844' -sb '#39c1ed' -sf '#198844' -i $@
-fi
diff --git a/barmenu_run b/barmenu_run
deleted file mode 100755
index 55acffe..0000000
--- a/barmenu_run
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-dmenu_path | barmenu "$@" | ${SHELL:-"/bin/sh"} &
diff --git a/dmenu b/dmenu
new file mode 100755
index 0000000..1a54458
--- /dev/null
+++ b/dmenu
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+TOFI_CONF="$XDG_CONFIG_HOME/tofi/themes/dmenu"
+if [ -n "$WAYLAND_DISPLAY" ]; then
+ if echo "$@" | grep -qE -- '-l [0-9]+'; then
+ declare -a ARGS
+ SKIP="0"
+ for arg in "$@"; do
+ echo "$arg" | grep -qE '^\s*-l\s*' && SKIP=2
+ if [ "$SKIP" -gt 0 ]; then
+ DMENULINES="y"
+ TOFI_CONF="$XDG_CONFIG_HOME/tofi/themes/dmenu_vertical"
+ SKIP="$((SKIP - 1))"
+ continue
+ fi
+ if echo "$arg" | grep -qE '.* .*'; then
+ ARGS+=("$arg")
+ else
+ ARGS+=("$arg")
+ fi
+ done
+ fi
+fi
+
+if [ -n "$WAYLAND_DISPLAY" ]; then
+ # Wayland
+ if [ -n "$DMENULINES" ]; then
+ tofi -c "$TOFI_CONF" -d "${ARGS[@]}"
+ else
+ tofi -c "$TOFI_CONF" -d "$@" 2>/dev/null
+ fi
+ unset ARGS
+elif [ -n "$DISPLAY" ]; then
+ # X11
+ dmenu $@
+fi
+unset TOFI_CONF
diff --git a/dmenu_run b/dmenu_run
new file mode 100755
index 0000000..3cc2531
--- /dev/null
+++ b/dmenu_run
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+dmenu_path | dmenu "$@" | ${SHELL:-"/bin/sh"} &