labwc/src
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: rename g_server to just server 2026-03-21 21:35:33 +00:00
cycle tree-wide: use rc.theme instead of server.theme 2026-03-22 10:16:42 +01:00
decorations decorations: fix accidental rename 2026-03-22 10:13:17 +01:00
foreign-toplevel tree-wide: rename g_server to just server 2026-03-21 21:35:33 +00:00
img Don't remove newlines when parsing config, menu and XBM 2025-10-17 22:08:41 +09:00
input tree-wide: rename seat->seat to seat->wlr_seat for clarity 2026-03-22 00:56:49 +01:00
menu tree-wide: use rc.theme instead of server.theme 2026-03-22 10:16:42 +01:00
protocols src: remove unused #includes (via include-what-you-use) 2025-09-07 19:34:30 +09:00
scaled-buffer tree-wide: wrap a few extra-long lines 2026-03-21 21:35:33 +00:00
ssd tree-wide: use rc.theme instead of server.theme 2026-03-22 10:16:42 +01:00
action.c tree-wide: use rc.theme instead of server.theme 2026-03-22 10:16:42 +01:00
buffer.c src: include primary header first 2025-07-29 21:51:56 +01:00
debug.c tree-wide: rename g_server to just server 2026-03-21 21:35:33 +00:00
desktop-entry.c tree-wide: rename g_server to just server 2026-03-21 21:35:33 +00:00
desktop.c tree-wide: rename seat->seat to seat->wlr_seat for clarity 2026-03-22 00:56:49 +01:00
dnd.c tree-wide: rename seat->seat to seat->wlr_seat for clarity 2026-03-22 00:56:49 +01:00
edges.c tree-wide: rename g_server to just server 2026-03-21 21:35:33 +00:00
idle.c tree-wide: rename seat->seat to seat->wlr_seat for clarity 2026-03-22 00:56:49 +01:00
interactive.c tree-wide: rename g_server to just server 2026-03-21 21:35:33 +00:00
layers.c tree-wide: rename seat->seat to seat->wlr_seat for clarity 2026-03-22 00:56:49 +01:00
magnifier.c tree-wide: use rc.theme instead of server.theme 2026-03-22 10:16:42 +01:00
main.c tree-wide: use rc.theme instead of server.theme 2026-03-22 10:16:42 +01:00
meson.build Rename osd.{h,c} to cycle.{h,c} 2025-11-30 16:20:16 +09:00
node.c Use "cycle" instead of "osd" across the codebase 2025-11-30 16:20:16 +09:00
output-state.c include: split output.h from labwc.h 2025-07-30 21:04:31 +01:00
output-virtual.c tree-wide: rename g_server to just server 2026-03-21 21:35:33 +00:00
output.c tree-wide: rename g_server to just server 2026-03-21 21:35:33 +00:00
overlay.c tree-wide: rename g_server to just server 2026-03-21 21:35:33 +00:00
placement.c tree-wide: rename g_server to just server 2026-03-21 21:35:33 +00:00
regions.c tree-wide: rename g_server to just server 2026-03-21 21:35:33 +00:00
resistance.c tree-wide: rename g_server to just server 2026-03-21 21:35:33 +00:00
resize-outlines.c tree-wide: use rc.theme instead of server.theme 2026-03-22 10:16:42 +01:00
seat.c tree-wide: rename seat->seat to seat->wlr_seat for clarity 2026-03-22 00:56:49 +01:00
server.c tree-wide: use rc.theme instead of server.theme 2026-03-22 10:16:42 +01:00
session-lock.c tree-wide: rename g_server to just server 2026-03-21 21:35:33 +00:00
snap-constraints.c src: remove unused #includes (via include-what-you-use) 2025-09-07 19:34:30 +09:00
snap.c common: add node-type.c/h (renaming ssd_part_type to lab_node_type) 2025-09-06 16:00:20 -04:00
tearing.c tree-wide: rename g_server to just server 2026-03-21 21:35:33 +00:00
theme.c tree-wide: rename g_server to just server 2026-03-21 21:35:33 +00:00
view-impl-common.c tree-wide: rename g_server to just server 2026-03-21 21:35:33 +00:00
view.c tree-wide: use rc.theme instead of server.theme 2026-03-22 10:16:42 +01:00
window-rules.c tree-wide: rename g_server to just server 2026-03-21 21:35:33 +00:00
workspaces.c tree-wide: use rc.theme instead of server.theme 2026-03-22 10:16:42 +01:00
xdg-popup.c tree-wide: rename g_server to just server 2026-03-21 21:35:33 +00:00
xdg.c tree-wide: rename g_server to just server 2026-03-21 21:35:33 +00:00
xwayland-unmanaged.c tree-wide: rename seat->seat to seat->wlr_seat for clarity 2026-03-22 00:56:49 +01:00
xwayland.c xwayland: rework setting initial geometry from surface 2026-03-22 21:55:02 +00:00