mirror of
				https://github.com/labwc/labwc.git
				synced 2025-11-03 09:01:51 -05: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