@ -25,13 +25,6 @@
 
			
		
	
		
			
				
					# include  <wlr/backend/drm.h>  
			
		
	
		
			
				
					# endif  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					int  output_name_cmp ( const  void  * item ,  const  void  * data )  {  
			
		
	
		
			
				
						const  struct  output_config  * output  =  item ; 
 
			
		
	
		
			
				
						const  char  * name  =  data ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						return  strcmp ( output - > name ,  name ) ; 
 
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					void  output_get_identifier ( char  * identifier ,  size_t  len ,  
			
		
	
		
			
				
							struct  sway_output  * output )  { 
 
			
		
	
		
			
				
						struct  wlr_output  * wlr_output  =  output - > wlr_output ; 
 
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -615,8 +608,6 @@ static void default_output_config(struct output_config *oc,
 
			
		
	
		
			
				
					// configuration that applies to the specified output.
  
			
		
	
		
			
				
					struct  output_config  * find_output_config ( struct  sway_output  * sway_output )  {  
			
		
	
		
			
				
						const  char  * name  =  sway_output - > wlr_output - > name ; 
 
			
		
	
		
			
				
						struct  output_config  * oc  =  NULL ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						struct  output_config  * result  =  new_output_config ( name ) ; 
 
			
		
	
		
			
				
						if  ( config - > reloading )  { 
 
			
		
	
		
			
				
							default_output_config ( result ,  sway_output - > wlr_output ) ; 
 
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -625,25 +616,21 @@ struct output_config *find_output_config(struct sway_output *sway_output) {
 
			
		
	
		
			
				
						char  id [ 128 ] ; 
 
			
		
	
		
			
				
						output_get_identifier ( id ,  sizeof ( id ) ,  sway_output ) ; 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						int  i ; 
 
			
		
	
		
			
				
						bool  match  =  false ; 
 
			
		
	
		
			
				
						if  ( ( i  =  list_seq_find ( config - > output_configs ,  output_name_cmp ,  " * " ) )  > =  0 )  { 
 
			
		
	
		
			
				
							match  =  true ; 
 
			
		
	
		
			
				
							oc  =  config - > output_configs - > items [ i ] ; 
 
			
		
	
		
			
				
							merge_output_config ( result ,  oc ) ; 
 
			
		
	
		
			
				
						} 
 
			
		
	
		
			
				
						if  ( ( i  =  list_seq_find ( config - > output_configs ,  output_name_cmp ,  name ) )  > =  0 )  { 
 
			
		
	
		
			
				
							match  =  true ; 
 
			
		
	
		
			
				
							oc  =  config - > output_configs - > items [ i ] ; 
 
			
		
	
		
			
				
							merge_output_config ( result ,  oc ) ; 
 
			
		
	
		
			
				
						} 
 
			
		
	
		
			
				
						if  ( ( i  =  list_seq_find ( config - > output_configs ,  output_name_cmp ,  id ) )  > =  0 )  { 
 
			
		
	
		
			
				
							match  =  true ; 
 
			
		
	
		
			
				
							oc  =  config - > output_configs - > items [ i ] ; 
 
			
		
	
		
			
				
							merge_output_config ( result ,  oc ) ; 
 
			
		
	
		
			
				
						// We take a new config and merge on top, in order, the wildcard config,
 
 
			
		
	
		
			
				
						// output config by name, and output config by identifier to form the final
 
 
			
		
	
		
			
				
						// config. If there are multiple matches, they are merged in order.
 
 
			
		
	
		
			
				
						struct  output_config  * oc  =  NULL ; 
 
			
		
	
		
			
				
						const  char  * names [ ]  =  { " * " ,  name ,  id ,  NULL } ; 
 
			
		
	
		
			
				
						for  ( const  char  * * name  =  & names [ 0 ] ;  * name ;  name + + )  { 
 
			
		
	
		
			
				
							for  ( int  idx  =  0 ;  idx  <  config - > output_configs - > length ;  idx + + )  { 
 
			
		
	
		
			
				
								oc  =  config - > output_configs - > items [ idx ] ; 
 
			
		
	
		
			
				
								if  ( strcmp ( oc - > name ,  * name )  = =  0 )  { 
 
			
		
	
		
			
				
									merge_output_config ( result ,  oc ) ; 
 
			
		
	
		
			
				
								} 
 
			
		
	
		
			
				
							} 
 
			
		
	
		
			
				
						} 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						if  ( ! match & &  ! config - > reloading )  { 
 
			
		
	
		
			
				
						if  ( oc  = =  NULL  & &  ! config - > reloading )  { 
 
			
		
	
		
			
				
							// No name, identifier, or wildcard config. Since we are not
 
 
			
		
	
		
			
				
							// reloading with defaults, the output config will be empty, so
 
 
			
		
	
		
			
				
							// just return NULL