<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wlroots.git/xwayland, branch master</title>
<subtitle>fork of wlroots with action binder support
</subtitle>
<id>https://git.vlhl.dev/navi/wayland/wlroots.git/atom?h=master</id>
<link rel='self' href='https://git.vlhl.dev/navi/wayland/wlroots.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/'/>
<updated>2024-02-23T17:46:25+00:00</updated>
<entry>
<title>xwayland: add map_request signal</title>
<updated>2024-02-23T17:46:25+00:00</updated>
<author>
<name>John Lindgren</name>
<email>john@jlindgren.net</email>
</author>
<published>2024-02-12T23:37:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=2521fba37c396909eec6da88070ec9111aa2c507'/>
<id>urn:sha1:2521fba37c396909eec6da88070ec9111aa2c507</id>
<content type='text'>
For XWayland surfaces that start maximized, it's best to send an initial
Configure event to set the size of the surface before mapping it. This
reduces visual glitches since the application sees the correct maximized
size when performing its initial layout and drawing.

wlroots surfaces emit their first "map" event after the XWayland window
has already been mapped and the first frame has been drawn &amp; committed.
This is too late to send the initial Configure event.

So, add a new "map_request" event which is emitted immediately before
telling XWayland to map the window. Compositors can connect to this
event to send the initial Configure event to an XWayland app based on
its requested maximized (or fullscreen) state.

Compositors should not place anything visually on the screen at this
point but rather wait until the "map" event as before.
</content>
</entry>
<entry>
<title>xwayland/xwm: Initialize client_id_cookie</title>
<updated>2024-02-22T22:13:36+00:00</updated>
<author>
<name>Kenny Levinsen</name>
<email>kl@kl.wtf</email>
</author>
<published>2024-02-22T22:13:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=51c1e4aed19ad31a93eeb36cd9ca2d7b889897c1'/>
<id>urn:sha1:51c1e4aed19ad31a93eeb36cd9ca2d7b889897c1</id>
<content type='text'>
scan-build is a little confused, thinking xwm-&gt;xres value could change
during the execution of xwayland_surface_create so client_id_cookie
could end up used uninitialized.

The struct is just an unsigned int, so no harm in initializing it to get
it off the list.
</content>
</entry>
<entry>
<title>xwayland/xwm: Allocate to the right variable</title>
<updated>2024-02-22T16:46:05+00:00</updated>
<author>
<name>Kenny Levinsen</name>
<email>kl@kl.wtf</email>
</author>
<published>2024-02-22T16:41:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=484a87ce616e28791e9f7ae285d79e1ec4871892'/>
<id>urn:sha1:484a87ce616e28791e9f7ae285d79e1ec4871892</id>
<content type='text'>
837060f894a4 made a change to only allocate the xcb_window_t array if it
was not going to be zero-sized. It accidentally shadowed the variable so
the output of the allocation would never be used.

Regressed-by: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4563
</content>
</entry>
<entry>
<title>xwayland/xwm: Avoid zero-size allocaiton</title>
<updated>2024-02-22T13:10:46+00:00</updated>
<author>
<name>Kenny Levinsen</name>
<email>kl@kl.wtf</email>
</author>
<published>2024-02-22T12:44:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=837060f894a4aba7d069b35f4600003fb0d10036'/>
<id>urn:sha1:837060f894a4aba7d069b35f4600003fb0d10036</id>
<content type='text'>
Zero-sized allocations have glibc-specific behavior, so avoid those.
</content>
</entry>
<entry>
<title>Define _POSIX_C_SOURCE globally</title>
<updated>2024-02-15T14:41:12+00:00</updated>
<author>
<name>Simon Ser</name>
<email>contact@emersion.fr</email>
</author>
<published>2024-02-15T14:34:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=842093bb843ae6c719c2b1cf32eb749cab9e46ca'/>
<id>urn:sha1:842093bb843ae6c719c2b1cf32eb749cab9e46ca</id>
<content type='text'>
Stop trying to maintain a per-file _POSIX_C_SOURCE. Instead,
require POSIX.1-2008 globally. A lot of core source files depend
on that already.

Some care must be taken on a few select files where we need a bit
more than POSIX. Some files need XSI extensions (_XOPEN_SOURCE) and
some files need BSD extensions (_DEFAULT_SOURCE). In both cases,
these feature test macros imply _POSIX_C_SOURCE. Make sure to not
define both these macros and _POSIX_C_SOURCE explicitly to avoid
POSIX requirement conflicts (e.g. _POSIX_C_SOURCE says POSIX.1-2001
but _XOPEN_SOURCE says POSIX.1-2008).

Additionally, there is one special case in render/vulkan/vulkan.c.
That file needs major()/minor(), and these are system-specific.
On FreeBSD, _POSIX_C_SOURCE hides system-specific symbols so we need
to make sure it's not defined for this file. On Linux, we can
explicitly include &lt;sys/sysmacros.h&gt; and ensure that apart from
symbols defined there the file only uses POSIX toys.
</content>
</entry>
<entry>
<title>xwayland: add support for _NET_WM_WINDOW_TYPE_DESKTOP atom</title>
<updated>2024-01-25T16:27:37+00:00</updated>
<author>
<name>Grigory Kirillov</name>
<email>txgk@bk.ru</email>
</author>
<published>2024-01-25T16:27:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=0867dd4e6bf1c0ff8d947d563bdd333464a1c0a8'/>
<id>urn:sha1:0867dd4e6bf1c0ff8d947d563bdd333464a1c0a8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix disappearing menus in QT apps</title>
<updated>2024-01-25T08:45:05+00:00</updated>
<author>
<name>Sarunas Valaskevicius</name>
<email>rakatan@gmail.com</email>
</author>
<published>2024-01-13T22:28:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=7c080c3b60a48c9b8602f181a1bc436d5df223e8'/>
<id>urn:sha1:7c080c3b60a48c9b8602f181a1bc436d5df223e8</id>
<content type='text'>
A motivating example of such problem - Zoom's popups that open on button presses.

Before this fix the popup would flicker and immediately disappear - because the PID is not yet
available for the verification (as the surface has not been associated yet), wlroots would refuse to
focus the popup and instead focus the previous window. This leads QT to interpret this as a sign to
close the popup.

This change moves the PID aqcuisition to an earlier phase - just where the window is created.
</content>
</entry>
<entry>
<title>xwayland/xwm: associate even on xcb_get_property() failure</title>
<updated>2024-01-24T09:42:18+00:00</updated>
<author>
<name>Kirill Primak</name>
<email>vyivel@eclair.cafe</email>
</author>
<published>2024-01-24T09:42:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=f91fc445ffeb7d6be990e98c5951d91a872f49a9'/>
<id>urn:sha1:f91fc445ffeb7d6be990e98c5951d91a872f49a9</id>
<content type='text'>
This matches the behavior before f5797be8a8d410e22fa6397b2217a6a81858d05c.
</content>
</entry>
<entry>
<title>xwayland: close pipe fds on set_cloexec() error</title>
<updated>2024-01-17T15:44:37+00:00</updated>
<author>
<name>Kirill Primak</name>
<email>vyivel@eclair.cafe</email>
</author>
<published>2024-01-16T23:18:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=d18670b9228bf82a16c750f948784ce029dde857'/>
<id>urn:sha1:d18670b9228bf82a16c750f948784ce029dde857</id>
<content type='text'>
</content>
</entry>
<entry>
<title>xwm: don't do anything except mapping on MapRequest</title>
<updated>2023-11-27T10:21:17+00:00</updated>
<author>
<name>Kirill Primak</name>
<email>vyivel@eclair.cafe</email>
</author>
<published>2023-11-25T23:49:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=c3c7b1c9d01ed876144fdf9210aba8d1ad38b332'/>
<id>urn:sha1:c3c7b1c9d01ed876144fdf9210aba8d1ad38b332</id>
<content type='text'>
Instead, move the wlr_xwayland_surface_set_withdrawn() and
wlr_xwayland_surface_restack() calls to the MapNotify handler with an
override_redirect check, as they are done too early. This mirrors the logic in
the UnmapNotify handler and fixes a bug where wlr_xwayland_surface_restack()
would be called on an o-r window after the following sequence of requests:

- CreateWindow with override_redirect=True
- ChangeWindowAttributes with override_redirect=False
- MapWindow

Fixes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3770
</content>
</entry>
</feed>
