diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-02 12:16:38 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-02 12:16:38 -0500 |
| commit | 8c32bbbf9fab115dc51afa17c081e0763cbee717 (patch) | |
| tree | 246b46b53c956cfea07bc9d1c2b81f9f8de53d65 /dotfiles/hyprland/.local/bin/layout-navigate | |
| parent | 3f370d6c19c83430547d1771b0e6fa669dc7d5c5 (diff) | |
| download | archsetup-8c32bbbf9fab115dc51afa17c081e0763cbee717.tar.gz archsetup-8c32bbbf9fab115dc51afa17c081e0763cbee717.zip | |
refactor: drop in-repo dotfiles/, move stow tooling to the dotfiles repo
Since the installer clones DOTFILES_REPO into ~/.dotfiles and stows from there, the in-repo dotfiles/ tree was dead weight. Nothing reads it at install time. I removed it (831 files) now that both machines are migrated.
The Makefile's stow / restow / reset / unstow / import targets and the dotfile-script unit suites moved to the dotfiles repo. They sit alongside the scripts they manage and run standalone (cd ~/.dotfiles && make ...). This Makefile keeps the VM-integration targets and the installer-helper suite (safe-rm-rf).
I updated CLAUDE.md and README.md so stow operations run from ~/.dotfiles, and the dotfile-management, theme, and unit-test sections point at the standalone repo. The README was already describing the old in-repo model from before the installer switched to cloning. This brings it in line.
Diffstat (limited to 'dotfiles/hyprland/.local/bin/layout-navigate')
| -rwxr-xr-x | dotfiles/hyprland/.local/bin/layout-navigate | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/dotfiles/hyprland/.local/bin/layout-navigate b/dotfiles/hyprland/.local/bin/layout-navigate deleted file mode 100755 index 89af45f..0000000 --- a/dotfiles/hyprland/.local/bin/layout-navigate +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/sh -# Layout-aware navigation for Hyprland -# Usage: layout-navigate <direction> [move] -# direction: next|prev -# move: if present, move window instead of focus - -DIR="$1" -MOVE="$2" - -ACTIVE_JSON=$(hyprctl activewindow -j) -FLOATING=$(echo "$ACTIVE_JSON" | jq -r '.floating') -WS_NAME=$(echo "$ACTIVE_JSON" | jq -r '.workspace.name') -LAYOUT=$(hyprctl getoption general:layout -j | jq -r '.str') - -# If the active window is in a special workspace (scratchpad overlay) and we -# are navigating focus (not moving), hide the overlay first. layoutmsg/cyclenext -# cannot cross the overlay→regular boundary, so without this the $mod+J key -# gets trapped inside the scratchpad. -case "$WS_NAME" in - special:*) - if [ "$MOVE" != "move" ]; then - hyprctl dispatch togglespecialworkspace "${WS_NAME#special:}" - # Re-read state: focus has moved to the regular workspace. - ACTIVE_JSON=$(hyprctl activewindow -j) - FLOATING=$(echo "$ACTIVE_JSON" | jq -r '.floating') - fi - ;; -esac - -# If current window is floating, use cyclenext to reach tiled windows -if [ "$FLOATING" = "true" ] && [ "$MOVE" != "move" ]; then - if [ "$DIR" = "next" ]; then - hyprctl dispatch cyclenext tiled - else - hyprctl dispatch cyclenext prev tiled - fi - exit 0 -fi - -case "$LAYOUT" in - scrolling) - # J (next) goes left, K (prev) goes right - if [ "$MOVE" = "move" ]; then - if [ "$DIR" = "next" ]; then - hyprctl dispatch swapwindow l - else - hyprctl dispatch swapwindow r - fi - else - if [ "$DIR" = "next" ]; then - hyprctl dispatch layoutmsg focus l - else - hyprctl dispatch layoutmsg focus r - fi - fi - ;; - *) - # master, dwindle, etc. - if [ "$MOVE" = "move" ]; then - if [ "$DIR" = "next" ]; then - hyprctl dispatch layoutmsg swapnext - else - hyprctl dispatch layoutmsg swapprev - fi - else - if [ "$DIR" = "next" ]; then - hyprctl dispatch layoutmsg cyclenext - else - hyprctl dispatch layoutmsg cycleprev - fi - fi - ;; -esac |
