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

  • Hettyc_Tracyn@lemmy.zip
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 day ago

    If you use Hyperland, you can simply setup the keybind in hypr.config (also makes it easier to change your default file manager, etc)

        • Havatra@lemmy.zip
          link
          fedilink
          English
          arrow-up
          2
          ·
          12 hours ago

          Interesting… There’s a comment here by @HelloRoot@lemy.lol, so perhaps your instance doesn’t federate with lemy.lol?

          In their comment they suggested this command:

          bash -c 'pgrep -x keepassxc > /dev/null && keepassxc --auto-type || keepassxc'
          
          • Flagstaff@programming.devOP
            link
            fedilink
            English
            arrow-up
            1
            ·
            5 hours ago

            Actually, this code didn’t work after all! It brings up the autotype window once, but then it brings up the main window thereafter…