docs(niri): portable desk runs landscape, HDMI left of the laptop
record the normalized layout that landed on main as 9b88208 and the law
that surprised it: positions are absolute, so rotating a panel widens
its logical box and every x to the right of it moves — recompute the
row, never just the rotated block.
This commit is contained in:
1 parent
e197c80dcb
commit
b651d61056
2 files changed
+20
-12
No files matched your search
+2
-2
@@ -27,8 +27,8 @@ long form.
|
|||||||
### A desk with no matching profile is silently misconfigured
|
### A desk with no matching profile is silently misconfigured
|
||||||
|
|
||||||
`desk-2-portable.kdl` stopped being a skeleton: the two PM1601 16" panels are
|
`desk-2-portable.kdl` stopped being a skeleton: the two PM1601 16" panels are
|
||||||
identity-keyed (`PNP(XYM) PM1601 0000000000000`, `… demoset-1`), the laptop sits
|
identity-keyed (`PNP(XYM) PM1601 0000000000000`, `… demoset-1`), laid out
|
||||||
centred against their 1920-tall band, and `display.kdl` points at it. Law: a rig
|
landscape either side of the laptop, and `display.kdl` points at it. Law: a rig
|
||||||
with no eligible profile does not run "unchanged" — it runs whatever the *last*
|
with no eligible profile does not run "unchanged" — it runs whatever the *last*
|
||||||
profile said. Here that was the home profile, whose Sceptre identity block never
|
profile said. Here that was the home profile, whose Sceptre identity block never
|
||||||
matched and whose connectors still carried `3440x1440@180.000`, so niri fell back
|
matched and whose connectors still carried `3440x1440@180.000`, so niri fell back
|
||||||
|
|||||||
@@ -60,20 +60,28 @@ the ultrawide wins when present and the laptop panel is the fallback.
|
|||||||
|
|
||||||
## The desk-2 rig (portable)
|
## The desk-2 rig (portable)
|
||||||
|
|
||||||
Laptop plus two 16" PM1601 panels in portrait, side by side as one 2400x1920
|
Laptop flanked by the two 16" PM1601 panels, all three landscape. Profile:
|
||||||
band. Profile: `cfg/desk-2-portable.kdl` (`display.kdl` symlinks to it).
|
`cfg/desk-2-portable.kdl` (`display.kdl` symlinks to it).
|
||||||
|
|
||||||
```
|
```
|
||||||
┌──────────────┬──────────┬──────────┐
|
┌──────────┬──────────────┬──────────┐
|
||||||
│ │ PM1601 │ PM1601 │ eDP-1 1920x1080 normal x=0,y=420
|
│ PM1601 │ │ PM1601 │ HDMI-A-1 1920x1200 normal x=0,y=0
|
||||||
│ │ rot 90 │ rot 90 │ DP-2 1200x1920 rot 90 x=1920,y=0
|
│ 1920x1200│ eDP-1 │ 1920x1200│ eDP-1 1920x1080 normal x=1920,y=60
|
||||||
│ eDP-1 │ 1200x1920│ 1200x1920│ HDMI-A-1 1200x1920 rot 90 x=3120,y=0
|
│(HDMI-A-1)│ 1920x1080 │ (DP-2) │ DP-2 1920x1200 normal x=3840,y=0
|
||||||
│ 1920x1080 │ (DP-2) │(HDMI-A-1)│
|
│ │ │ │
|
||||||
│ │ │ │ The laptop is pinned 420 px down so its
|
└──────────┴──────────────┴──────────┘ The laptop is 60 px down so it is
|
||||||
└──────────────┴──────────┴──────────┘ centre (960) meets the band's centre:
|
x=0,y=0 x=1920,y=60 x=3840,y=0 centred against the taller panels.
|
||||||
x=0,y=420 x=1920,0 x=3120,0 no dead corner when the cursor crosses.
|
|
||||||
|
HDMI-A-1 sits to the LEFT of the laptop by request (2026-10-30); DP-2 keeps the
|
||||||
|
right. Earlier the same rig ran both panels in portrait (rot 90, 1200x1920) with
|
||||||
|
the laptop and both panels to its right — the rotation is `normal` now, so the
|
||||||
|
panels are 1920 wide and every x moved.
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Positions are absolute in logical space, so rotating a panel changes its logical
|
||||||
|
width (1200 → 1920) and every x to its right; recompute the whole row, never just
|
||||||
|
the rotated block.
|
||||||
|
|
||||||
All three blocks are identity-keyed and pin their mode string verbatim. The
|
All three blocks are identity-keyed and pin their mode string verbatim. The
|
||||||
`requires:` list names all three panels, so the matcher only claims this profile
|
`requires:` list names all three panels, so the matcher only claims this profile
|
||||||
when the whole rig is present — unplug one 16" panel and the watcher leaves the
|
when the whole rig is present — unplug one 16" panel and the watcher leaves the
|
||||||
|
|||||||
Reference in new issue
Block a user