@ -13,17 +13,19 @@ static const struct zwp_idle_inhibit_manager_v1_interface idle_inhibit_impl;
 
			
		
	
		
		
			
				
					
					static  const  struct  zwp_idle_inhibitor_v1_interface  idle_inhibitor_impl ; static  const  struct  zwp_idle_inhibitor_v1_interface  idle_inhibitor_impl ;  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					static  struct  wlr_idle_inhibit_manager_v1  * static  struct  wlr_idle_inhibit_manager_v1  *  
			
		
	
		
		
			
				
					
					wlr_idle_inhibit_manager_v1_from_resource ( struct  wl_resource  * resource )  { wlr_idle_inhibit_manager_v1_from_resource ( struct  wl_resource  * manager_resource )  {  
			
				
				
			
		
	
		
		
			
				
					
						assert ( wl_resource_instance_of ( resource ,  & zwp_idle_inhibit_manager_v1_interface , 
	assert ( wl_resource_instance_of ( manager_resource , 
 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
							& zwp_idle_inhibit_manager_v1_interface , 
 
			
		
	
		
		
			
				
					
							& idle_inhibit_impl ) ) ; 
		& idle_inhibit_impl ) ) ; 
 
			
		
	
		
		
			
				
					
						return  wl_resource_get_user_data ( ) ; 
	return  wl_resource_get_user_data ( manager_ resource) ; 
 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					} }  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					static  struct  wlr_idle_inhibitor_v1  * static  struct  wlr_idle_inhibitor_v1  *  
			
		
	
		
		
			
				
					
					wlr_idle_inhibitor_v1_from_resource ( struct  wl_resource  * resource )  { wlr_idle_inhibitor_v1_from_resource ( struct  wl_resource  * inhibitor_resource )  {  
			
				
				
			
		
	
		
		
			
				
					
						assert ( wl_resource_instance_of ( resource ,  & zwp_idle_inhibitor_v1_interface , 
	assert ( wl_resource_instance_of ( inhibitor_resource , 
 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
							& zwp_idle_inhibitor_v1_interface , 
 
			
		
	
		
		
			
				
					
							& idle_inhibitor_impl ) ) ; 
		& idle_inhibitor_impl ) ) ; 
 
			
		
	
		
		
			
				
					
						return  wl_resource_get_user_data ( ) ; 
	return  wl_resource_get_user_data ( inhibitor_ resource) ; 
 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					} }  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					static  void  idle_inhibitor_v1_destroy ( struct  wlr_idle_inhibitor_v1  * inhibitor )  { static  void  idle_inhibitor_v1_destroy ( struct  wlr_idle_inhibitor_v1  * inhibitor )  {  
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -39,9 +41,10 @@ static void idle_inhibitor_v1_destroy(struct wlr_idle_inhibitor_v1 *inhibitor) {
 
			
		
	
		
		
			
				
					
						free ( inhibitor ) ; 
	free ( inhibitor ) ; 
 
			
		
	
		
		
			
				
					
					} }  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					static  void  idle_inhibitor_v1_handle_resource_destroy ( struct  wl_resource  * resource )  { static  void  idle_inhibitor_v1_handle_resource_destroy (  
			
				
				
			
		
	
		
		
	
		
		
			
				
					
							struct  wl_resource  * inhibitor_resource )  { 
 
			
		
	
		
		
			
				
					
						struct  wlr_idle_inhibitor_v1  * inhibitor  = 
	struct  wlr_idle_inhibitor_v1  * inhibitor  = 
 
			
		
	
		
		
			
				
					
							wlr_idle_inhibitor_v1_from_resource ( ) ; 
		wlr_idle_inhibitor_v1_from_resource ( inhibitor_ resource) ; 
 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
						idle_inhibitor_v1_destroy ( inhibitor ) ; 
	idle_inhibitor_v1_destroy ( inhibitor ) ; 
 
			
		
	
		
		
			
				
					
					} }  
			
		
	
		
		
			
				
					
					
 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -53,8 +56,8 @@ static void idle_inhibitor_handle_surface_destroy(
 
			
		
	
		
		
			
				
					
					} }  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					static  void  idle_inhibitor_v1_handle_destroy ( struct  wl_client  * client , static  void  idle_inhibitor_v1_handle_destroy ( struct  wl_client  * client ,  
			
		
	
		
		
			
				
					
							struct  wl_resource  * manage r_resource)  { 
		struct  wl_resource  * inhibito r_resource)  { 
 
			
				
				
			
		
	
		
		
			
				
					
						wl_resource_destroy ( manage r_resource) ; 
	wl_resource_destroy ( inhibito r_resource) ; 
 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					} }  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					static  const  struct  zwp_idle_inhibitor_v1_interface  idle_inhibitor_impl  =  { static  const  struct  zwp_idle_inhibitor_v1_interface  idle_inhibitor_impl  =  {  
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -62,11 +65,11 @@ static const struct zwp_idle_inhibitor_v1_interface idle_inhibitor_impl = {
 
			
		
	
		
		
			
				
					
					} ; } ;  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					static  void  manager_handle_create_inhibitor ( struct  wl_client  * client , static  void  manager_handle_create_inhibitor ( struct  wl_client  * client ,  
			
		
	
		
		
			
				
					
							struct  wl_resource  * ,  uint32_t  id , 
		struct  wl_resource  * manager_ resource,  uint32_t  id , 
 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
							struct  wl_resource  * surface_resource )  { 
		struct  wl_resource  * surface_resource )  { 
 
			
		
	
		
		
			
				
					
						struct  wlr_surface  * surface  =  wlr_surface_from_resource ( surface_resource ) ; 
	struct  wlr_surface  * surface  =  wlr_surface_from_resource ( surface_resource ) ; 
 
			
		
	
		
		
			
				
					
						struct  wlr_idle_inhibit_manager_v1  * manager  = 
	struct  wlr_idle_inhibit_manager_v1  * manager  = 
 
			
		
	
		
		
			
				
					
							wlr_idle_inhibit_manager_v1_from_resource ( ) ; 
		wlr_idle_inhibit_manager_v1_from_resource ( manager_ resource) ; 
 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
						struct  wlr_idle_inhibitor_v1  * inhibitor  = 
	struct  wlr_idle_inhibitor_v1  * inhibitor  = 
 
			
		
	
		
		
			
				
					
							calloc ( 1 ,  sizeof ( struct  wlr_idle_inhibitor_v1 ) ) ; 
		calloc ( 1 ,  sizeof ( struct  wlr_idle_inhibitor_v1 ) ) ; 
 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -75,23 +78,23 @@ static void manager_handle_create_inhibitor(struct wl_client *client,
 
			
		
	
		
		
			
				
					
							return ; 
		return ; 
 
			
		
	
		
		
			
				
					
						} 
	} 
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
						struct  wl_resource  * wl_resource  =  wl_resource_create ( client , 
	uint32_t  version  =  wl_resource_get_version ( manager_resource ) ; 
 
			
				
				
			
		
	
		
		
			
				
					
							& zwp_idle_inhibitor_v1_interface ,  1 ,  id ) ; 
	struct  wl_resource  * inhibitor_resource  =  wl_resource_create ( client , 
 
			
				
				
			
		
	
		
		
			
				
					
						if  ( ! wl_resource )  { 
		& zwp_idle_inhibitor_v1_interface ,  version ,  id ) ; 
 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
						if  ( ! inhibitor_resource )  { 
 
			
		
	
		
		
			
				
					
							wl_client_post_no_memory ( client ) ; 
		wl_client_post_no_memory ( client ) ; 
 
			
		
	
		
		
			
				
					
							free ( inhibitor ) ; 
		free ( inhibitor ) ; 
 
			
		
	
		
		
			
				
					
							return ; 
		return ; 
 
			
		
	
		
		
			
				
					
						} 
	} 
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
						inhibitor - > resource  =  wl _resource; 
	inhibitor - > resource  =  inhibitor _resource; 
 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
						inhibitor - > surface  =  surface ; 
	inhibitor - > surface  =  surface ; 
 
			
		
	
		
		
			
				
					
						wl_signal_init ( & inhibitor - > events . destroy ) ; 
	wl_signal_init ( & inhibitor - > events . destroy ) ; 
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
						inhibitor - > surface_destroy . notify  =  idle_inhibitor_handle_surface_destroy ; 
	inhibitor - > surface_destroy . notify  =  idle_inhibitor_handle_surface_destroy ; 
 
			
		
	
		
		
			
				
					
						wl_signal_add ( & surface - > events . destroy ,  & inhibitor - > surface_destroy ) ; 
	wl_signal_add ( & surface - > events . destroy ,  & inhibitor - > surface_destroy ) ; 
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					
	wl_resource_set_implementation ( inhibitor_resource ,  & idle_inhibitor_impl , 
 
			
				
				
			
		
	
		
		
			
				
					
						wl_resource_set_implementation ( wl_resource ,  & idle_inhibitor_impl , 
 
			
		
	
		
		
	
		
		
			
				
					
							inhibitor ,  idle_inhibitor_v1_handle_resource_destroy ) ; 
		inhibitor ,  idle_inhibitor_v1_handle_resource_destroy ) ; 
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
						wl_list_insert ( & manager - > inhibitors ,  & inhibitor - > link ) ; 
	wl_list_insert ( & manager - > inhibitors ,  & inhibitor - > link ) ; 
 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -109,50 +112,50 @@ static const struct zwp_idle_inhibit_manager_v1_interface idle_inhibit_impl = {
 
			
		
	
		
		
			
				
					
					} ; } ;  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					static  void  handle_display_destroy ( struct  wl_listener  * listener ,  void  * data )  { static  void  handle_display_destroy ( struct  wl_listener  * listener ,  void  * data )  {  
			
		
	
		
		
			
				
					
						struct  wlr_idle_inhibit_manager_v1  * idle_inhibit  = 
	struct  wlr_idle_inhibit_manager_v1  * manager  = 
 
			
				
				
			
		
	
		
		
			
				
					
							wl_container_of ( listener ,  idle_inhibit ,  display_destroy ) ; 
		wl_container_of ( listener ,  manager ,  display_destroy ) ; 
 
			
				
				
			
		
	
		
		
			
				
					
						wlr_signal_emit_safe ( & idle_inhibit- > events . destroy ,  idle_inhibit  ) ; 
	wlr_signal_emit_safe ( & manager- > events . destroy ,  manager  ) ; 
 
			
				
				
			
		
	
		
		
			
				
					
						wl_list_remove ( & idle_inhibit - > display_destroy . link ) ; 
	wl_list_remove ( & manager - > display_destroy . link ) ; 
 
			
				
				
			
		
	
		
		
			
				
					
						wl_global_destroy ( idle_inhibit - > global ) ; 
	wl_global_destroy ( manager - > global ) ; 
 
			
				
				
			
		
	
		
		
			
				
					
						free ( idle_inhibit ) ; 
	free ( manager ) ; 
 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					} }  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					static  void  idle_inhibit_bind ( struct  wl_client  * wl_client ,  void  * data , static  void  idle_inhibit_bind ( struct  wl_client  * wl_client ,  void  * data ,  
			
		
	
		
		
			
				
					
							uint32_t  version ,  uint32_t  id )  { 
		uint32_t  version ,  uint32_t  id )  { 
 
			
		
	
		
		
			
				
					
						struct  wlr_idle_inhibit_manager_v1  * idle_inhibit  =  data ; 
	struct  wlr_idle_inhibit_manager_v1  * manager  =  data ; 
 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
						struct  wl_resource  * wl _resource  =  wl_resource_create ( wl_client , 
	struct  wl_resource  * manager _resource  =  wl_resource_create ( wl_client , 
 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
							& zwp_idle_inhibit_manager_v1_interface ,  version ,  id ) ; 
		& zwp_idle_inhibit_manager_v1_interface ,  version ,  id ) ; 
 
			
		
	
		
		
			
				
					
						if  ( ! wl _resource)  { 
	if  ( ! manager _resource)  { 
 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
							wl_client_post_no_memory ( wl_client ) ; 
		wl_client_post_no_memory ( wl_client ) ; 
 
			
		
	
		
		
			
				
					
							return ; 
		return ; 
 
			
		
	
		
		
			
				
					
						} 
	} 
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
						wl_resource_set_implementation ( wl _resource,  & idle_inhibit_impl , 
	wl_resource_set_implementation ( manager _resource,  & idle_inhibit_impl , 
 
			
				
				
			
		
	
		
		
			
				
					
							idle_inhibit ,  NULL ) ; 
		manager ,  NULL ) ; 
 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					} }  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					struct  wlr_idle_inhibit_manager_v1  * wlr_idle_inhibit_v1_create ( struct  wl_display  * display )  { struct  wlr_idle_inhibit_manager_v1  * wlr_idle_inhibit_v1_create ( struct  wl_display  * display )  {  
			
		
	
		
		
			
				
					
						struct  wlr_idle_inhibit_manager_v1  * idle_inhibit  = 
	struct  wlr_idle_inhibit_manager_v1  * manager  = 
 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
							calloc ( 1 ,  sizeof ( struct  wlr_idle_inhibit_manager_v1 ) ) ; 
		calloc ( 1 ,  sizeof ( struct  wlr_idle_inhibit_manager_v1 ) ) ; 
 
			
		
	
		
		
			
				
					
						if  ( ! idle_inhibit )  { 
	if  ( ! manager )  { 
 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
							return  NULL ; 
		return  NULL ; 
 
			
		
	
		
		
			
				
					
						} 
	} 
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
						wl_list_init ( & idle_inhibit - > inhibitors ) ; 
	wl_list_init ( & manager - > inhibitors ) ; 
 
			
				
				
			
		
	
		
		
			
				
					
						wl_signal_init ( & idle_inhibit - > events . new_inhibitor ) ; 
	wl_signal_init ( & manager - > events . new_inhibitor ) ; 
 
			
				
				
			
		
	
		
		
			
				
					
						wl_signal_init ( & idle_inhibit - > events . destroy ) ; 
	wl_signal_init ( & manager - > events . destroy ) ; 
 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
						idle_inhibit - > global  =  wl_global_create ( display , 
	manager - > global  =  wl_global_create ( display , 
 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
							& zwp_idle_inhibit_manager_v1_interface ,  1 , 
		& zwp_idle_inhibit_manager_v1_interface ,  1 , 
 
			
		
	
		
		
			
				
					
							idle_inhibit ,  idle_inhibit_bind ) ; 
		manager ,  idle_inhibit_bind ) ; 
 
			
				
				
			
		
	
		
		
			
				
					
						if  ( ! idle_inhibit - > global )  { 
	if  ( ! manager - > global )  { 
 
			
				
				
			
		
	
		
		
			
				
					
							free ( idle_inhibit ) ; 
		free ( manager ) ; 
 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
							return  NULL ; 
		return  NULL ; 
 
			
		
	
		
		
			
				
					
						} 
	} 
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
						idle_inhibit - > display_destroy . notify  =  handle_display_destroy ; 
	manager - > display_destroy . notify  =  handle_display_destroy ; 
 
			
				
				
			
		
	
		
		
			
				
					
						wl_display_add_destroy_listener ( display ,  & idle_inhibit - > display_destroy ) ; 
	wl_display_add_destroy_listener ( display ,  & manager - > display_destroy ) ; 
 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
						return  idle_inhibit ; 
	return  manager ; 
 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					} }