@ -227,28 +227,31 @@ list_t *execute_command(char *_exec, struct sway_seat *seat,
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						head  =  exec ; 
 
			
		
	
		
			
				
						do  { 
 
			
		
	
		
			
				
							// Extract criteria (valid for this command list only).
 
 
			
		
	
		
			
				
							config - > handler_context . using_criteria  =  false ; 
 
			
		
	
		
			
				
							if  ( * head  = =  ' [ ' )  { 
 
			
		
	
		
			
				
								char  * error  =  NULL ; 
 
			
		
	
		
			
				
								struct  criteria  * criteria  =  criteria_parse ( head ,  & error ) ; 
 
			
		
	
		
			
				
								if  ( ! criteria )  { 
 
			
		
	
		
			
				
									list_add ( res_list ,  cmd_results_new ( CMD_INVALID , 	" %s " ,  error ) ) ; 
 
			
		
	
		
			
				
									free ( error ) ; 
 
			
		
	
		
			
				
									goto  cleanup ; 
 
			
		
	
		
			
				
								} 
 
			
		
	
		
			
				
								views  =  criteria_get_views ( criteria ) ; 
 
			
		
	
		
			
				
								head  + =  strlen ( criteria - > raw ) ; 
 
			
		
	
		
			
				
								criteria_destroy ( criteria ) ; 
 
			
		
	
		
			
				
								config - > handler_context . using_criteria  =  true ; 
 
			
		
	
		
			
				
								// Skip leading whitespace
 
 
			
		
	
		
			
				
								for  ( ;  isspace ( * head ) ;  + + head )  { } 
 
			
		
	
		
			
				
							} 
 
			
		
	
		
			
				
							// Split command list
 
 
			
		
	
		
			
				
							cmdlist  =  argsep ( & head ,  " ; " ) ; 
 
			
		
	
		
			
				
							for  ( ;  isspace ( * cmdlist ) ;  + + cmdlist )  { } 
 
			
		
	
		
			
				
							do  { 
 
			
		
	
		
			
				
								// Split commands
 
 
			
		
	
		
			
				
								// Skip leading whitespace
 
 
			
		
	
		
			
				
								for  ( ;  isspace ( * cmdlist ) ;  + + cmdlist )  { } 
 
			
		
	
		
			
				
								// Extract criteria (valid for this command chain only).
 
 
			
		
	
		
			
				
								config - > handler_context . using_criteria  =  false ; 
 
			
		
	
		
			
				
								if  ( * cmdlist  = =  ' [ ' )  { 
 
			
		
	
		
			
				
									char  * error  =  NULL ; 
 
			
		
	
		
			
				
									struct  criteria  * criteria  =  criteria_parse ( cmdlist ,  & error ) ; 
 
			
		
	
		
			
				
									if  ( ! criteria )  { 
 
			
		
	
		
			
				
										list_add ( res_list , 
 
			
		
	
		
			
				
												cmd_results_new ( CMD_INVALID ,  " %s " ,  error ) ) ; 
 
			
		
	
		
			
				
										free ( error ) ; 
 
			
		
	
		
			
				
										goto  cleanup ; 
 
			
		
	
		
			
				
									} 
 
			
		
	
		
			
				
									list_free ( views ) ; 
 
			
		
	
		
			
				
									views  =  criteria_get_views ( criteria ) ; 
 
			
		
	
		
			
				
									cmdlist  + =  strlen ( criteria - > raw ) ; 
 
			
		
	
		
			
				
									criteria_destroy ( criteria ) ; 
 
			
		
	
		
			
				
									config - > handler_context . using_criteria  =  true ; 
 
			
		
	
		
			
				
									// Skip leading whitespace
 
 
			
		
	
		
			
				
									for  ( ;  isspace ( * cmdlist ) ;  + + cmdlist )  { } 
 
			
		
	
		
			
				
								} 
 
			
		
	
		
			
				
								// Split command chain into commands
 
 
			
		
	
		
			
				
								cmd  =  argsep ( & cmdlist ,  " , " ) ; 
 
			
		
	
		
			
				
								for  ( ;  isspace ( * cmd ) ;  + + cmd )  { } 
 
			
		
	
		
			
				
								if  ( strcmp ( cmd ,  " " )  = =  0 )  {