If argv[0] is dmenu, launch in dmenu mode.

This commit is contained in:
Dave Davenport 2014-11-05 10:27:46 +01:00
parent da7ba544fc
commit b27725834c
3 changed files with 37 additions and 23 deletions

View File

@ -329,6 +329,14 @@ the following keys can be used that will be replaced at runtime:
* `{ssh-client}`: The configured ssh client (See -ssh-client)
* `{cmd}`: The command to execute.
## Dmenu replacemnt
If `argv[0]` (calling command) is dmenu, **rofi** will start in dmenu mode.
This way it can be used as a drop-in replacement for dmenu. just copy or symlink **rofi** to dmenu in `$PATH`.
ln -s /usr/bin/dmenu /usr/bin/rofi
## Keybindings
Rofi supports the following keybindings:

View File

@ -412,6 +412,16 @@ the following keys can be used that will be replaced at runtime:
.IP \(bu 2
\fB\fC{cmd}\fR: The command to execute.
.RE
.SH Dmenu replacemnt
.PP
If \fB\fCargv[0]\fR (calling command) is dmenu, \fBrofi\fP will start in dmenu mode.
This way it can be used as a drop\-in replacement for dmenu. just copy or symlink \fBrofi\fP to dmenu in \fB\fC$PATH\fR\&.
.PP
.RS
.nf
ln \-s /usr/bin/dmenu /usr/bin/rofi
.fi
.RE
.SH Keybindings
.PP
Rofi supports the following keybindings:
@ -456,18 +466,14 @@ Rofi supports the following keybindings:
.SH WEBSITE
.PP
\fBrofi\fP website can be found at here
.UR https://davedavenport.github.io/rofi/
.UE
\[la]https://davedavenport.github.io/rofi/\[ra]
.PP
\fBrofi\fP bugtracker can be found here
.UR https://github.com/DaveDavenport/rofi/issues
.UE
\[la]https://github.com/DaveDavenport/rofi/issues\[ra]
.SH AUTHOR
.PP
Qball Cow
.MT qball@gmpclient.org
.ME
\[la]qball@gmpclient.org\[ra]
.PP
Original code based on work by: Sean Pringle
.MT sean.pringle@gmail.com
.ME
\[la]sean.pringle@gmail.com\[ra]

View File

@ -2477,7 +2477,15 @@ int main ( int argc, char *argv[] )
// flags to run immediately and exit
char *sname = NULL;
if ( find_arg_str ( argc, argv, "-show", &sname ) == TRUE ) {
if ( find_arg ( argc, argv, "-dmenu" ) >= 0 || strcmp ( argv[0], "dmenu" ) == 0 ) {
find_arg_str ( argc, argv, "-p", &dmenu_prompt );
int retv = run_dmenu ();
// User cancelled the operation.
if ( retv == FALSE ) {
return EXIT_FAILURE;
}
}
else if ( find_arg_str ( argc, argv, "-show", &sname ) == TRUE ) {
int index = switcher_get ( sname );
if ( index >= 0 ) {
run_switcher ( FALSE, index );
@ -2514,14 +2522,6 @@ int main ( int argc, char *argv[] )
fprintf ( stderr, "The ssh dialog has not been enabled\n" );
}
}
else if ( find_arg ( argc, argv, "-dmenu" ) >= 0 ) {
find_arg_str ( argc, argv, "-p", &dmenu_prompt );
int retv = run_dmenu ();
// User cancelled the operation.
if ( retv == FALSE ) {
return EXIT_FAILURE;
}
}
else{
// Daemon mode, Listen to key presses..
if ( switcher_get ( "window" ) >= 0 ) {