From ec2190e9ae549fc3f8a09a80bd686cc59a068e31 Mon Sep 17 00:00:00 2001 From: ZachIR Date: Wed, 30 Jul 2025 04:02:06 -0500 Subject: Use dmenu as drop-in --- barmenu | 7 ------- barmenu_run | 3 --- dmenu | 37 +++++++++++++++++++++++++++++++++++++ dmenu_run | 3 +++ 4 files changed, 40 insertions(+), 10 deletions(-) delete mode 100755 barmenu delete mode 100755 barmenu_run create mode 100755 dmenu create mode 100755 dmenu_run 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"} & -- cgit v1.2.3