Simple dmenu

A macro to call dmenu from rust

How to use

Standard

Requires every argument to implement .as_bytes(). Might also not need to pass any arguments at all ```rust use simple_dmenu::dmenu;

// Example let output = dmenu!("1", "2", "3"); ```

Stringify

Same as standard but passes every argument to stringify!(). Again, might also not need to pass any arguments at all ```rust use simple_dmenu::dmenu;

// Example let output = dmenu!(stringify 1, 2, 3); ```

Iter

Accepts an iterator. Every value yielded by the iterator needs to implement .as_bytes() ```rust use simple_dmenu::dmenu;

// Example let mut a = vec!["1", "2", "3"]; a.push("4");

let output = dmenu!(iter a); ```

Prompt

Only shows a prompt with the specified prompt text ```rust use simple_dmenu::dmenu;

// Example let username = dmenu!(prompt "What's your name?"); ```

Optional arguments

You can specify optional arguments to pass to dmenu by separating them with ; args ```rust use simple_dmenu::dmenu;

// Example let output = dmenu!(stringify 1, 2, 3; args "-p", "Choose a number", "-l", "3"); ```

Arguments only

Empty call, only allows to specify arguments to pass on to dmenu ```rust use simple_dmenu::dmenu;

// Example let output = dmenu!(args "-p", "What's your name?", "--nb", "#FFFFFF", "--nf", "#000000" ); ```