Age | Commit message (Collapse) | Author |
|
Add xdg-decoration-unstable-v1 support
|
|
Whenever a new surface is created, we have to update the cursor focus,
even if there's no input event. So, we generate one motion event, and
reuse the code to update the proper cursor focus. We need to do this
for all surface roles - toplevels, popups, subsurfaces.
Fixes #1162
|
|
|
|
|
|
This function defaults and clips the xdg-surface geometry to the
bounding box of the surface + its subsurfaces, as specified by the
protocol spec.
|
|
The user-visible issue is that newly-mapped xdg-shell* windows would
sometimes start with their top-left-corner, rather than their center, in
the center of the screen. This is because get_size() would
conservatively fall back on (width, height) == (0, 0) if both
set_window_geometry() had not been called, and it found
view->wlr_surface to be NULL.
But, view->wlr_surface is only set to non-NULL in view_map(). We call
get_size() before this. Fortunately, the wlr_surface in question is
accessible via view->xdg_shell{,_v6}->surface, so always fall back on
that. We can assert its presence instead of further falling back on
(width, height) == (0, 0).
Signed-off-by: Genki Sky <sky@genki.is>
|
|
|
|
|
|
|
|
[WIP] xdg-shell: damage view when popup is mapped/unmapped
|
|
|
|
Ports 5233801530c5ccc95699a12ba7da2d7ce58c952c and
334bab543d6688769a86374a1ddd3d3b36e619b4 to xdg-shell stable.
|
|
|
|
|
|
|
|
|
|
so we can do basic view setup. Will be used to initialize alpha.
|
|
|