1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-04-13 15:57:47 +00:00
home-manager/tests/modules/services/window-managers/herbstluftwm/herbstluftwm-alias-enabled-autostart
Olmo Kramer 1874860d37
herbstluftwm: Make herbstclient alias optional
The `herbstclient` alias in the generated `autostart` made it impossible
to use bash functions.

This makes the `herbstclient` alias optional by adding an extra
`herbstclientAlias` option on the herbstluftwm configuration. The new
option defaults to `false` as to not confuse newcomers to the
herbstluftwm module, which is not a breaking change because it was only
an optimization.
2024-10-05 19:49:33 +02:00

53 lines
1.3 KiB
Bash

#!/nix/store/00000000000000000000000000000000-bash/bin/bash
shopt -s expand_aliases
# shellcheck disable=SC2142
alias herbstclient='set -- "$@" ";"'
set --
herbstclient emit_hook reload
# Reset everything.
herbstclient attr theme.tiling.reset 1
herbstclient attr theme.floating.reset 1
herbstclient keyunbind --all
herbstclient mouseunbind --all
herbstclient unrule --all
herbstclient set always_show_frame true
herbstclient set default_frame_layout max
herbstclient set frame_bg_active_color '#000000'
herbstclient set frame_gap 12
herbstclient set frame_padding -12
for tag in 1 'with space' 'wə1rd#ch@rs'\'''; do
herbstclient add "$tag"
done
if @herbstluftwm@/bin/herbstclient object_tree tags.by-name.default &>/dev/null; then
herbstclient use 1
herbstclient merge_tag default 1
fi
herbstclient keybind Mod4-1 use 1
herbstclient keybind Mod4-2 use 2
herbstclient keybind Mod4-Alt-Tab cycle -1
herbstclient keybind Mod4-Tab cycle 1
herbstclient mousebind Mod4-B1 move
herbstclient mousebind Mod4-B3 resize
herbstclient rule focus=on
herbstclient rule windowtype~'_NET_WM_WINDOW_TYPE_(DIALOG|UTILITY|SPLASH)' focus=on pseudotile=on
herbstclient rule class~'[Pp]inentry' instance=pinentry focus=on floating=on floatplacement=center keys_inactive='.*'
herbstclient use 1
herbstclient unlock
@herbstluftwm@/bin/herbstclient chain ";" "$@"