This is a
playground to test code. It runs a full
Node.js environment and already has all of
npm’s 400,000 packages pre-installed, including
bitwarden-dmenu with all
npm packages installed. Try it out:
This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.
dmenu for bitwarden which can copy usernames, passwords, and various fields to your clipboard.
$ bitwarden-dmenu --help Usage: bitwarden-dmenu [options] The DMENU_PATH environment variable can be used to point to an alternative dmenu implementation. Defaults to 'dmenu'. Options: --bw-list-args Arbitrary arguments to pass to bitwarden's 'list' command Defaults to nothing. --clear-clipboard Number of seconds to keep selected field in the clipboard. Defaults to 15s. --dmenu-args Sets arbitrary arguments to pass to dmenu Defaults to nothing. --dmenu-pswd-args Sets arbitrary arguments to pass to the dmenu password prompt Defaults to nothing. --session-timeout Number of seconds after an unlock that the menu can be accessed without providing a password again. Defaults to 0s. --stdout Prints the password and username to stdout --sync-vault-after Number of seconds allowable between last bitwarden sync and current time. Defaults to 0s. --on-error Arbitrary command to run if the program fails. The thrown error is piped to the given command. Defaults to none. --verbose Show extra logs useful for debugging.
By default, this program runs at its most secure. No session is stored for any time period, the vault is updated every time it is used, and the clipboard is cleared every 15 seconds. In reality, you may want something a little more lenient. Here is the command I use in my personal i3wm config.
bitwarden-dmenu --clear-clipboard 30 --session-timeout 100 --sync-vault-after 3600 --on-error 'xargs notify-send --urgency=low'
# login with bitwarden-cli once before using bitwarden-dmenu bw login # install the cli npm i -g bitwarden-dmenu
Inspired by the no longer maintained keepass-dmenu