Package: bitwarden-pyro
bitwarden-pyrobwpyrois a Bitwarden python interface built on Rofi, allowing for fast selection and insertion of passwords.Usageusage: bwpyro [OPTIONS] -- [ROFI OPTIONS]

Rofi-based graphical interface for the official BitWarden CLI

optional arguments:
  -h, --help            show this help message and exit
  -v, --verbose         increase verbosity level
  -l, --lock            lock vault and delete session key
  -s, --select-window   select and focus window before auto typing
  --hide-mesg           hide message explaining keybinds
  --version             show version information and exit
  --no-config           ignore config files and use default values
  --dump-config         dump the contents of the config data to stdout
  --no-logging          disable logging to file
  --config CONFIG       use a custom config file path
  --cache CACHE         set the time in days it takes for cache to become
                        invalid (default: 7)
  -c CLEAR, --clear CLEAR
                        clear the clipboard after CLEAR seconds (default: 5)
                        use -1 to disable
  -t TIMEOUT, --timeout TIMEOUT
                        automatically lock the vault after TIMEOUT seconds (default: 900)
                        use  0 to lock immediately
                        use -1 to disable
  -e {copy,password,all,totp}, --enter {copy,password,all,totp}
                        action triggered by pressing Enter (default: copy)
                        copy   - copy password to clipboard
                        all    - auto type username and password
                        passwd - auto type password
                        topt   - copy TOPT to clipboard
  -w {uris,logins,names,folders}, --window-mode {uris,logins,names,folders}
                        set the initial window mode (default: names)Security settingsBitwarden session dataThe master password is requested once, and the session key is stored on system usingkeyctl. On subsequent launches, the session key is requested fromkeyctland the data is decrypted in memory without prompting the user for the password.By default, the session data is set to expire after 15 minutes unless refreshed. However it can be set to never expire by setting the timeout to-1.By disabling this feature, the master password will be requested every time.Usage:// Enabling keyctl storage (default)
$ bwpyro --timeout 900

// Storage without expiration
$ bwpyro --timeout -1

// Disabling keyctl storage
$ bwpyro --timeout 0Local item cacheA local item cache can be used to prevent the whole item collection from being decrypted every time. Items are decrypted, stripped of passwords and TOTP data, and stored on disk in a file with permissions set to0600. The cache will the used to display items, and only after a selection is made, an individual item will be decrypted usingbw.An expiration interval can be set, which will force the application to sync the item data. By default it is set to 7 days.The directory where the item cache is stored is~/.cache/bwpyro/.Usage:// Enabling item cache (default)
$ bwpyro --cache 1

// Disabling item cache
$ bwpyro --cache 0LoggingThe applications' logs can be found in~/.cache/bwpyro. They contain a verbose description of the runtime actions and should contain no sensitive information. If logging needs to be disabled, it can be done by launching the application with the--no-loggingargument.Default keybindsWindow modes:Alt+C: Show foldersAlt+L: Show item loginsAlt+N: Show item namesAlt+U: Show item URIsAlt+R: Sync BitwardenClipboard:Enter: Copy password to clipbaordAlt+T: Copy TOPT to clipboardAuto typing:Alt+1: Auto type passwordAlt+2: Auto type username and passwordConfigurationThe program expects the configuration file to be present in~/.config/bwpyro/config, unless otherwise specified. When no config file can be found in the expected path, a new one will be created using the default values.Section: interfaceinterface.hide_mesg: Hide keybind help message. Expected values: true, false.interface.window_mode: Default window mode. Expected values: Available options: uris, logins, names, folders.Section: securitysecurity.cache: Time in days after which the item cache is set to expiresecurity.clear: Time in seconds after which the clipboard will be clearedsecurity.timeout: Time in seconds after which the keyctl session data will be deletedSection: autotypeautotype.select_window: Whether to show the window picker before the autotyping procedureautotype.slop_args: Arguments used to launch slop as window picker used to style the selectionautotype.start_delay: Time delay in seconds before starting the autotype procedure, allowing the window manager to refocus the windowautotype.tab_delay: Time delay in seconds before and after the Tab key, when auto typing both username and passwordautotype.delay_notification: Show notification letting the user know the value of autotype.start_delay, before starting the delaySection: keyboardkeyboard.{action}: Keybind settings for all available actions and modes.hint: Contents of the text parts of the help message.key: Keybind triggering the action.show: Whether to include it in the help message or notInstallationAn Arch Linux package is available on the AUR:bitwarden-pyro-gityay -S bitwarden-pyro-gitThe package is also available on PyPI:bitwarden-pyropip install bitwarden-pyroDependencies:rofi: Display to user interfacebitwarden-cli: Retrieve Bitwarden itemskeyutils: Providekeyctlcachinglibnotify: Show desktop notificationOptional dependenciesxdotool: Provide auto typing for X11ydotool-git: Provide auto typing for Waylandxclip: Provide clipboard interaction with X11xset: Alternative for clipoard interaction with X11wl-clipboard: Provide clipboard interaction with Waylandslop: Provide window selection for auto typingwmctrl: Provide window focusing for auto typingWayland clipboardClipboard interaction requires root access for wayland users, as outlined byReimuNotMoe/ydotool:This program requires access to /dev/uinput. This usually requires root permissions.The easiest way of achieving this is by adding the following line tovisudo:your_username ALL=(ALL) NOPASSWD: /usr/bin/ydotoolLicenseThis software is available under the MIT LicenseCreditsThis software is based on the idea of Matthias De Bie and hisbitwarden-rofi, written in Bash.