labwc/include
John Lindgren 9903331995 xwayland: rework setting initial geometry from surface
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.
2026-03-22 21:55:02 +00:00
..
common tree-wide: use die_if_null() for wlr_scene alloc failures 2026-03-15 21:26:37 +00:00
config tree-wide: auto-replace of (struct server *) 2026-03-21 21:35:33 +00:00
foreign-toplevel
img
input tree-wide: rename g_server to just server 2026-03-21 21:35:33 +00:00
menu tree-wide: rename g_server to just server 2026-03-21 21:35:33 +00:00
protocols
scaled-buffer tree-wide: auto-replace of (struct server *) 2026-03-21 21:35:33 +00:00
action-prompt-codes.h labnag: s/LAB_EXIT_TIMEOUT/LAB_EXIT_CANCELLED/ 2025-10-13 19:03:43 +01:00
action.h tree-wide: auto-replace of (struct server *) 2026-03-21 21:35:33 +00:00
buffer.h
cycle.h tree-wide: rename g_server to just server 2026-03-21 21:35:33 +00:00
debug.h tree-wide: auto-replace of (struct server *) 2026-03-21 21:35:33 +00:00
decorations.h decorations: fix accidental rename 2026-03-22 10:13:17 +01:00
desktop-entry.h tree-wide: auto-replace of (struct server *) 2026-03-21 21:35:33 +00:00
dnd.h
edges.h tree-wide: auto-replace of (struct server *) 2026-03-21 21:35:33 +00:00
idle.h tree-wide: rename seat->seat to seat->wlr_seat for clarity 2026-03-22 00:56:49 +01:00
labwc.h tree-wide: use rc.theme instead of server.theme 2026-03-22 10:16:42 +01:00
layers.h tree-wide: auto-replace of (struct server *) 2026-03-21 21:35:33 +00:00
magnifier.h tree-wide: auto-replace of (struct server *) 2026-03-21 21:35:33 +00:00
meson.build
node.h node: update node_descriptor_create() comment 2025-12-07 14:55:32 +09:00
output-state.h
output-virtual.h tree-wide: auto-replace of (struct server *) 2026-03-21 21:35:33 +00:00
output.h tree-wide: auto-replace of (struct server *) 2026-03-21 21:35:33 +00:00
overlay.h
placement.h
regions.h tree-wide: auto-replace of (struct server *) 2026-03-21 21:35:33 +00:00
resistance.h
resize-indicator.h tree-wide: auto-replace of (struct server *) 2026-03-21 21:35:33 +00:00
resize-outlines.h
session-lock.h tree-wide: auto-replace of (struct server *) 2026-03-21 21:35:33 +00:00
snap-constraints.h
snap.h
ssd-internal.h
ssd.h tree-wide: auto-replace of (struct server *) 2026-03-21 21:35:33 +00:00
theme.h tree-wide: use rc.theme instead of server.theme 2026-03-22 10:16:42 +01:00
translate.h
view-impl-common.h view: deduplicate foreign-toplevel creation code 2025-11-27 01:26:55 -05:00
view.h tree-wide: rename g_server to just server 2026-03-21 21:35:33 +00:00
window-rules.h xwayland: make X11 always-on-top request opt-in 2026-03-15 13:09:05 +01:00
workspaces.h tree-wide: auto-replace of (struct server *) 2026-03-21 21:35:33 +00:00
xwayland.h xwayland: rework setting initial geometry from surface 2026-03-22 21:55:02 +00:00