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_update_image(struct seat *seat);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void cursor_init(struct seat *seat);
 | 
					void cursor_init(struct seat *seat);
 | 
				
			||||||
 | 
					void cursor_load(struct seat *seat);
 | 
				
			||||||
void cursor_emulate_move_absolute(struct seat *seat,
 | 
					void cursor_emulate_move_absolute(struct seat *seat,
 | 
				
			||||||
		struct wlr_input_device *device,
 | 
							struct wlr_input_device *device,
 | 
				
			||||||
		double x, double y, uint32_t time_msec);
 | 
							double x, double y, uint32_t time_msec);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1253,12 +1253,15 @@ cursor_frame(struct wl_listener *listener, void *data)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
cursor_init(struct seat *seat)
 | 
					cursor_load(struct seat *seat)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	const char *xcursor_theme = getenv("XCURSOR_THEME");
 | 
						const char *xcursor_theme = getenv("XCURSOR_THEME");
 | 
				
			||||||
	const char *xcursor_size = getenv("XCURSOR_SIZE");
 | 
						const char *xcursor_size = getenv("XCURSOR_SIZE");
 | 
				
			||||||
	uint32_t size = xcursor_size ? atoi(xcursor_size) : 24;
 | 
						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);
 | 
						seat->xcursor_manager = wlr_xcursor_manager_create(xcursor_theme, size);
 | 
				
			||||||
	wlr_xcursor_manager_load(seat->xcursor_manager, 1);
 | 
						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 theme is missing cursor names, using fallback");
 | 
				
			||||||
		cursor_names = cursors_x11;
 | 
							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 */
 | 
						/* Set the initial cursor image so the cursor is visible right away */
 | 
				
			||||||
	cursor_set(seat, LAB_CURSOR_DEFAULT);
 | 
						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->input_method_relay = input_method_relay_create(seat);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						seat->xcursor_manager = NULL;
 | 
				
			||||||
	seat->cursor = wlr_cursor_create();
 | 
						seat->cursor = wlr_cursor_create();
 | 
				
			||||||
	if (!seat->cursor) {
 | 
						if (!seat->cursor) {
 | 
				
			||||||
		wlr_log(WLR_ERROR, "unable to create cursor");
 | 
							wlr_log(WLR_ERROR, "unable to create cursor");
 | 
				
			||||||
| 
						 | 
					@ -571,6 +572,7 @@ seat_reconfigure(struct server *server)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct seat *seat = &server->seat;
 | 
						struct seat *seat = &server->seat;
 | 
				
			||||||
	struct input *input;
 | 
						struct input *input;
 | 
				
			||||||
 | 
						cursor_load(seat);
 | 
				
			||||||
	wl_list_for_each(input, &seat->inputs, link) {
 | 
						wl_list_for_each(input, &seat->inputs, link) {
 | 
				
			||||||
		switch (input->wlr_input_device->type) {
 | 
							switch (input->wlr_input_device->type) {
 | 
				
			||||||
		case WLR_INPUT_DEVICE_KEYBOARD:
 | 
							case WLR_INPUT_DEVICE_KEYBOARD:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue