From 63cad61e352e5ec6ecb50d0c7358b261a3ebe4a3 Mon Sep 17 00:00:00 2001 From: Nico Date: Sun, 5 Oct 2025 01:52:17 +1000 Subject: [PATCH] aerospace: create script to toggle tiling --- stow/.config/aerospace/aerospace.toml | 2 ++ stow/.config/aerospace/toggle-tiling.sh | 45 +++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100755 stow/.config/aerospace/toggle-tiling.sh diff --git a/stow/.config/aerospace/aerospace.toml b/stow/.config/aerospace/aerospace.toml index a6b9a69..c3da7b8 100644 --- a/stow/.config/aerospace/aerospace.toml +++ b/stow/.config/aerospace/aerospace.toml @@ -93,6 +93,8 @@ alt-shift-f = 'exec-and-forget open ~' alt-shift-b = 'exec-and-forget /opt/homebrew/bin/firefox --new-window' alt-s = 'exec-and-forget screencapture -i -c' +alt-shift-w = 'exec-and-forget $HOME/.config/aerospace/toggle-tiling.sh off' + # Layout # See: https://nikitabobko.github.io/AeroSpace/commands#layout alt-c = 'layout tiles horizontal vertical' diff --git a/stow/.config/aerospace/toggle-tiling.sh b/stow/.config/aerospace/toggle-tiling.sh new file mode 100755 index 0000000..7a446ae --- /dev/null +++ b/stow/.config/aerospace/toggle-tiling.sh @@ -0,0 +1,45 @@ +#!/bin/sh + +disableTiling () { + defaults write com.apple.dock orientation bottom + defaults write com.apple.dock autohide -bool FALSE + defaults write com.apple.finder CreateDesktop true + + killall Finder Dock sketchybar borders + + aerospace enable off # fails when script called from aerospace directly, bin not in path + /run/current-system/sw/bin/aerospace enable off + + osascript -e 'tell application "System Events" + tell dock preferences + set properties to {autohide menu bar:false, autohide:false} + end tell + end tell' -e 'tell application "System Events" to set visible of (every application process whose visible is true and name is not "Finder") to false' +} + +enableTiling () { + aerospace enable on + sketchybar & disown + sh ~/.cache/matugen-jankyborders.sh & disown + + defaults write com.apple.dock orientation right + defaults write com.apple.dock autohide -bool FALSE + defaults write com.apple.finder CreateDesktop false + killall Dock Finder + + osascript -e ' + tell application "System Events" + tell dock preferences + set properties to {autohide menu bar:true, autohide:true} + end tell + end tell +' +} + +if [ "$1" = "on" ]; then + enableTiling +elif [ "$1" = "off" ]; then + disableTiling +else + echo "$0: [on|off]" +fi