diff options
| author | srdusr <[email protected]> | 2025-08-29 22:42:00 +0200 |
|---|---|---|
| committer | srdusr <[email protected]> | 2025-08-29 22:42:00 +0200 |
| commit | be5c4efa6866b5d23e1e81ecfc3b8d276540860f (patch) | |
| tree | 0732d942bf28d26cc6996549fadd1785e566a637 /crates/config/src/engine | |
| parent | bd7141718901c6f41511137e4b34a3bd9e2705b1 (diff) | |
| download | srdwm-be5c4efa6866b5d23e1e81ecfc3b8d276540860f.tar.gz srdwm-be5c4efa6866b5d23e1e81ecfc3b8d276540860f.zip | |
Core window manager: real fixes plus three new rule/placement primitives
Several independent, real pieces landed in crates/core this shift - see
docs/TODO.md for each one's full root-cause/verification narrative:
- "Primary" monitor is now picked by which head sits at physical (0, 0)
(the user's own configured anchor), not whichever connector DRM
happened to probe first - fixes desktop icons and new-window placement
landing on the wrong monitor depending on hotplug/probe order.
- A new window's target monitor now prioritizes the pointer's own current
monitor over the last-focused window's monitor, which goes stale the
moment the user's attention moves to empty desktop, a panel, or a dock.
- aspect_ratio window-rule action ("W:H") plus ResizeEdge::apply_aspect_
ratio: holds a floating window's aspect ratio through an interactive
resize. The real, scoped "phone monitor" primitive - matches any VM/
emulator/scrcpy window by app_id, nothing Android- or VM-specific here.
- general.phone_mode (WindowManager::phone_mode): a new window defaults
to maximized instead of floating/tiled small, unless a rule explicitly
floats it or sets maximized - the one placement default a phone-shaped
screen actually needs. Exposed read-only via IPC so a shell panel can
adapt its own chrome to the same signal.
- input_pin.rs: the core half of pinning a virtual pointer to a specific
window (Multi-cursor Phase 2) - a backend-agnostic request queue,
same cross-boundary shape output_position_requests/lock_requested
already use, since core has no real Wayland protocol object to reach
into itself.
Full workspace test suite covers all of the above (aspect-ratio resize
math for every edge case, phone-mode default-vs-rule-override behavior,
the pin-input request queue, the monitor-picking fixes).
Diffstat (limited to 'crates/config/src/engine')
0 files changed, 0 insertions, 0 deletions