Dmenu frontend for Keepass databases
Project description
Keepmenu
Fully featured Bemenu/Dmenu/Wmenu/Fuzzel/Rofi/Tofi/Wofi/Yofi frontend for autotype and managing of Keepass databases.
Inspired in part by Passhole, but more dmenu and less command line focused.
Installation
pip install --user keepmenu
Ensure ~/.local/bin is in your $PATH. Run keepmenu and enter your database
path, keyfile path, and password.
For full installation documention see the [installation docs][docs/install.md].
Full Documentation
Installation - Configuration - Usage
Requirements
- Python 3.7+
- Pykeepass >= 4.0.0 and pynput
- Bemenu, Dmenu, Wmenu, Fuzzel, Rofi, Tofi, Wofi, or Yofi
- xsel or wl-copy
- (optional) Pinentry
- (optional) xdotool (for X), ydotool or wtype(for Wayland), dotool (X or Wayland).
Features
- Supports .kdbx databases, not .kdb.
- Auto-type username and/or password on selection. Select to clipboard if desired (clears clipboard after 30s on X11 or after 1 paste on Wayland).
- Background process allows selectable time-out for locking the database.
- Multiple databases can be unlocked and switched on the fly.
- Use a custom Keepass 2.x style auto-type sequence.
- Type, view or edit any field.
- Open the URL in the default web browser.
- Edit notes using terminal or gui editor.
- Add and Delete entries.
- Add, delete, rename and move groups.
- Hide selected groups from the default and 'View/Type Individual entries' views.
- Configure the characters and groups of characters used during password generation.
- Optional Pinentry support for secure passphrase entry.
- Keepass field references are supported.
- Display and manage expired passwords.
- Add, edit and type TOTP codes.
- Add, edit, type and delete custom attributes.
License
- GPLv3
Usage
keepmenu [-h] [-a AUTOTYPE] [-c CONF_FILE] [-C] [-d DATABASE] [-k KEY_FILE] [-t]
- Run
keepmenuor bind to keystroke combination. - Enter database path on first run.
- Start typing to match entries.
- Configure config.ini as desired.
- More detailed usage information.
Tests
To run tests in a venv: make test
Development
-
To install keepmenu in a venv:
make -
Build man page from Markdown source:
make man -
Using
hatch:hatch shell: provides venv with editable installation.hatch build&&hatch publish: build and publish to Pypi.
-
Using
nix:nix develop: Provides development shell/venv with all dependencies.make testandhatch build/publishwork as usual.
-
GitHub Action will upload to TestPyPi on each push to
main. To create a GitHub and PyPi release, create a new tag (formatting below) and push tags.<tag name on first line> * Release note 1 * Release note 2 * ...
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