sites

public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log | Files | Refs

index.md (2098B)


      1 Non-blocking stdin
      2 ==================
      3 
      4 Description
      5 -----------
      6 A patch to have dmenu read stdin in a non blocking way, making it wait
      7 for input both from stdin and from X. This way, you can continue feeding
      8 dmenu while you type. This patch can be used along with the incremental
      9 patch, so that you can use stdout to feed stdin.
     10 
     11 Example:
     12 	# Make a fifo and read from it for dmenu's input
     13 	mkfifo foo
     14 	while true; do cat foo; done | dmenu -w "$(xdotool getactivewindow)" -l 10
     15     
     16 	# Append some items
     17 	printf %b "foo\nbar\nbaz\n" > foo
     18 	# Append some more items
     19 	printf %b "food\nbarn" > foo
     20 
     21 ## nonblockingstdincontrol variant
     22 The nonblockingstdincontrol variant of this patch allows you to use
     23 control characters to dynamically clear the options list and set curr
     24 & sel. So in addition to being able to append entries with the normal
     25 version of the nonblockingstdin patch, this variant effectively makes
     26 dmenu's option list continouslly reloadable and the selected item /
     27 positioning controllable at runtime.
     28 
     29 Supported Control Characters:
     30 
     31 - \f - Clear the current items prior to following line
     32 - \a - Set the following line to be equal to sel
     33 - \b - Set the following line to be equal to curr
     34 
     35 Example:
     36 	# Make a fifo and read from it for dmenu's input
     37 	mkfifo foo
     38 	while true; do cat foo; done | dmenu -w "$(xdotool getactivewindow)" -l 10
     39 	
     40 	# And then separately, load a first set of options:
     41 	printf %b "\ffoo\nbar\nbill" > foo
     42 	# Load a different set of options using the \f escape:
     43 	printf %b "\fbark\nbarn\nboo" > foo
     44 	# Using \f, \a, and \b  - load a different set of options & preselect 2nd item:
     45 	printf %b "\f\bbark\n\abarn\nboo" > foo
     46 
     47 Download
     48 --------
     49 * [dmenu-nonblockingstdincontrol-4.9.diff](dmenu-nonblockingstdincontrol-4.9.diff)
     50 * [dmenu-nonblockingstdin-4.9.diff](dmenu-nonblockingstdin-4.9.diff)
     51 * [dmenu-nonblockingstdin-20160702-3c91eed.diff](dmenu-nonblockingstdin-20160702-3c91eed.diff)
     52 
     53 Author
     54 ------
     55 * Christophe-Marie Duquesne <chm.duquesne@gmail.com>
     56 * koniu at riseup.net (update for 20160615 git master)
     57 * Miles Alan - m@milesalan.com (nonblockingstdincontrol)