Fixed SETPROP() macro behaviour in config.def.h to handle escapes correctly.
xprop prints information in format PROPERTY(STRING) = "escaped string", which causes problem with repeated Ctrl-F: any non-ascii turns into \ooo\ooo, this later turns into \\ooo\\ooo, and so on. To de-escape string, printf(1) is used, getting information from xargs -0; without -0 xargs will try to handle escapes by itself and also do shenanigans with quotes, which is totally undesired. Signed-off-by: Christoph Lohmann <20h@r-36.net>
This commit is contained in:
		
							parent
							
								
									12101938d8
								
							
						
					
					
						commit
						f6dc8b2541
					
				| 
						 | 
				
			
			@ -23,7 +23,7 @@ static Bool hidebackground  = FALSE;
 | 
			
		|||
 | 
			
		||||
#define SETPROP(p, q) { \
 | 
			
		||||
	.v = (char *[]){ "/bin/sh", "-c", \
 | 
			
		||||
		"prop=\"`xprop -id $2 $0 | cut -d '\"' -f 2 | dmenu`\" &&" \
 | 
			
		||||
		"prop=\"`xprop -id $2 $0 | cut -d '\"' -f 2 | xargs -0 printf | dmenu`\" &&" \
 | 
			
		||||
		"xprop -id $2 -f $1 8s -set $1 \"$prop\"", \
 | 
			
		||||
		p, q, winid, NULL \
 | 
			
		||||
	} \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue