rbw-rofi
A rofi (and dmenu-like) frontend for Bitwarden
Based on the alternative Bitwarden CLI rbw and inspired by rofi-pass, rbw-rofi is a simplistic password typer/copier using rofi, wofi, fuzzel, and bemenu.
Features
- Autotype password or username (
Enter/Alt+3andAlt+2, respectively) - Autotype username and password (with a
tabcharacter in between) withAlt+1(and copy TOTP to clipboard) - Configure autotyping either as a keybinding or by having a
_autotypefield in your credential - Copy username, password or TOTP to the clipboard (
Alt+u,Alt+pandAlt+t, respectively) - Show an autotype menu with all fields
Usage
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.
Configuration
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.
Please check the man page for details.
Options
| 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-start-delay |
delay in milliseconds (default is 0) |
Set a delay before the typing starts. | |
--typing-key-delay |
delay in milliseconds (default is 0) |
Set a delay between key presses when typing. | |
--action-sequence-delay |
delay in milliseconds (default is 1000) |
Duration to wait when a delay step is encountered in a keybinding sequence (e.g. Alt+c:copy:username:delay:password), for both type and copy actions. |
|
--no-help |
Don't show the help message about the available shortcuts. | ||
--display-fields |
name_only, name_with_folder, folder, user, uri |
Ordered list of fields to show in the overview, given as separate arguments (e.g. --display-fields name_only user). Defaults to name_with_folder user. |
|
--selector-args |
Define arguments that will be passed through to rofi, wofi, fuzzel or bemenu.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, fuzzel, bemenu |
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. | |
--use-notify-send |
Send a desktop notification after each field is copied (e.g. "username copied to clipboard"). |
Autotyping
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.
Installation
From distribution repositories
From PyPI
rofi-rbw is on PyPI. You can install it with pip install --user rofi-rbw (or sudo pip install rofi-rbw).
Manually
Download the wheel file from releases and install it with pipx install $filename.
Note that it needs configargparse to work.
Dependencies
You also need:
- Python 3.9 or higher
rofi,wofi,fuzzelorbemenurbw1.14 or higher- Something to programmatically type characters into other applications. Depending on your display server, it's
xdotool,wtype,ydotoolordotool. - Something to copy text to the clipboard. Again, depending on the display server, you want
xclip,xselorwl-copy. - Optionally
libnotifyto providenotify-sendneeded for--use-notify-send
Metadata
Release files for rofi-rbw 1.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| rofi_rbw-1.7.0.tar.gz | 90.1 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rofi_rbw-1.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 119.5 kB
Release files / rofi_rbw-1.7.0.tar.gz
| Download URL | rofi_rbw-1.7.0.tar.gz |
|---|---|
| Size | 90.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8907980538abbd985efe05c2d55d56c314a86fa0beceb115213c3725cdb51fd7
|
|
BLAKE2b-256 checksum How to use checksums |
17dac56b7f2f3e0c3d9b0aae6521046270e0a91ebc4bb2b537f78e46df17d772
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 1, 2026.
Transparency logRelease files / rofi_rbw-1.7.0-py3-none-any.whl
| Download URL | rofi_rbw-1.7.0-py3-none-any.whl |
|---|---|
| Size | 29.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
052b920a31d556de4903b3155c33a33105bb29eb338d60a392baf052c213076c
|
|
BLAKE2b-256 checksum How to use checksums |
eb857be60418db079c919c6c22e3fd104497bc98c0785fa43672c755f4ccd05e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 1, 2026.
Transparency logSecurity for rofi-rbw 1.7.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for rofi_rbw-1.7.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 1, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.