Hiding the top bar and removing the window gaps are the two things you do to give the screen entirely to your windows, and doing both took two hands and two hotkeys. `omarchy toggle fullscreen desktop` does them together. It only leaves full screen when both halves are in it, so hitting the hotkey with just the bar hidden (or just the gaps gone) pulls the other half into line instead of flipping the one you already set. Claude-Session: https://claude.ai/code/session_01JB9phxP56gnP7qSidkkUJE Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
87 lines
3.0 KiB
Bash
87 lines
3.0 KiB
Bash
#!/bin/bash
|
|
|
|
set -euo pipefail
|
|
|
|
source "$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)/base-test.sh"
|
|
|
|
TMPDIR=""
|
|
|
|
export PATH="$ROOT/bin:$PATH"
|
|
|
|
cleanup() {
|
|
if [[ -n $TMPDIR && -d $TMPDIR ]]; then
|
|
rm -rf "$TMPDIR"
|
|
fi
|
|
}
|
|
trap cleanup EXIT
|
|
|
|
TMPDIR=$(mktemp -d)
|
|
test_home="$TMPDIR/home"
|
|
flag="$test_home/.local/state/omarchy/toggles/example"
|
|
bar_flag="$test_home/.local/state/omarchy/toggles/bar-off"
|
|
|
|
HOME="$test_home" omarchy-toggle example on
|
|
[[ -f $flag ]] || fail "generic toggle enables explicit on state"
|
|
pass "generic toggle enables explicit on state"
|
|
|
|
HOME="$test_home" omarchy-toggle example on
|
|
[[ -f $flag ]] || fail "generic toggle on is idempotent"
|
|
pass "generic toggle on is idempotent"
|
|
|
|
HOME="$test_home" omarchy-toggle example off
|
|
[[ ! -f $flag ]] || fail "generic toggle disables explicit off state"
|
|
pass "generic toggle disables explicit off state"
|
|
|
|
HOME="$test_home" omarchy-toggle example
|
|
[[ -f $flag ]] || fail "generic toggle flips disabled state on"
|
|
pass "generic toggle flips disabled state on"
|
|
|
|
HOME="$test_home" omarchy-toggle example toggle
|
|
[[ ! -f $flag ]] || fail "generic toggle flips enabled state off"
|
|
pass "generic toggle flips enabled state off"
|
|
|
|
HOME="$test_home" omarchy-toggle-bar on
|
|
[[ -f $bar_flag ]] || fail "bar on enables bar-off toggle"
|
|
pass "bar on enables bar-off toggle"
|
|
|
|
HOME="$test_home" omarchy-toggle-bar on
|
|
[[ -f $bar_flag ]] || fail "bar on is idempotent"
|
|
pass "bar on is idempotent"
|
|
|
|
HOME="$test_home" omarchy-toggle-bar off
|
|
[[ ! -f $bar_flag ]] || fail "bar off disables bar-off toggle"
|
|
pass "bar off disables bar-off toggle"
|
|
|
|
# The gaps half of full screen copies a flag file in and reloads Hyprland, so
|
|
# give it this checkout to copy from and a hyprctl that answers without a
|
|
# compositor.
|
|
export OMARCHY_PATH="$ROOT"
|
|
stub_bin="$TMPDIR/bin"
|
|
mkdir -p "$stub_bin"
|
|
printf '#!/bin/bash\nexit 0\n' >"$stub_bin/hyprctl"
|
|
chmod +x "$stub_bin/hyprctl"
|
|
export PATH="$stub_bin:$PATH"
|
|
|
|
gaps_flag="$test_home/.local/state/omarchy/toggles/hypr/window-no-gaps.lua"
|
|
|
|
HOME="$test_home" omarchy-toggle-fullscreen-desktop
|
|
[[ -f $bar_flag && -f $gaps_flag ]] || fail "fullscreen toggle hides the bar and the gaps together"
|
|
pass "fullscreen toggle hides the bar and the gaps together"
|
|
|
|
HOME="$test_home" omarchy-toggle-fullscreen-desktop
|
|
[[ ! -f $bar_flag && ! -f $gaps_flag ]] || fail "fullscreen toggle restores the bar and the gaps together"
|
|
pass "fullscreen toggle restores the bar and the gaps together"
|
|
|
|
HOME="$test_home" omarchy-toggle-bar on
|
|
HOME="$test_home" omarchy-toggle-fullscreen-desktop
|
|
[[ -f $bar_flag && -f $gaps_flag ]] || fail "fullscreen toggle pulls a half-hidden desktop into full screen"
|
|
pass "fullscreen toggle pulls a half-hidden desktop into full screen"
|
|
|
|
HOME="$test_home" omarchy-toggle-fullscreen-desktop off
|
|
[[ ! -f $bar_flag && ! -f $gaps_flag ]] || fail "fullscreen off leaves full screen"
|
|
pass "fullscreen off leaves full screen"
|
|
|
|
HOME="$test_home" omarchy-toggle-fullscreen-desktop on
|
|
[[ -f $bar_flag && -f $gaps_flag ]] || fail "fullscreen on enters full screen"
|
|
pass "fullscreen on enters full screen"
|