GTK3 toplevel windows on Wayland don't grow to accommodate new content
once mapped, so when heads are (re)populated asynchronously after the
window is shown, or when switching to the "Apply Changes?" header, the
window can keep its stale (too small) size and clip the settings panel
(Apply/Cancel buttons, Transform, Flipped, etc). This matches #5.
- main.c: explicitly resize the window to its natural size after
rebuilding the head list and after switching the header stack page.
- head.ui: bound the head description label with max-width-chars so a
long EDID description string can't force the layout wider than
intended even when wrap/ellipsize are set.
gcc 15 is more strict and compiles C by default with C23. `noop` is
used as a default null initializer, but now it must have the correct
type, so add a cast.
See also: https://bugs.gentoo.org/946954
The output name overlay renders on the top left by default. At the same
time, wdisplays renders the output previews on its top left corner too.
The results is that the overlay covered the output previews, making
seeing it and interacting with it tricky.
Moving the output name to the bottom left makes sure there's never any
overlap between it and the draggable previews shows for each output.
Changes to protocols aren't forward-compatible. It's not possible to use
version n+1 when a client has been designed to work with version n. For
instance in wlr-screencopy v5 a new event has been added. Binding to
version 5 without upgrading the client leads to libwayland errors
because libwayland doesn't know how to handle the event.
The client needs to maintain its own version requirements.
Closes: https://github.com/cyclopsian/wdisplays/issues/18