index — dotfiles @ 82a32ab8b3e62639e4f9cf787b8967c8da1f1232

my dotfiles

bin/toggle_monitor_focus (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
#!/bin/bash

# Get the currently focused output
current_output=$(swaymsg -t get_outputs | jq -r '.[] | select(.focused) | .name')

# Get the list of outputs
outputs=($(swaymsg -t get_outputs | jq -r '.[].name'))

# Find the index of the currently focused output
for i in "${!outputs[@]}"; do
    if [[ "${outputs[$i]}" == "$current_output" ]]; then
        current_index=$i
        break
    fi
done

# Calculate the index of the next output
next_index=$(( (current_index + 1) % ${#outputs[@]} ))

# Focus the next output
swaymsg focus output "${outputs[$next_index]}"