mirror of
				https://github.com/swaywm/sway.git
				synced 2025-11-03 09:01:43 -05:00 
			
		
		
		
	Merge pull request #2379 from emersion/xwayland-unmanaged
Don't give focus if xwayland window has a type hint
This commit is contained in:
		
						commit
						ca8f177e14
					
				
					 1 changed files with 7 additions and 5 deletions
				
			
		| 
						 | 
					@ -69,12 +69,14 @@ static void unmanaged_handle_map(struct wl_listener *listener, void *data) {
 | 
				
			||||||
	surface->ly = xsurface->y;
 | 
						surface->ly = xsurface->y;
 | 
				
			||||||
	desktop_damage_surface(xsurface->surface, surface->lx, surface->ly, true);
 | 
						desktop_damage_surface(xsurface->surface, surface->lx, surface->ly, true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (wlr_xwayland_or_surface_wants_focus(xsurface)) {
 | 
				
			||||||
		struct sway_seat *seat = input_manager_current_seat(input_manager);
 | 
							struct sway_seat *seat = input_manager_current_seat(input_manager);
 | 
				
			||||||
		struct wlr_xwayland *xwayland =
 | 
							struct wlr_xwayland *xwayland =
 | 
				
			||||||
			seat->input->server->xwayland.wlr_xwayland;
 | 
								seat->input->server->xwayland.wlr_xwayland;
 | 
				
			||||||
		wlr_xwayland_set_seat(xwayland, seat->wlr_seat);
 | 
							wlr_xwayland_set_seat(xwayland, seat->wlr_seat);
 | 
				
			||||||
		seat_set_focus_surface(seat, xsurface->surface, false);
 | 
							seat_set_focus_surface(seat, xsurface->surface, false);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void unmanaged_handle_unmap(struct wl_listener *listener, void *data) {
 | 
					static void unmanaged_handle_unmap(struct wl_listener *listener, void *data) {
 | 
				
			||||||
	struct sway_xwayland_unmanaged *surface =
 | 
						struct sway_xwayland_unmanaged *surface =
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue