Skip to main content

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.

Screenshot of rofi-rbw Screenshot of a rofi-rbw entry menu

Features

  • Autotype password or username (Enter/Alt+3 and Alt+2, respectively)
  • Autotype username and password (with a tab character in between) with Alt+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 and Alt+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

Packaging status

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, fuzzel or bemenu
  • rbw 1.14 or higher
  • Something to programmatically type characters into other applications. Depending on your display server, it's xdotool, wtype, ydotool or dotool.
  • Something to copy text to the clipboard. Again, depending on the display server, you want xclip, xsel or wl-copy.
  • Optionally libnotify to provide notify-send needed for --use-notify-send

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rofi_rbw-1.7.0.tar.gz (90.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rofi_rbw-1.7.0-py3-none-any.whl (29.4 kB view details)

Uploaded Python 3

File details

Details for the file rofi_rbw-1.7.0.tar.gz.

File metadata

  • Download URL: rofi_rbw-1.7.0.tar.gz
  • Upload date:
  • Size: 90.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rofi_rbw-1.7.0.tar.gz
Algorithm Hash digest
SHA256 8907980538abbd985efe05c2d55d56c314a86fa0beceb115213c3725cdb51fd7
MD5 873f8c858a6d45ad8e6253d04b1ffecd
BLAKE2b-256 17dac56b7f2f3e0c3d9b0aae6521046270e0a91ebc4bb2b537f78e46df17d772

See more details on using hashes here.

Provenance

The following attestation bundles were made for rofi_rbw-1.7.0.tar.gz:

Publisher: release.yaml on fdw/rofi-rbw

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rofi_rbw-1.7.0-py3-none-any.whl.

File metadata

  • Download URL: rofi_rbw-1.7.0-py3-none-any.whl
  • Upload date:
  • Size: 29.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rofi_rbw-1.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 052b920a31d556de4903b3155c33a33105bb29eb338d60a392baf052c213076c
MD5 ede31194b86fe10162729d9de709c057
BLAKE2b-256 eb857be60418db079c919c6c22e3fd104497bc98c0785fa43672c755f4ccd05e

See more details on using hashes here.

Provenance

The following attestation bundles were made for rofi_rbw-1.7.0-py3-none-any.whl:

Publisher: release.yaml on fdw/rofi-rbw

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.7.0 This release

2 files

1.6.1

2 files

1.6.0

2 files

1.5.1

2 files

1.5.0

2 files

1.4.2

2 files

1.4.1

2 files

1.4.0

2 files

1.3.0

2 files

1.2.0

2 files

1.1.0

2 files

1.0.1

1 file

1.0.0

1 file

0.5.0

1 file

0.4.1

1 file

0.4.0

1 file

0.3.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page