pi3-smart-workspace
Et lille værktøj til i3 der gør $mod+1 til den første workspace på den skærm musen står på, i stedet for workspace nummer 1 et helt andet sted.
- Sprog
- Python
- Licens
- Apache-2.0
- Kører på
- Linux (i3)
Med flere skærme i i3 er workspaces nummereret globalt. Trykker du $mod+1, hopper du til workspace 1, også selvom den ligger på skærmen til venstre og du sidder og arbejder på den til højre. pi3-smart-workspace vender det om: tasten vælger den N’te workspace på den skærm musen står på. $mod+1 er altid den første workspace der hvor musen er, og et setup med flere skærme føles meget mere sammenhængende.
Den læser din kørende i3-konfiguration og bruger tre ting fra den: navne på skærmene (set $<var> <output>), navne på workspaces og linjerne der binder en workspace til en skærm. Rækkefølgen af de linjer bestemmer hvilken workspace der er nummer 1, 2 og 3 på hver skærm. Den kan også flytte det aktive vindue derhen, og hvis du vil, følge med.
Den første udgave er fra 2020.
Installation
Fra AUR eller PyPI:
yay -S pi3-smart-workspace
pip install pi3-smart-workspace
Den kræver Python 3.14 og en kørende i3-session.
Opsætning
Den nemmeste vej er at lade den skrive konfigurationen selv:
pi3-smart-workspace init
Den finder alle aktive skærme gennem i3 og skriver en mappe med en workspaces.conf pr. skærm og en bindings.conf med $mod+N, $mod+Shift+N og $mod+Ctrl+N. Hver skærm får sit eget sammenhængende interval af globale numre, og indekset efter kolon (fx 9:1) betyder “første workspace på den her skærm”. Tilføj de include-linjer init skriver ud til din i3-config og genindlæs med $mod+Shift+r.
Vil du selv binde tasterne, ser det sådan ud:
bindsym $mod+1 exec --no-startup-id pi3-smart-workspace -i 1
bindsym $mod+Shift+1 exec --no-startup-id pi3-smart-workspace -i 1 -s
bindsym $mod+Ctrl+1 exec --no-startup-id pi3-smart-workspace -i 1 -s -k