1. Set the custom keyboard shortcut sh -c 'pgrep -i keepassxc > /dev/null || keepassxc' to Alt+V
  2. Keep KeePassXC’s default autotype prompt keybinding, which is Alt+V

One disables the other. I thought that going the grep route might make the program opener conditionally inactive, but apparently that’s not doing anything. I would really like to avoid using a separate keybinding if possible. Otherwise, I guess I’d just have to have it open on launch.

  • HelloRoot@lemy.lol
    link
    fedilink
    English
    arrow-up
    9
    ·
    edit-2
    1 day ago

    The problem is that your desktop environment’s shortcut handler intercepts Alt+V before KeePassXC ever sees it, so the internal keybinding never fires. And when pgrep finds the process running, your command simply does nothing.

    The fix is to use KeePassXC’s --auto-type CLI flag, which sends the auto-type signal to a running instance:

    Command for your custom shortcut (Alt+V):

    bash -c 'pgrep -x keepassxc > /dev/null && keepassxc --auto-type || keepassxc'
    

    Not sure how keepass behaves though. Maybe you don’t need the condition at all and can just run keepassxc --auto-type from the shortcut and if there is no running instance it will start it.

    • Flagstaff@programming.devOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      5 hours ago

      Wow, it works; you’re a genius!!! Thanks so much!!! Hmm, Lemmy doesn’t seem to have post flair, but it does allow title-editing, so I’ll just update the post title, haha.

      @HelloRoot@lemy.lol, it is actually failing after all. It only pulls up the auto-type window the first time. Then it only summons the main window from thereafter until it closes…

      • HelloRoot@lemy.lol
        link
        fedilink
        English
        arrow-up
        1
        ·
        4 hours ago

        Yeah you probably have to play around with the flags to debug it. I can not look into it right now