Files
pw/content/projekter/pi3-smart-workspace.md
T
Asger Geel WeirsøeandClaude Opus 5.5 e58a11c2b4 feat: flyt sitet fra Astro til Zola
Samme indhold, URL'er og udseende, bygget af en enkelt zola-binær og Tailwind
standalone-CLI uden Node. Kanonisk domæne er asger.weirsoe.dk.

Blogindlæg ligger som page bundles med frontmatter Zola forstår, så de gamle
stempler er ugyldige, indtil scripts/omstempl.py er kørt med PUBLISH_KEY.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-01 16:47:08 +01:00

51 lines
2.2 KiB
Markdown

---
title: "pi3-smart-workspace"
description: "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."
date: 2020-09-04
updated: 2026-09-30
extra:
lang: da
repo: pi3-smart-workspace
sprog: Python
licens: Apache-2.0
platforme: [Linux (i3)]
aur: [pi3-smart-workspace]
tags: [i3, linux, python]
alternates: [{lang: da, path: /projekter/pi3-smart-workspace}, {lang: en, path: /en/projects/pi3-smart-workspace}]
---
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:
```bash
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:
```bash
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
```