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
|
# Desktop theming
|
||||||
# shellcheck disable=SC2016
|
# 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
|
# Password dropdown frontend
|
||||||
riverctl map normal $mod+Shift P spawn "pass-pick"
|
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