Skip to content

shell: display scale picker and gather-windows shortcut - #36

Open
brkosebay wants to merge 4 commits into
OrchardLinux:mainfrom
brkosebay:j71t/display-scale
Open

brkosebay wants to merge 4 commits into
OrchardLinux:mainfrom
brkosebay:j71t/display-scale

Conversation

@brkosebay

@brkosebay brkosebay commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

Problem

Login always forces scale 2 and the labwc Display panel has no scale control. A window moved off the rotated panel cannot be brought back.

Changes

Add omarchy-display-scale and a Display panel scale picker, and restore the saved scale at login. Super+Shift+G gathers every window onto the current workspace and on screen.

Device testing

Tested on an iPad 5 (J71t) on 2026-11-08 as part of the integrated J71t stack (kernel 7.3.0-rc1-orchard-apple-16k-topic-warmport-20261108). This isolated branch has not been booted on its own.

Scale picker, saved scale and Super+Shift+G installed on the device and checked. Integration suite: 224 passed, 14 skipped.

Observed operations: Omarchy menu → Restart; host-assisted scripts/orchard/warm-reboot.py with display/normal profiles and the file loader (kexec -s); CPU1 sysfs offline/online; USB cold boots/rebind and bulk uploads; desktop interaction.

What remains: exact submitted branch device test, other-device regressions, NCM long soak, the 500 mA warm charging gap, RTC alarms, suspend/resume and cover wake. Bluetooth pairing does not qualify keyboard input or audio.

Host validation

PYTHONDONTWRITEBYTECODE=1 python -m unittest discover -s tests -v: PASS. No kernel/image builds performed.

Patch application: N/A; whitespace check (excluding nested patch text): PASS.

Other devices affected

Shared distro tablet services/settings affect every omarchy-a device that uses them. No other device was tested.

Dependencies and merge order

Depends on (merge first): #35. The branch carries those commits; review the last commit as this topic. It will be rebased once they merge.

Known rework before merge

No additional behavior-policy pattern found by the targeted kernel diff scan. This is not a comprehensive policy audit. The exact isolated revision still needs a device test required by CONTRIBUTING.md.

Proposed CHANGELOG line (Unreleased)

shell: persist display scale and gather off-screen windows.

🤖 Generated with Claude Code

@brkosebay brkosebay changed the title shell: display scale picker and window recovery on labwc shell: display scale picker and gather-windows shortcut Nov 8, 2026
@brkosebay
brkosebay marked this pull request as ready for review November 8, 2026 15:51
jerricky26 pushed a commit to jerricky26/omarchy-a that referenced this pull request Nov 10, 2026
Rework of this PR to the kernel structure: the AOP is now an in-kernel
driver (orchard PR OrchardLinux#36) whose accelerometer is a standard IIO device, so
the desktop uses iio-sensor-proxy like GNOME and KDE do.

- desktop/configuration/rotate-output: follows iio-sensor-proxy's
  accelerometer orientation (monitor-sensor) and turns the panel with
  wlr-randr; touch follows the output through labwc's <touch
  mapToOutput>, so no calibration matrix needs rewriting. The rotation
  lock (~/.config/omarchy/rotation-lock) keeps Dalton's idea.
- iio-sensor-proxy in the root's packages; the labwc session starts the
  listener.
- The DMA-backed daemon, its firmware launcher, units and tests go: the
  kernel loads the firmware and starts the AOP.

Still open: the panel's output name for <touch mapToOutput> (eDP-1 on
the iPad 5; to confirm on the J71b), and a device test once the
accelerometer's IIO driver lands.
jerricky26 pushed a commit to jerricky26/omarchy-a that referenced this pull request Nov 10, 2026
…onnected

Tested on the J71b with the in-kernel AOP accelerometer (orchard PR OrchardLinux#36)
and iio-sensor-proxy 3.9: the image is upright in all four orientations
and touch lands where the finger is.

- rotate-output applies an orientation once it has held for half a
  second, so turning past one orientation to the next rotates once
  (Dalton's controller debounced too).
- touch-output, run by login-session before labwc, maps each touchscreen
  to the connected panel for the session: the panel's DRM connector names
  its output (Unknown-1 on the J71b with simpledrm, eDP-1 on the iPad 5
  with ADBE), and named <touch> entries take precedence over the default
  in ~/.config/labwc/rc.xml. Nothing board-specific in the rootfs.
- The listener's tests need bash 4+ (fractional read -t), as on the
  device, and skip with a reason on older shells.

Known limit: landscape is slow on boards whose display has no hardware
rotation yet (simpledrm): labwc then rotates every frame in software.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant