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 foreign-toplevel: simplify and fully separate ext-foreign/wlr-foreign 2025-08-07 23:27:04 -04:00
img include: reduce unnecessary #includes 2025-09-07 19:34:30 +09:00
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 Fix typos 2025-01-09 06:59:57 +00:00
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 buffer: add buffer_create_from_wlr_buffer() 2025-06-07 02:12:56 +09:00
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 chase (dnd): refactor to use wlroot's scene_drag_icon 2023-12-03 18:24:26 +00:00
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 Make xwayland support optional 2020-12-30 10:29:21 +00:00
node.h node: update node_descriptor_create() comment 2025-12-07 14:55:32 +09:00
output-state.h output: remove ported wlr_output functions 2024-10-29 21:39:19 +00:00
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 overlay: refactor 2025-08-31 13:24:51 +01:00
placement.h include: reduce unnecessary #includes 2025-09-07 19:34:30 +09:00
regions.h tree-wide: auto-replace of (struct server *) 2026-03-21 21:35:33 +00:00
resistance.h include: reduce unnecessary #includes 2025-09-07 19:34:30 +09:00
resize-indicator.h tree-wide: auto-replace of (struct server *) 2026-03-21 21:35:33 +00:00
resize-outlines.h Implement <resize><drawContents> 2024-06-15 21:17:01 +01:00
session-lock.h tree-wide: auto-replace of (struct server *) 2026-03-21 21:35:33 +00:00
snap-constraints.h common: flesh out enum lab_edge and prefer over wlr_edges/wlr_direction 2025-08-26 20:36:43 -04:00
snap.h include: reduce unnecessary #includes 2025-09-07 19:34:30 +09:00
ssd-internal.h ssd: attach LAB_NODE_SSD_ROOT to ssd->tree 2025-09-08 15:46:36 +09:00
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 Add translate.h for HAVE_NLS includes/defines 2025-09-26 10:43:23 -04:00
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