mirror of
				https://github.com/labwc/labwc.git
				synced 2025-11-03 09:01:51 -05:00 
			
		
		
		
	
							parent
							
								
									9e0846ea14
								
							
						
					
					
						commit
						1e1e90d0bb
					
				
					 3 changed files with 13 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -119,6 +119,7 @@ void cursor_update_focus(struct server *server);
 | 
			
		|||
void cursor_update_image(struct seat *seat);
 | 
			
		||||
 | 
			
		||||
void cursor_init(struct seat *seat);
 | 
			
		||||
void cursor_load(struct seat *seat);
 | 
			
		||||
void cursor_emulate_move_absolute(struct seat *seat,
 | 
			
		||||
		struct wlr_input_device *device,
 | 
			
		||||
		double x, double y, uint32_t time_msec);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1253,12 +1253,15 @@ cursor_frame(struct wl_listener *listener, void *data)
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
cursor_init(struct seat *seat)
 | 
			
		||||
cursor_load(struct seat *seat)
 | 
			
		||||
{
 | 
			
		||||
	const char *xcursor_theme = getenv("XCURSOR_THEME");
 | 
			
		||||
	const char *xcursor_size = getenv("XCURSOR_SIZE");
 | 
			
		||||
	uint32_t size = xcursor_size ? atoi(xcursor_size) : 24;
 | 
			
		||||
 | 
			
		||||
	if (seat->xcursor_manager) {
 | 
			
		||||
		wlr_xcursor_manager_destroy(seat->xcursor_manager);
 | 
			
		||||
	}
 | 
			
		||||
	seat->xcursor_manager = wlr_xcursor_manager_create(xcursor_theme, size);
 | 
			
		||||
	wlr_xcursor_manager_load(seat->xcursor_manager, 1);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1293,6 +1296,12 @@ cursor_init(struct seat *seat)
 | 
			
		|||
			"Cursor theme is missing cursor names, using fallback");
 | 
			
		||||
		cursor_names = cursors_x11;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
cursor_init(struct seat *seat)
 | 
			
		||||
{
 | 
			
		||||
	cursor_load(seat);
 | 
			
		||||
 | 
			
		||||
	/* Set the initial cursor image so the cursor is visible right away */
 | 
			
		||||
	cursor_set(seat, LAB_CURSOR_DEFAULT);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -529,6 +529,7 @@ seat_init(struct server *server)
 | 
			
		|||
 | 
			
		||||
	seat->input_method_relay = input_method_relay_create(seat);
 | 
			
		||||
 | 
			
		||||
	seat->xcursor_manager = NULL;
 | 
			
		||||
	seat->cursor = wlr_cursor_create();
 | 
			
		||||
	if (!seat->cursor) {
 | 
			
		||||
		wlr_log(WLR_ERROR, "unable to create cursor");
 | 
			
		||||
| 
						 | 
				
			
			@ -571,6 +572,7 @@ seat_reconfigure(struct server *server)
 | 
			
		|||
{
 | 
			
		||||
	struct seat *seat = &server->seat;
 | 
			
		||||
	struct input *input;
 | 
			
		||||
	cursor_load(seat);
 | 
			
		||||
	wl_list_for_each(input, &seat->inputs, link) {
 | 
			
		||||
		switch (input->wlr_input_device->type) {
 | 
			
		||||
		case WLR_INPUT_DEVICE_KEYBOARD:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue