mirror of
https://github.com/labwc/labwc.git
synced 2025-10-29 05:40:24 -04:00
output,xwayland: Add support for _NET_WM_STRUT_PARTIAL
Account for space taken up by XWayland panels (as indicated by the _NET_WM_STRUT_PARTIAL property) in the usable_area calculation. This makes it possible to use labwc in a "transitional" setup, where it replaces the X11 window manager and compositor, but most other parts of a existing X11 desktop environment can still be used via XWayland. (Some remaining drawbacks of such a setup would be the lack of desktop icons, and native Wayland clients not showing up in X11-based taskbars.)
This commit is contained in:
parent
a9076f2a01
commit
0a5255f062
3 changed files with 129 additions and 0 deletions
|
|
@ -6,6 +6,8 @@
|
|||
#include "view.h"
|
||||
|
||||
struct wlr_compositor;
|
||||
struct wlr_output;
|
||||
struct wlr_output_layout;
|
||||
|
||||
struct xwayland_unmanaged {
|
||||
struct server *server;
|
||||
|
|
@ -37,6 +39,7 @@ struct xwayland_view {
|
|||
struct wl_listener set_class;
|
||||
struct wl_listener set_decorations;
|
||||
struct wl_listener set_override_redirect;
|
||||
struct wl_listener set_strut_partial;
|
||||
|
||||
/* Not (yet) implemented */
|
||||
/* struct wl_listener set_role; */
|
||||
|
|
@ -58,6 +61,10 @@ void xwayland_server_init(struct server *server,
|
|||
struct wlr_compositor *compositor);
|
||||
void xwayland_server_finish(struct server *server);
|
||||
|
||||
void xwayland_adjust_usable_area(struct view *view,
|
||||
struct wlr_output_layout *layout, struct wlr_output *output,
|
||||
struct wlr_box *usable);
|
||||
|
||||
void xwayland_update_workarea(struct server *server);
|
||||
|
||||
#endif /* HAVE_XWAYLAND */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue