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>
51 lines
2.2 KiB
Markdown
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
|
|
```
|