mirror of
				https://github.com/labwc/labwc.git
				synced 2025-11-03 09:01:51 -05:00 
			
		
		
		
	osd: prevent preview outlines to be above OSD
86c3597 raised server->menu_tree above layer shell surfaces, but it caused
preview outlines for window switcher to be placed above the OSD because
the preview outlines are placed just above server->menu_tree.
So this commit fixes it by placing server->osd_tree above server->menu.
This also prevents layer-shell surfaces from covering the OSD.
Before (higher-first):
- preview outlines (just above menu)
- menu
- layer-shell (top/overlay/popup)
- osd
After (higher-first):
- osd
- preview outlines (just above menu)
- menu
- layer-shell (top/overlay/popup)
			
			
This commit is contained in:
		
							parent
							
								
									8d9bd2d747
								
							
						
					
					
						commit
						773bdc3823
					
				
					 2 changed files with 3 additions and 0 deletions
				
			
		| 
						 | 
					@ -511,6 +511,7 @@ new_output_notify(struct wl_listener *listener, void *data)
 | 
				
			||||||
	 * Set the z-positions to achieve the following order (from top to
 | 
						 * Set the z-positions to achieve the following order (from top to
 | 
				
			||||||
	 * bottom):
 | 
						 * bottom):
 | 
				
			||||||
	 *	- session lock layer
 | 
						 *	- session lock layer
 | 
				
			||||||
 | 
						 *	- window switcher osd
 | 
				
			||||||
	 *	- compositor menu
 | 
						 *	- compositor menu
 | 
				
			||||||
	 *	- layer-shell popups
 | 
						 *	- layer-shell popups
 | 
				
			||||||
	 *	- overlay layer
 | 
						 *	- overlay layer
 | 
				
			||||||
| 
						 | 
					@ -525,6 +526,7 @@ new_output_notify(struct wl_listener *listener, void *data)
 | 
				
			||||||
	wlr_scene_node_raise_to_top(&output->layer_tree[3]->node);
 | 
						wlr_scene_node_raise_to_top(&output->layer_tree[3]->node);
 | 
				
			||||||
	wlr_scene_node_raise_to_top(&output->layer_popup_tree->node);
 | 
						wlr_scene_node_raise_to_top(&output->layer_popup_tree->node);
 | 
				
			||||||
	wlr_scene_node_raise_to_top(&server->menu_tree->node);
 | 
						wlr_scene_node_raise_to_top(&server->menu_tree->node);
 | 
				
			||||||
 | 
						wlr_scene_node_raise_to_top(&output->osd_tree->node);
 | 
				
			||||||
	wlr_scene_node_raise_to_top(&output->session_lock_tree->node);
 | 
						wlr_scene_node_raise_to_top(&output->session_lock_tree->node);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (rc.auto_enable_outputs) {
 | 
						if (rc.auto_enable_outputs) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -561,6 +561,7 @@ server_init(struct server *server)
 | 
				
			||||||
	 * | Type              | Scene Tree       | Per Output | Example
 | 
						 * | Type              | Scene Tree       | Per Output | Example
 | 
				
			||||||
	 * | ----------------- | ---------------- | ---------- | -------
 | 
						 * | ----------------- | ---------------- | ---------- | -------
 | 
				
			||||||
	 * | ext-session       | lock-screen      | Yes        | swaylock
 | 
						 * | ext-session       | lock-screen      | Yes        | swaylock
 | 
				
			||||||
 | 
						 * | osd               | osd_tree         | Yes        |
 | 
				
			||||||
	 * | compositor-menu   | menu_tree        | No         | root-menu
 | 
						 * | compositor-menu   | menu_tree        | No         | root-menu
 | 
				
			||||||
	 * | layer-shell       | layer-popups     | Yes        |
 | 
						 * | layer-shell       | layer-popups     | Yes        |
 | 
				
			||||||
	 * | layer-shell       | overlay-layer    | Yes        |
 | 
						 * | layer-shell       | overlay-layer    | Yes        |
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue