mirror of
				https://github.com/labwc/labwc.git
				synced 2025-11-03 09:01:51 -05:00 
			
		
		
		
	xwayland: Implement request_activate
Used by Steam, for example, on the Friends and Chat button. Signed-off-by: Joshua Ashton <joshua@froggi.es>
This commit is contained in:
		
							parent
							
								
									5ae921d785
								
							
						
					
					
						commit
						d5532ace7a
					
				
					 2 changed files with 12 additions and 0 deletions
				
			
		| 
						 | 
					@ -277,6 +277,7 @@ struct view {
 | 
				
			||||||
	struct wl_listener request_move;
 | 
						struct wl_listener request_move;
 | 
				
			||||||
	struct wl_listener request_resize;
 | 
						struct wl_listener request_resize;
 | 
				
			||||||
	struct wl_listener request_configure;	/* xwayland only */
 | 
						struct wl_listener request_configure;	/* xwayland only */
 | 
				
			||||||
 | 
						struct wl_listener request_activate;
 | 
				
			||||||
	struct wl_listener request_minimize;
 | 
						struct wl_listener request_minimize;
 | 
				
			||||||
	struct wl_listener request_maximize;
 | 
						struct wl_listener request_maximize;
 | 
				
			||||||
	struct wl_listener request_fullscreen;
 | 
						struct wl_listener request_fullscreen;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -111,6 +111,15 @@ handle_request_configure(struct wl_listener *listener, void *data)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
#undef MAX
 | 
					#undef MAX
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void
 | 
				
			||||||
 | 
					handle_request_activate(struct wl_listener *listener, void *data)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						struct view *view = wl_container_of(listener, view, request_activate);
 | 
				
			||||||
 | 
						assert(view);
 | 
				
			||||||
 | 
						desktop_focus_and_activate_view(&view->server->seat, view);
 | 
				
			||||||
 | 
						desktop_move_to_front(view);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void
 | 
					static void
 | 
				
			||||||
handle_request_minimize(struct wl_listener *listener, void *data)
 | 
					handle_request_minimize(struct wl_listener *listener, void *data)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					@ -368,6 +377,8 @@ xwayland_surface_new(struct wl_listener *listener, void *data)
 | 
				
			||||||
	wl_signal_add(&xsurface->events.destroy, &view->destroy);
 | 
						wl_signal_add(&xsurface->events.destroy, &view->destroy);
 | 
				
			||||||
	view->request_configure.notify = handle_request_configure;
 | 
						view->request_configure.notify = handle_request_configure;
 | 
				
			||||||
	wl_signal_add(&xsurface->events.request_configure, &view->request_configure);
 | 
						wl_signal_add(&xsurface->events.request_configure, &view->request_configure);
 | 
				
			||||||
 | 
						view->request_activate.notify = handle_request_activate;
 | 
				
			||||||
 | 
						wl_signal_add(&xsurface->events.request_activate, &view->request_activate);
 | 
				
			||||||
	view->request_minimize.notify = handle_request_minimize;
 | 
						view->request_minimize.notify = handle_request_minimize;
 | 
				
			||||||
	wl_signal_add(&xsurface->events.request_minimize, &view->request_minimize);
 | 
						wl_signal_add(&xsurface->events.request_minimize, &view->request_minimize);
 | 
				
			||||||
	view->request_maximize.notify = handle_request_maximize;
 | 
						view->request_maximize.notify = handle_request_maximize;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue