mirror of
				https://github.com/labwc/labwc.git
				synced 2025-11-03 09:01:51 -05:00 
			
		
		
		
	Fix coding style following 824282dd
				
					
				
			This commit is contained in:
		
							parent
							
								
									824282dd2e
								
							
						
					
					
						commit
						a9042e3cde
					
				
					 5 changed files with 59 additions and 49 deletions
				
			
		
							
								
								
									
										62
									
								
								src/server.c
									
										
									
									
									
								
							
							
						
						
									
										62
									
								
								src/server.c
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -79,62 +79,68 @@ drop_permissions(void)
 | 
			
		|||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void seat_inhibit_input(struct seat *seat,  struct wl_client *active_client)
 | 
			
		||||
static void
 | 
			
		||||
seat_inhibit_input(struct seat *seat,  struct wl_client *active_client)
 | 
			
		||||
{
 | 
			
		||||
	seat->active_client_while_inhibited = active_client;
 | 
			
		||||
 | 
			
		||||
	if(seat->focused_layer &&
 | 
			
		||||
	   (wl_resource_get_client(seat->focused_layer->resource) !=
 | 
			
		||||
	    active_client))
 | 
			
		||||
	{
 | 
			
		||||
	if (seat->focused_layer &&
 | 
			
		||||
	    (wl_resource_get_client(seat->focused_layer->resource) !=
 | 
			
		||||
	    active_client)) {
 | 
			
		||||
		seat_set_focus_layer(seat, NULL);
 | 
			
		||||
	}
 | 
			
		||||
	struct wlr_surface * previous_kb_surface = seat->seat->keyboard_state.focused_surface;
 | 
			
		||||
	struct wlr_surface *previous_kb_surface =
 | 
			
		||||
		seat->seat->keyboard_state.focused_surface;
 | 
			
		||||
	if (previous_kb_surface &&
 | 
			
		||||
	    wl_resource_get_client(previous_kb_surface->resource) != active_client) {
 | 
			
		||||
		seat_focus_surface(seat, NULL);	  /* keyboard focus */
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	struct wlr_seat_client * previous_ptr_client = seat->seat->pointer_state.focused_client;
 | 
			
		||||
	struct wlr_seat_client *previous_ptr_client =
 | 
			
		||||
		seat->seat->pointer_state.focused_client;
 | 
			
		||||
	if (previous_ptr_client &&
 | 
			
		||||
	    (previous_ptr_client->client != active_client)) {
 | 
			
		||||
		wlr_seat_pointer_clear_focus(seat->seat);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void seat_disinhibit_input(struct seat *seat)
 | 
			
		||||
static void
 | 
			
		||||
seat_disinhibit_input(struct seat *seat)
 | 
			
		||||
{
 | 
			
		||||
	seat->active_client_while_inhibited = NULL;
 | 
			
		||||
	// Triggers a refocus of the topmost surface layer if necessary
 | 
			
		||||
	// TODO: Make layer surface focus per-output based on cursor position
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
	 * Triggers a refocus of the topmost surface layer if necessary
 | 
			
		||||
	 * TODO: Make layer surface focus per-output based on cursor position
 | 
			
		||||
	 */
 | 
			
		||||
	struct output *output;
 | 
			
		||||
	wl_list_for_each(output, &seat->server->outputs, link)
 | 
			
		||||
	wl_list_for_each(output, &seat->server->outputs, link) {
 | 
			
		||||
		arrange_layers(output);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static void handle_input_inhibit(struct wl_listener *listener, void *data) {
 | 
			
		||||
static void
 | 
			
		||||
handle_input_inhibit(struct wl_listener *listener, void *data)
 | 
			
		||||
{
 | 
			
		||||
	wlr_log(WLR_INFO, "activate input inhibit");
 | 
			
		||||
 | 
			
		||||
	struct server *server = wl_container_of(
 | 
			
		||||
	    listener, server, input_inhibit_activate);
 | 
			
		||||
 | 
			
		||||
	seat_inhibit_input(&server->seat,
 | 
			
		||||
	    server->input_inhibit->active_client);
 | 
			
		||||
	struct server *server =
 | 
			
		||||
		wl_container_of(listener, server, input_inhibit_activate);
 | 
			
		||||
	seat_inhibit_input(&server->seat, server->input_inhibit->active_client);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void handle_input_disinhibit(struct wl_listener *listener, void *data) {
 | 
			
		||||
static void
 | 
			
		||||
handle_input_disinhibit(struct wl_listener *listener, void *data)
 | 
			
		||||
{
 | 
			
		||||
	wlr_log(WLR_INFO, "deactivate input inhibit");
 | 
			
		||||
 | 
			
		||||
	struct server *server = wl_container_of(
 | 
			
		||||
	    listener, server, input_inhibit_deactivate);
 | 
			
		||||
 | 
			
		||||
	struct server *server =
 | 
			
		||||
		wl_container_of(listener, server, input_inhibit_deactivate);
 | 
			
		||||
	seat_disinhibit_input(&server->seat);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
server_init(struct server *server)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -260,17 +266,19 @@ server_init(struct server *server)
 | 
			
		|||
	wlr_data_control_manager_v1_create(server->wl_display);
 | 
			
		||||
	wlr_gamma_control_manager_v1_create(server->wl_display);
 | 
			
		||||
 | 
			
		||||
	// struct wlr_input_inhibit_manager *input_inhibit_mgr = NULL;
 | 
			
		||||
	server->input_inhibit = wlr_input_inhibit_manager_create(server->wl_display);
 | 
			
		||||
	server->input_inhibit =
 | 
			
		||||
		wlr_input_inhibit_manager_create(server->wl_display);
 | 
			
		||||
	if (!server->input_inhibit) {
 | 
			
		||||
		wlr_log(WLR_ERROR, "unable to create the input inhibit manager");
 | 
			
		||||
		wlr_log(WLR_ERROR, "unable to create input inhibit manager");
 | 
			
		||||
		exit(EXIT_FAILURE);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	wl_signal_add(&server->input_inhibit->events.activate, &server->input_inhibit_activate);
 | 
			
		||||
	wl_signal_add(&server->input_inhibit->events.activate,
 | 
			
		||||
		&server->input_inhibit_activate);
 | 
			
		||||
	server->input_inhibit_activate.notify = handle_input_inhibit;
 | 
			
		||||
 | 
			
		||||
	wl_signal_add(&server->input_inhibit->events.deactivate, &server->input_inhibit_deactivate);
 | 
			
		||||
	wl_signal_add(&server->input_inhibit->events.deactivate,
 | 
			
		||||
		&server->input_inhibit_deactivate);
 | 
			
		||||
	server->input_inhibit_deactivate.notify = handle_input_disinhibit;
 | 
			
		||||
 | 
			
		||||
	server->foreign_toplevel_manager =
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue