58 lines
1.3 KiB
Bash
Executable File
58 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# dmenu_run with custom history
|
|
#
|
|
set -e
|
|
|
|
export PATH=$PATH:~/.local/bin:~/.local/bin/sh
|
|
|
|
# . $HOME/.config/rc/config/dmenu/dmenu.rc
|
|
# . $HOME/.config/rc/sh/dmenu_path
|
|
|
|
# NB="#303446"
|
|
#NF="#838ba7"
|
|
#SF="#303446"
|
|
#SB="#ebcb8b"
|
|
NB="#090e13fa"
|
|
|
|
NF="#c6d0f5"
|
|
NF="#c6d0f54d"
|
|
SB="#303446"
|
|
SF="#babbf1"
|
|
#$nf #c6d0f5$TR
|
|
#$nb #303446$TR
|
|
#$sf #ebcb8b$TR
|
|
|
|
# NORD: NF="#4c566aEF"
|
|
# NORD: NB="#2e3440EF"
|
|
# NORD: SF="#2e3440EF"
|
|
# NORD: SB="#ebcb8bEF"
|
|
|
|
# FONT="monospace:size=11"
|
|
FONT="JetBrainsMono Nerd Font 10"
|
|
|
|
HISTORY=$HOME/.cache/dmenu_run.history
|
|
|
|
# MONITOR="$(swaymsg -t get_outputs | jq -r 'map(.focused) | index(true)')"
|
|
# MONITORNAME="$(swaymsg -t get_outputs | jq -r '.[] | select(.focused==true) | .name')"
|
|
_HIST_PREPEND() {
|
|
( printf "%s\n" 1 i "$@" . w | ex $HISTORY ) &>/dev/null
|
|
awk -i inplace '!x[$0]++' "$HISTORY"
|
|
}
|
|
|
|
# dmenu -m $MONITOR -fn ${FONT} -nb ${NB} -nf ${NF} -sb ${SB} -sf ${SF} -p "dmenu: " "$@") \
|
|
cmd=$((
|
|
cat "$HISTORY"; \
|
|
flatpak list --columns=application | awk '$0="Ƒ "$0' ; \
|
|
dmenu_path) | \
|
|
wmenu -i -f "${FONT}" -M ${NB} -m ${SB} -N ${NB} -n ${NF} -S ${SB} -s ${SF} -p "dmenu: " "$@" ) \
|
|
|| exit
|
|
|
|
_HIST_PREPEND "$cmd" &
|
|
|
|
case $cmd in
|
|
Ƒ*) flatpak run "${cmd#Ƒ }" ;;
|
|
!*) exec foot -e -T "${cmd#!}" "${cmd#!}" ;;
|
|
*) exec $cmd & ;;
|
|
esac
|