All Projects → AlessioDP → kpmenu

AlessioDP / kpmenu

Licence: MIT license
Dmenu/rofi interface for KeePass

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to kpmenu

dmenu-hotkeys
View for your hotkeys in rofi/dmenu style
Stars: ✭ 51 (+142.86%)
Mutual labels:  i3, dmenu, rofi
rofi
Rofi: A window switcher, application launcher and dmenu replacement
Stars: ✭ 9,231 (+43857.14%)
Mutual labels:  i3, dmenu, rofi
dotfiles
Config files for i3, polybar, rofi, mpv, Xresources, kitty and some bash-things...
Stars: ✭ 52 (+147.62%)
Mutual labels:  i3, dmenu, rofi
dotfiles
collection (and a backup) of my config files
Stars: ✭ 49 (+133.33%)
Mutual labels:  i3, rofi
dotfiles
My personal set of dotfiles (Managed with Stow)
Stars: ✭ 34 (+61.9%)
Mutual labels:  i3, rofi
todofi.sh
Handle your todo-txt tasks directly from Rofi
Stars: ✭ 46 (+119.05%)
Mutual labels:  i3, rofi
dotfiles
Arch Linux DotFiles - Managed by GNU stow
Stars: ✭ 30 (+42.86%)
Mutual labels:  i3, rofi
rofi-todo
📓 Minimal todo client for the rofi launcher
Stars: ✭ 20 (-4.76%)
Mutual labels:  i3, rofi
dotfiles
There is no place like ~/
Stars: ✭ 19 (-9.52%)
Mutual labels:  i3, rofi
dotfiles
My dotfiles
Stars: ✭ 16 (-23.81%)
Mutual labels:  i3, rofi
Dotfiles
Get ready for dotfiles. Contains i3, i3blocks, rofi, dunst, picom, vim, tmux, and zsh.
Stars: ✭ 985 (+4590.48%)
Mutual labels:  i3, rofi
dotfiles
dotfiles repository
Stars: ✭ 15 (-28.57%)
Mutual labels:  i3, rofi
Dotfiles
🐲 My Arch Linux config [i3-gaps + i3blocks + Zsh + Spacemacs + Rofi + Alacritty + Neofetch]
Stars: ✭ 725 (+3352.38%)
Mutual labels:  i3, rofi
Nmcli Rofi
A simple manager for network connections using rofi and nmcli
Stars: ✭ 39 (+85.71%)
Mutual labels:  i3, rofi
i3wm-config
i3wm config files. Updated config files are in the repository below.
Stars: ✭ 13 (-38.1%)
Mutual labels:  i3, rofi
Dotfiles
Collection of i3-gaps Dotfiles
Stars: ✭ 143 (+580.95%)
Mutual labels:  i3, rofi
dotfiles
A total nord dotfiles used by me. Forever work in progress.
Stars: ✭ 35 (+66.67%)
Mutual labels:  i3, rofi
myrmidon
A rofi task / command executor
Stars: ✭ 82 (+290.48%)
Mutual labels:  i3, rofi
Rofimoji
An emoji and character picker for rofi 😁
Stars: ✭ 319 (+1419.05%)
Mutual labels:  i3, rofi
I3 Quickterm
A small drop-down terminal for i3 and sway
Stars: ✭ 76 (+261.9%)
Mutual labels:  i3, rofi

Go Report Card Travis CI

Kpmenu

Kpmenu is a tool written in Go used to view a KeePass database via a dmenu, or rofi, menu.

Features

  • Supports KDBX v3.1 and v4.0 (based on gokeepasslib)
  • Pretty fast database decode thanks to Go
  • Interfaced with dmenu, rofi, wofi and any custom executable
  • Customize dmenu/rofi with additional command arguments
  • Kpmenu can be started as a daemon, so you don't need to re-insert credentials
    • By default the first instance of kpmenu will enter in daemon mode (cache option) for 60 seconds
    • You can start a permanent daemon with --daemon option (it won't ask open the database)
    • Even if the cache times out, the daemon won't be killed
  • Automatically put selected value into the clipboard (for a custom time)
    • xsel and wl-clipboard supported
    • A custom executable can be defined for every action (copy/paste/clean clipboard)
    • By default it will use xsel, you can override it via config or --clipboardTool option
    • Hidden password typing
  • OTP support
    • If a field have an otp key, you can generate the number
    • New OTP and old TOTP methods are supported

Dependencies

  • go (compile only)

Supports

  • dmenu, rofi and wofi (you can define a custom executable)
  • xsel and wl-clipboard (you can define a custom executable)

Usage

I created kpmenu to make an easy and fast way to access into my KeePass database. These are some commands that you can do:

# Open a database
kpmenu -d path/to/database.kdbx

# Open a database with a key
kpmenu -d path/to/database.kdbx -k path/to/database.key

# Open a database (credentials taken from config) with a password and rofi
kpmenu -p "mypassword" -m rofi

Installation

From AUR

You can directly install the package kpmenu.

Compiling from source

If you do not set $GOPATH, go sources will be downloaded into $HOME/go.

# Clone repository
git clone https://github.com/AlessioDP/kpmenu
cd kpmenu

# Build
make build

# Install
sudo make install

Configuration

You can set options via config or cli arguments.

Kpmenu will check for $HOME/.config/kpmenu/config, you can copy the default one with cp ./resources/config.default $HOME/.config/kpmenu/config.

Options

Options taken with kpmenu --help

Usage of kpmenu:
      --argsEntry string              Additional arguments for dmenu at entry selection, separated by a space
      --argsField string              Additional arguments for dmenu at field selection, separated by a space
      --argsMenu string               Additional arguments for dmenu at menu selection, separated by a space
      --argsPassword string           Additional arguments for dmenu at password selection, separated by a space
      --cacheOneTime                  Cache the database only the first time
      --cacheTimeout int              Timeout of cache in seconds (default 60)
  -c, --clipboardTime int             Timeout of clipboard in seconds (0 = no timeout) (default 15)
      --clipboardTool string          Choose which clipboard tool to use (default "xsel")
      --customClipboardCopy string    Custom executable for clipboard copy
      --customClipboardPaste string   Custom executable for clipboard paste
      --customPromptEntries string    Custom executable for prompt entries
      --customPromptFields string     Custom executable for prompt fields
      --customPromptMenu string       Custom executable for prompt menu
      --customPromptPassword string   Custom executable for prompt password
      --daemon                        Start kpmenu directly as daemon
  -d, --database string               Path to the KeePass database
      --fieldOrder string             String order of fields to show on field selection (default "Password UserName URL")
      --fillBlacklist string          String of blacklisted fields that won't be shown
      --fillOtherFields               Enable fill of remaining fields (default true)
  -k, --keyfile string                Path to the database keyfile
  -m, --menu string                   Choose which menu to use (default "dmenu")
  -n, --nocache                       Disable caching of database
      --nootp                         Disable OTP handling
  -p, --password string               Password of the database
      --passwordBackground string     Color of dmenu background and text for password selection, used to hide password typing (default "black")
      --textEntry string              Label for entry selection (default "Entry")
      --textField string              Label for field selection (default "Field")
      --textMenu string               Label for menu selection (default "Select")
      --textPassword string           Label for password selection (default "Password")
  -v, --version                       Show kpmenu version

License

See the LICENSE file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].