flavours: Call bemenu selection from wrapper function
If we call the listing and applying function directly we either select a random colorscheme on *no* selection or we have to make use of either xargs GNU functionality or something like moreutils ifne to only select color schemes on selection. Can additionally set a random theme (if selection is 'random') or a random light theme (if selection is 'light').
This commit is contained in:
parent
c31e441003
commit
46cdb519ea
2 changed files with 27 additions and 1 deletions
|
@ -71,7 +71,7 @@ riverctl map normal $mod+Shift T spawn "bemenu-translate"
|
|||
|
||||
# Desktop theming
|
||||
# shellcheck disable=SC2016
|
||||
riverctl map normal $mod+Shift S spawn 'flavours list -l | bemenu | xargs flavours apply'
|
||||
riverctl map normal $mod+Shift S spawn 'flavourchoose'
|
||||
|
||||
# Password dropdown frontend
|
||||
riverctl map normal $mod+Shift P spawn "pass-pick"
|
||||
|
|
26
desktop/.local/bin/flavourchoose
Executable file
26
desktop/.local/bin/flavourchoose
Executable file
|
@ -0,0 +1,26 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
picker=dmenu
|
||||
if exist bemenu; then
|
||||
picker=bemenu
|
||||
elif exist wofi; then
|
||||
picker=wofi
|
||||
elif exist rofi; then
|
||||
picker=rofi
|
||||
fi
|
||||
|
||||
list=$(flavours list -l)
|
||||
flavour=$(printf "%s\nrandom\nlight" "$list" | "$picker")
|
||||
if [ -z "$flavour" ]; then
|
||||
return
|
||||
elif [ "$flavour" = "random" ]; then
|
||||
flavours apply '*'
|
||||
elif [ "$flavour" = "light" ]; then
|
||||
flavours apply '*light'
|
||||
else
|
||||
flavours apply "$flavour"
|
||||
fi
|
||||
|
||||
if [ "$1" = '-v' ]; then
|
||||
notify-send "Theme set" "set to: $flavour"
|
||||
fi
|
Loading…
Reference in a new issue