Rofi frontend for Bitwarden
Project description
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 and fuzzel don't support keybindings. |
||
--menu-keybindings |
Define custom keybindings for the target menu in the format <shortcut>:<action>, similar to --keybindings. Note that wofi and fuzzel don'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 | Set a delay before the typing starts. 0 by default, but that may result in problems |
|
--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, 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 desktop notification after copying TOTP. |
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,fuzzelorbemenu- 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rofi_rbw-1.6.0.tar.gz.
File metadata
- Download URL: rofi_rbw-1.6.0.tar.gz
- Upload date:
- Size: 78.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef845687d4a104c619768e49976b34073c44acdf8ad7bc902c4fe4c58ea7ccea
|
|
| MD5 |
35661052e92dd8ef7ade360f164eceac
|
|
| BLAKE2b-256 |
a34dbb3f0d25aae57519127c73564b9c53f5140fc7b757e394e800ca67cfc2dc
|
Provenance
The following attestation bundles were made for rofi_rbw-1.6.0.tar.gz:
Publisher:
release.yaml on fdw/rofi-rbw
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rofi_rbw-1.6.0.tar.gz -
Subject digest:
ef845687d4a104c619768e49976b34073c44acdf8ad7bc902c4fe4c58ea7ccea - Sigstore transparency entry: 892869619
- Sigstore integration time:
-
Permalink:
fdw/rofi-rbw@7261cc56df8c5597496f33ec0dec956980485df7 -
Branch / Tag:
refs/tags/1.6.0 - Owner: https://github.com/fdw
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@7261cc56df8c5597496f33ec0dec956980485df7 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rofi_rbw-1.6.0-py3-none-any.whl.
File metadata
- Download URL: rofi_rbw-1.6.0-py3-none-any.whl
- Upload date:
- Size: 28.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5bf7719fcc03428c32e7706c2001bdd24f6f09ffb11c25bb41f796392887fcd6
|
|
| MD5 |
b6c33bc8739434bc0a2bdb6103452c6d
|
|
| BLAKE2b-256 |
0cd7a974736caaf7ba0e834a1721cb5e47806ce39e7260e35a9d0b5b7e71d7b9
|
Provenance
The following attestation bundles were made for rofi_rbw-1.6.0-py3-none-any.whl:
Publisher:
release.yaml on fdw/rofi-rbw
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rofi_rbw-1.6.0-py3-none-any.whl -
Subject digest:
5bf7719fcc03428c32e7706c2001bdd24f6f09ffb11c25bb41f796392887fcd6 - Sigstore transparency entry: 892869668
- Sigstore integration time:
-
Permalink:
fdw/rofi-rbw@7261cc56df8c5597496f33ec0dec956980485df7 -
Branch / Tag:
refs/tags/1.6.0 - Owner: https://github.com/fdw
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@7261cc56df8c5597496f33ec0dec956980485df7 -
Trigger Event:
push
-
Statement type: