diff options
| -rw-r--r-- | KEYBINDS.md | 114 | ||||
| -rw-r--r-- | README.md | 2 | ||||
| -rw-r--r-- | dot_config/sway/executable_bt-toggle.sh | 12 | ||||
| -rw-r--r-- | dot_config/sway/executable_tb-autostart.sh | 10 | ||||
| -rw-r--r-- | dot_config/sway/executable_tb-toggle.sh | 18 | ||||
| -rw-r--r-- | dot_config/waybar/executable_mako-status.sh | 26 |
6 files changed, 91 insertions, 91 deletions
diff --git a/KEYBINDS.md b/KEYBINDS.md index 3970a49..fcfcc83 100644 --- a/KEYBINDS.md +++ b/KEYBINDS.md @@ -223,38 +223,38 @@ Emacs mode (`bindkey -e`) is the base. ### Custom bindings (.zshrc) -| Key | Action | -| ---------------- | --------------------------------------- | -| `Ctrl-U` | Backward kill line | -| `Ctrl-Right` | Forward word | -| `Ctrl-Left` | Backward word | -| `Alt-Right` | Forward word | -| `Alt-Left` | Backward word | -| `Ctrl-Backspace` | Backward kill word | -| `Ctrl-Delete` | Kill word | -| `Ctrl-Z` | Toggle foreground/background | -| `Ctrl-D` | Exit shell (even on non-empty line) | -| `Ctrl-X Ctrl-E` | Edit command in $EDITOR | -| `Ctrl-Y` | Copy command line to clipboard (OSC 52) | -| `.` | Smart dot expansion (.. → ../..) | -| `Shift-Tab` | Accept autosuggestion | -| `Up` / `Down` | History substring search | -| `Ctrl-R` | fzf history search (built-in) | -| `Ctrl-X Ctrl-R` | fzf history search + execute | -| `Ctrl-T` | fzf file picker (built-in) | -| `Alt-C` | fzf cd (built-in) | +| Key | Action | +| ---------------- | ---------------------------------------- | +| `Ctrl-U` | Backward kill line | +| `Ctrl-Right` | Forward word | +| `Ctrl-Left` | Backward word | +| `Alt-Right` | Forward word | +| `Alt-Left` | Backward word | +| `Ctrl-Backspace` | Backward kill word | +| `Ctrl-Delete` | Kill word | +| `Ctrl-Z` | Toggle foreground/background | +| `Ctrl-D` | Exit shell (even on non-empty line) | +| `Ctrl-X Ctrl-E` | Edit command in $EDITOR | +| `Ctrl-Y` | Copy command line to clipboard (OSC 52) | +| `.` | Smart dot expansion (.. → ../..) | +| `Shift-Tab` | Accept autosuggestion | +| `Up` / `Down` | History substring search | +| `Ctrl-R` | fzf history search (built-in) | +| `Ctrl-X Ctrl-R` | fzf history search + execute | +| `Ctrl-T` | fzf file picker (built-in) | +| `Alt-C` | fzf cd (built-in) | | `Alt-Shift-Y` | Copy last command's output (zellij only) | ## Ghostty ### Unbound (disabled defaults) -| Key | Reason | -| ------------------------ | --------------------- | -| `Ctrl-Shift-T` | Zellij handles tabs | -| `Ctrl-Shift-N` | Zellij handles panes | -| `Ctrl-Shift-O` | Unneeded | -| `Ctrl-Shift-Enter` | Zellij handles splits | +| Key | Reason | +| ------------------ | --------------------- | +| `Ctrl-Shift-T` | Zellij handles tabs | +| `Ctrl-Shift-N` | Zellij handles panes | +| `Ctrl-Shift-O` | Unneeded | +| `Ctrl-Shift-Enter` | Zellij handles splits | ### Custom bindings @@ -302,34 +302,34 @@ Mod key: `Super` (Mod4). Only personal additions beyond sway defaults listed. ### Personal keybinds (sway/config) -| Key | Action | -| ---------------------- | --------------------------------------------- | -| `XF86AudioRaiseVolume` | Volume +5% | -| `XF86AudioLowerVolume` | Volume -5% | -| `XF86AudioMute` | Mute toggle | -| `Super+m` | Mic mute toggle | -| `Super+Shift+m` | Speaker mute toggle | -| `XF86AudioPlay` | Play/pause | -| `XF86AudioNext` | Next track | -| `XF86AudioPrev` | Previous track | -| `XF86MonBrightnessUp` | Brightness +5% (brightnessctl) | -| `XF86MonBrightnessDown`| Brightness -5% (brightnessctl) | -| `XF86AudioMicMute` | Mic mute toggle | -| `XF86Bluetooth` | Bluetooth power toggle (bluetoothctl) | -| `XF86ScreenSaver` | Lock screen + pause media (same as Super+Shift+s)| -| `XF86Sleep` | Suspend system (systemctl suspend) | -| `XF86WLAN` | Toggle Wi-Fi (rfkill) | -| `XF86RFKill` | Toggle all radios (rfkill) | -| `Print` | Region screenshot (grim+slurp) | -| `Shift+Print` | Full screenshot (grim) | -| `Super+Shift+s` | Lock screen + pause media | -| `Super+n` | Dismiss notification | -| `Super+Shift+n` | Dismiss all notifications | -| `Super+v` | Clipboard history picker (cliphist + fuzzel) | -| `Super+Shift+v` | Clipboard history delete entry | -| `Super+Tab` | Next workspace | -| `Super+Shift+Tab` | Previous workspace | -| `F7` | Toggle display mode (laptop-off/side-by-side) | -| `Super+z` then `w` | Display QR for clipboard (wqr) | -| `Super+z` then `r` | Scan QR via webcam, copy to clipboard (rqr) | -| `Super+t` | Toggle Thunderbird (tiled on current workspace)| +| Key | Action | +| ----------------------- | ------------------------------------------------- | +| `XF86AudioRaiseVolume` | Volume +5% | +| `XF86AudioLowerVolume` | Volume -5% | +| `XF86AudioMute` | Mute toggle | +| `Super+m` | Mic mute toggle | +| `Super+Shift+m` | Speaker mute toggle | +| `XF86AudioPlay` | Play/pause | +| `XF86AudioNext` | Next track | +| `XF86AudioPrev` | Previous track | +| `XF86MonBrightnessUp` | Brightness +5% (brightnessctl) | +| `XF86MonBrightnessDown` | Brightness -5% (brightnessctl) | +| `XF86AudioMicMute` | Mic mute toggle | +| `XF86Bluetooth` | Bluetooth power toggle (bluetoothctl) | +| `XF86ScreenSaver` | Lock screen + pause media (same as Super+Shift+s) | +| `XF86Sleep` | Suspend system (systemctl suspend) | +| `XF86WLAN` | Toggle Wi-Fi (rfkill) | +| `XF86RFKill` | Toggle all radios (rfkill) | +| `Print` | Region screenshot (grim+slurp) | +| `Shift+Print` | Full screenshot (grim) | +| `Super+Shift+s` | Lock screen + pause media | +| `Super+n` | Dismiss notification | +| `Super+Shift+n` | Dismiss all notifications | +| `Super+v` | Clipboard history picker (cliphist + fuzzel) | +| `Super+Shift+v` | Clipboard history delete entry | +| `Super+Tab` | Next workspace | +| `Super+Shift+Tab` | Previous workspace | +| `F7` | Toggle display mode (laptop-off/side-by-side) | +| `Super+z` then `w` | Display QR for clipboard (wqr) | +| `Super+z` then `r` | Scan QR via webcam, copy to clipboard (rqr) | +| `Super+t` | Toggle Thunderbird (tiled on current workspace) | @@ -30,7 +30,7 @@ My Arch Linux configuration, managed with [chezmoi](https://www.chezmoi.io/). | Notifications | [mako](https://github.com/emersion/mako) | | Lock screen | [swaylock](https://github.com/swaywm/swaylock) | | Browser | [LibreWolf](https://librewolf.net/), hardened via `user-overrides.js` + `userChrome.css` (kept under `firefox/` by name for recognizability) | -| Mail | [Thunderbird](https://www.thunderbird.net/) against [ProtonMail Bridge](https://proton.me/mail/bridge) + Radicale (CalDAV/CardDAV); non-private prefs tracked under `thunderbird/` | +| Mail | [Thunderbird](https://www.thunderbird.net/) against [ProtonMail Bridge](https://proton.me/mail/bridge) + Radicale (CalDAV/CardDAV); non-private prefs tracked under `thunderbird/` | | Secrets & identity | [GPG](https://gnupg.org/) (commit signing + SSH auth via gpg-agent), [pass](https://www.passwordstore.org/) | | Media & viewers | [mpv](https://mpv.io/), [zathura](https://pwmt.org/projects/zathura/), [yazi](https://yazi-rs.github.io/) | | Code quality | stylua + [selene](https://github.com/Kampfkarren/selene), [shfmt](https://github.com/mvdan/sh) + [shellcheck](https://www.shellcheck.net/), [ruff](https://github.com/astral-sh/ruff), [taplo](https://taplo.tamasfe.dev/), [prettier](https://prettier.io/) — all wired through `just check` | diff --git a/dot_config/sway/executable_bt-toggle.sh b/dot_config/sway/executable_bt-toggle.sh index 95958f9..02b72f9 100644 --- a/dot_config/sway/executable_bt-toggle.sh +++ b/dot_config/sway/executable_bt-toggle.sh @@ -6,11 +6,11 @@ set -eu state=$(bluetoothctl show | awk '/Powered:/ {print $2}') if [ "$state" = "yes" ]; then - bluetoothctl power off >/dev/null - notify-send -t 1500 -h string:x-canonical-private-synchronous:bt \ - 'Bluetooth' 'off' + bluetoothctl power off >/dev/null + notify-send -t 1500 -h string:x-canonical-private-synchronous:bt \ + 'Bluetooth' 'off' else - bluetoothctl power on >/dev/null - notify-send -t 1500 -h string:x-canonical-private-synchronous:bt \ - 'Bluetooth' 'on' + bluetoothctl power on >/dev/null + notify-send -t 1500 -h string:x-canonical-private-synchronous:bt \ + 'Bluetooth' 'on' fi diff --git a/dot_config/sway/executable_tb-autostart.sh b/dot_config/sway/executable_tb-autostart.sh index b77431e..f841428 100644 --- a/dot_config/sway/executable_tb-autostart.sh +++ b/dot_config/sway/executable_tb-autostart.sh @@ -11,11 +11,11 @@ MARK=tb-main thunderbird & for _ in $(seq 1 200); do - if swaymsg -t get_tree | jq -e --arg m "$MARK" ' + if swaymsg -t get_tree | jq -e --arg m "$MARK" ' [.. | objects | select(.marks? // [] | index($m))] | length > 0 ' >/dev/null 2>&1; then - swaymsg "[con_mark=\"$MARK\"] move container to scratchpad" >/dev/null - exit 0 - fi - sleep 0.1 + swaymsg "[con_mark=\"$MARK\"] move container to scratchpad" >/dev/null + exit 0 + fi + sleep 0.1 done diff --git a/dot_config/sway/executable_tb-toggle.sh b/dot_config/sway/executable_tb-toggle.sh index 8fc39c0..77a3307 100644 --- a/dot_config/sway/executable_tb-toggle.sh +++ b/dot_config/sway/executable_tb-toggle.sh @@ -18,17 +18,17 @@ tb_ws=$(swaymsg -t get_tree | jq -r --arg m "$MARK" ' ) // empty') if [ -z "$tb_ws" ]; then - exec thunderbird + exec thunderbird fi if [ "$tb_ws" = "__i3_scratch" ]; then - # scratchpad show reveals it as floating; floating disable tiles it on the - # current workspace. - swaymsg "[con_mark=\"$MARK\"] scratchpad show, floating disable" >/dev/null + # scratchpad show reveals it as floating; floating disable tiles it on the + # current workspace. + swaymsg "[con_mark=\"$MARK\"] scratchpad show, floating disable" >/dev/null else - # Criteria-based move can cause sway to follow focus to the originating - # workspace. Pin focus back to where we started. - current_ws=$(swaymsg -t get_workspaces | jq -r '.[] | select(.focused) | .name') - swaymsg "[con_mark=\"$MARK\"] move container to scratchpad" >/dev/null - swaymsg "workspace \"$current_ws\"" >/dev/null + # Criteria-based move can cause sway to follow focus to the originating + # workspace. Pin focus back to where we started. + current_ws=$(swaymsg -t get_workspaces | jq -r '.[] | select(.focused) | .name') + swaymsg "[con_mark=\"$MARK\"] move container to scratchpad" >/dev/null + swaymsg "workspace \"$current_ws\"" >/dev/null fi diff --git a/dot_config/waybar/executable_mako-status.sh b/dot_config/waybar/executable_mako-status.sh index a2fb792..ed89661 100644 --- a/dot_config/waybar/executable_mako-status.sh +++ b/dot_config/waybar/executable_mako-status.sh @@ -4,25 +4,25 @@ set -eu if ! command -v makoctl >/dev/null 2>&1; then - printf '{"text":"","tooltip":"mako not installed","class":"off"}\n' - exit 0 + printf '{"text":"","tooltip":"mako not installed","class":"off"}\n' + exit 0 fi -count=$(makoctl history 2>/dev/null \ - | grep -c '"summary"' || true) -pending=$(makoctl list 2>/dev/null \ - | grep -c '"summary"' || true) +count=$(makoctl history 2>/dev/null | + grep -c '"summary"' || true) +pending=$(makoctl list 2>/dev/null | + grep -c '"summary"' || true) if [ "$pending" -gt 0 ]; then - text="!$pending" - class="pending" + text="!$pending" + class="pending" elif [ "$count" -gt 0 ]; then - text="$count" - class="history" + text="$count" + class="history" else - text="0" - class="empty" + text="0" + class="empty" fi printf '{"text":"%s","tooltip":"%s pending / %s history","class":"%s"}\n' \ - "$text" "$pending" "$count" "$class" + "$text" "$pending" "$count" "$class" |
