- Python 3.7+
- Bitwarden CLI. Ensure the
bw
command is in$PATH
- Pynput and xdg-base-dirs
- Dmenu, Rofi, Wofi or Bemenu
- (optional) Pinentry. Make sure to set which flavor of pinentry command to use in the config file.
- (optional) xdotool, ydotool(>= 1.0.0) or wtype (for Wayland). If you have a lot of Unicode characters or use a non-U.S. English keyboard layout, xdotool/ydotool/wtype are ecessary to handle typing those characters.
$ sudo pacman -S python-pip dmenu
$ sudo dnf install python3-devel dmenu
Ensure Universe repository is enabled.
$ sudo apt install python3-pip suckless-tools
$ pip install --user bitwarden-menu
Add ~/.local/bin to $PATH
$ python -m venv venv
$ source venv/bin/activate
$ pip install bitwarden-menu
Link to the executable /path/to/venv/bin/bwm
when assigning a keyboard shortcut.
$ git clone https://github.com/firecat53/bitwarden-menu
$ cd bitwarden-menu
$ make
$ make run OR ./venv/bin/bwm
$ git clone https://github.com/firecat53/bitwarden-menu
$ cd bitwarden-menu
$ git checkout <branch> (if desired)
$ pip install --user . OR
$ pip install --user -e . (for editable install)
Available in Archlinux AUR and Nix packages
- Dmenu and Rofi work under XWayland. Bemenu can operate natively in Wayland.
- To enable ydotool to work without sudo
-
Pick a group that one or more users belong to (e.g.
users
) and:$ echo "KERNEL==\"uinput\", GROUP=\"users\", MODE=\"0660\", \ OPTIONS+=\"static_node=uinput\"" | sudo tee \ /etc/udev/rules.d/80-uinput.rules > /dev/null # udevadm control --reload-rules && udevadm trigger
-
Create a systemd user service for ydotoold:
~/.config/systemd/user/ydotoold.service [Unit] Description=ydotoold Service [Service] ExecStart=/usr/bin/ydotoold [Install] WantedBy=default.target
-
Enable and start ydotoold.service:
$ systemctl --user daemon-reload $ systemctl --user enable --now ydotoold.service
-