Add quote and escape string option.

This commit is contained in:
Dave Davenport 2015-05-13 18:35:55 +02:00
parent 8abf3335dc
commit 22f35983c0
3 changed files with 10 additions and 3 deletions

View File

@ -519,7 +519,8 @@ The following options are further explained in the theming section:
* 's' selected string.
* 'i' index (0 - (N-1)).
* 'd' index (1 - N).
* 'e' selected string escaped.
* 'q' quote string.
* 'e' escape string.
Default: 's'

View File

@ -678,7 +678,8 @@ Allows the output of dmenu to be customized (N is total number of input entries)
* 's' selected string.
* 'i' index (0 \- (N\-1)).
* 'd' index (1 \- N).
* 'e' selected string escaped.
* 'q' quote string.
* 'e' escape string.
Default: 's'
.fi
.RE

View File

@ -154,11 +154,16 @@ static void dmenu_output_formatted_line ( const char *format, const char *string
else if ( format[i] == 's' ) {
fputs ( string, stdout );
}
else if ( format[i] == 'e' ) {
else if ( format[i] == 'q' ) {
char *quote = g_shell_quote ( string );
fputs ( quote, stdout );
g_free ( quote );
}
else if ( format[i] == 'e' ) {
char *quote = g_strescape ( string, "" );
fputs ( quote, stdout );
g_free ( quote );
}
else {
fputc ( format[i], stdout );
}