mirror of
https://github.com/labwc/labwc.git
synced 2026-03-28 07:58:28 -04:00
The basic idea is to set the initial geometry from the surface exactly once, just before we need it, i.e. either (1) when mapping the view or (2) right before processing an initial maximize/fullscreen request. I've consolidated various parts of the initial geometry setup to take place at this point (in ensure_initial_geometry_and_output()). The main motivation is to have a valid, adjusted floating geometry for the view *before* saving the natural geometry when processing an initial maximize/fullscreen request. This reduces code duplication and addresses a FIXME in set_initial_position(), as well as fixing an issue where the natural geometry could exceed the usable output area. Some other minor changes: - The initial output is now set directly from the surface geometry if the "application/user-set position" hint is given. This is unlikely to matter in practice, but theoretically an initially maximized view could now appear on a different (application-chosen) output. - Floating view size is now constrained to the usable area even if a position hint is set. It seemed inconsistent that `xterm -g 200x200` was constrained but `xterm -g 200x200+0+0` was not. |
||
|---|---|---|
| .. | ||
| common | ||
| config | ||
| foreign-toplevel | ||
| img | ||
| input | ||
| menu | ||
| protocols | ||
| scaled-buffer | ||
| action-prompt-codes.h | ||
| action.h | ||
| buffer.h | ||
| cycle.h | ||
| debug.h | ||
| decorations.h | ||
| desktop-entry.h | ||
| dnd.h | ||
| edges.h | ||
| idle.h | ||
| labwc.h | ||
| layers.h | ||
| magnifier.h | ||
| meson.build | ||
| node.h | ||
| output-state.h | ||
| output-virtual.h | ||
| output.h | ||
| overlay.h | ||
| placement.h | ||
| regions.h | ||
| resistance.h | ||
| resize-indicator.h | ||
| resize-outlines.h | ||
| session-lock.h | ||
| snap-constraints.h | ||
| snap.h | ||
| ssd-internal.h | ||
| ssd.h | ||
| theme.h | ||
| translate.h | ||
| view-impl-common.h | ||
| view.h | ||
| window-rules.h | ||
| workspaces.h | ||
| xwayland.h | ||