English

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