Package: cpass
cpass: another console UI for pass!DISCLAIMER!: This is still WIP. Before the version 1.0.0, I do not guarantee that this program will run mostly as intended (doesn't mean 1.0.0 will be perfect, either).Version 1.0.0 might break some of the backward compatibility.It is recommended to back up your passwords or use git (bypass git init) to manage the password store.cpassis anurwidbased terminal user interface (TUI) for the standard unix password manager,pass.cpasstries to achieve a minimal, clean interface and utilizes vim-like keybinding. Also, thanks to the urwid module, mouse is supported quite well.Features:Browse the local password storePreview folders and passwordsCustomizable: colors, key bindings and morePass operations:addeditgenerateremoveCopy passwords in various ways (also customizable)Search passwords in the current directoryTodo list:More pass operations, e.g., find, copy, move, rename, git, otpCLI arguments for more use cases, e.g. open in find mode, and close on copy.Requirementpassurwidpython modulexclipfor copying passwordsMake sure you are using a local password store created/compatible withpass, whichcpasswill look for in$PASSWORD_STORE_DIR, otherwise in~/.password_store/.passis required, although theoretically apasscompatible client does not needpass(e.g.,qtpasscan work withgitandgpg).
However,passdoes a lot of things to assure the robustness and security of password management, there is no need to reinvent the wheels.InstallAs python package:pip install --user cpassInstall with GNU GuixTheGuixRUschannel also providescpass.AfteraddingGuixRUsto yourchannels.scm, run the following two commands:guix pull
guix install cpassClone the repo or download the single script file.Usage:StartcpassFor now, just runcpass.Some CLI arguments are in mind, but those are for future versions.KeybindingsBasic navigation keybindings just work as in a lot of command line programs (likeless):h,j,k,l,g,G,ctrl+d,ctrl+u,ctrl+f,ctrl+b,ctrl+n,ctrl+pForpassrelated operations:iadd a new password in current directoryagenerate a new password in current directoryddelete current password file or directory after user confirmseedit current password in$EDITORztoggle previewy+y/a/[0-9]copy contents in password ('0' to copy the 10th line)/or?will start a search (forward/backward)norNgo to next or previous search resultTo-do ones (might change)Ito add multi-line passwordAto generate with more optionsrrename the fileD,Y,Premove, copy and paste filesMouseThis is very intuitive.Scroll to navigate up and down in the current list.Left-click on the highlighted item will open it, otherwise will highlight it.Right-click will go to the parent folder.ConfigurationConfiguration file:$XDG_CONFIG_DIR/cpass/cpass.cfg, which falls back to$HOME/.config/cpass/cpass.cfgif not found.Example configuration filecpass.cfghas all available options set to the default value, with detailed comments.This is an overview of what can be customized through the configuration file, for the complete list of options, seecpass.cfg:[ui]
preview_layout = side/bottom/horizontal/vertical

[pass]
no_symbols = true/false

[keys]
down = j, down, ctrl n
up = k, up, ctrl p

[copy_fields]
login = l

[color]
normal   = default, default
dir      = light blue, default

[icon]
dir     = "󰉋 "
file    = "󰈤 "Two sections, thekeysandcolor, need some references:Key bindings inkeyssection:For all actions available to bind, see the example configuration file.For the format to specify keys, see theurwid documentation.Colors incolorsection. The configuration is similar to (can be seen as) an urwid pallete consisting of multiple display attributes. In the examplecpass.cfgI provided enough information to get started. If you want to know more:See urwid documentation fordefinition of a palleteanda palette example.Also refer to documentation of theavailable color namesand general information ondisplay attributes.Screenshothttps://user-images.githubusercontent.com/12032219/123406878-f338b280-d5dd-11eb-951e-2a4fc185a65d.mp4