Based on the alternative Bitwarden CLI rbw and inspired by rofi-pass, rbw-rofi
is a simplistic password typer/copier using rofi and wofi.
- Autotype password or username (
Enter
/Alt+3
andAlt+2
, respectively) - Autotype username and password (with a
tab
character in between) withAlt+1
(and copy TOTP to clipboard) - Configure autotyping either as a keybinding or by having a
_autotype
field in your credential - Copy username, password or TOTP to the clipboard (
Alt+u
,Alt+p
andAlt+t
, respectively) - Show an autotype menu with all fields
First, you need to configure rbw
. See its documentation for that.
Then, you can start rofi-rbw
. It is not available as a rofi mode.
You can configure rofi-rbw
either with cli arguments or with a config file called $XDG_CONFIG_HOME/rofi-rbw.rc
. In the file, use the long option names without double dashes.
long option | short option | possible values | description |
---|---|---|---|
--action |
-a |
type (default), copy , print |
Choose what rofi-rbw should do. |
--target |
-t |
username , password , notes , totp (or any custom field) |
Choose which components of the selected entry are interesting. Can be passed multiple times to type/copy/print several components. Default is username and password . |
--prompt |
-r |
any string | Define the text of the prompt. |
--keybindings |
Define custom keybindings in the format <shortcut>:<action>:<target> , for example Alt+x:copy:username . Multiple keybindings can be concatenated with , ; multiple targets for one shortcut can be concatenated with : . Note that wofi doesn't support keybindings. |
||
--menu-keybindings |
Define custom keybindings for the target menu in the format <shortcut>:<action> , similar to --keybindings . Note that wofi doesn't support keybindings. |
||
--no-cache |
Disable the automatic frecency cache. It contains sha1-hashes of the selected entries and how often they were used. | ||
--clear-after |
integer number >= 0 (default is 0 ) |
Limit the duration in seconds passwords stay in your clipboard (unless overwritten). When set to 0, passwords will be kept indefinitely. | |
--typing-key-delay |
delay in milliseconds | Set a delay between key presses when typing. 0 by default, but that may result in problems. |
|
--no-help |
Don't show the help message about the available shortcuts. | ||
--no-folder |
Don't show the entry's folder in the list. | ||
--selector-args |
Define arguments that will be passed through to rofi or wofi .Please note that you need to specify it as --selector-args="<args>" or --selector-args " <args>" because of a bug in argparse |
||
--selector |
rofi , wofi |
Show the selection dialog with this application. Chosen automatically by default. | |
--clipboarder |
xsel , xclip , wl-copy |
Access the clipboard with this application. Chosen automatically by default. | |
--typer |
xdotool , wtype , ydotool , dotool |
Type the characters using this application. Chosen automatically by default. |
By default, Alt+1
will type username and password, separated with a tab
character. However, you can change this behavior by defining your own keybinding (if your selector supports this). For example, Alt+1:type:username:enter:delay:password:enter
will type the username, enter
, wait for a second and then type the password and enter
again.
This sequence can also be defined as a field _autotype
on each credential.
rofi-rbw
is on PyPI. You can install it with pip install --user rofi-rbw
(or sudo pip install rofi-rbw
).
Download the wheel file from releases and install it with sudo pip install $filename
(or you can use pip install --user $filename
to only install it for the local user).
Note that it needs configargparse
to work.
You also need:
- Python 3.7 or higher
rofi
orwofi
- Something to programmatically type characters into other applications. Depending on your display server, it's
xdotool
,wtype
,ydotool
ordotool
. - Something to copy text to the clipboard. Again, depending on the display server, you want
xclip
,xsel
orwl-copy
.