This repository has been archived on 2024-04-07. You can view files and clone it, but cannot push or open issues or pull requests.
dotfiles/dotfiles/scripts/bmenu

97 lines
2.1 KiB
Fish
Executable File

#!/bin/fish
# wrapper around bemenu
# bmenu * - use as dmenu, -p for custom prompt (man bemenu)
# bmenu run - select from .desktop files and run it
# bmenu start - internal option
if test "$argv[1]" = "run"
test -n "$argv[2]" && set t "$argv[2]" || set t "terminal"
test -n "$i3SOCK" && set wrapper 'i3-msg exec --'
test -n "$SWAYSOCK" && set wrapper 'swaymsg exec --'
exec j4-dmenu-desktop \
--dmenu="bmenu start -p Iniciar:" \
--term "$t" \
--wrapper="$wrapper" \
--no-generic
end
set fullscreen false
if test -n "$SWAYSOCK"
swaymsg -t get_tree |
jq -je '..|select(.focused? and .fullscreen_mode? == 1)|""' &&
swaymsg -q fullscreen off &&
set fullscreen true
swaymsg -t get_outputs |
jq -r 'map(.focused)|reverse|index(true)' |
read focused_output
test -n "$focused_output"
and set focused_output "-m $focused_output"
end
function clean_exit
"$fullscreen" && swaymsg -q fullscreen on
end
trap clean_exit EXIT
# t title
# f filter
# n normal
# h highlighted
# s selected
# sc scrollbar
set fn "{{@@ font.mono @@}} {{@@ font.size.small @@}}"
set tb "{{@@ color.bg @@}}{{@@ opacity | clamp_to_hex @@}}"
set tf "{{@@ accent_color @@}}"
set fb "{{@@ color.bg @@}}{{@@ opacity | clamp_to_hex @@}}"
set ff "{{@@ color.txt @@}}"
set nb "{{@@ color.bg @@}}{{@@ opacity | clamp_to_hex @@}}"
set nf "{{@@ color.txt @@}}"
set hb "{{@@ accent_color @@}}"
set hf "{{@@ accent_fg @@}}"
#{%@@ if False @@%}#
# Hacks to allow runnning even if not templated
set fn "Fira Code 12"
set tf "#D9534F"
set tb "#202020"
set ff "#ffffff"
set fb "#202020"
set nf "#ffffff"
set nb "#202020"
set hf "#D9534F"
set hb "#404040"
#{%@@ endif @@%}#
bemenu \
$focused_output\
--grab\
--ignorecase\
--bottom\
--no-overlap\
--list 20\
--prefix '>'\
--fn "$fn"\
--tb "$tb" --tf "$tf" \
--fb "$fb" --ff "$ff" \
--nb "$nb" --nf "$nf" \
--hb "$hb" --hf "$hf" \
$argv
# vim: ft=fish