this post was submitted on 20 May 2026
21 points (100.0% liked)

Linux

17559 readers
142 users here now

Welcome to c/linux!

Welcome to our thriving Linux community! Whether you're a seasoned Linux enthusiast or just starting your journey, we're excited to have you here. Explore, learn, and collaborate with like-minded individuals who share a passion for open-source software and the endless possibilities it offers. Together, let's dive into the world of Linux and embrace the power of freedom, customization, and innovation. Enjoy your stay and feel free to join the vibrant discussions that await you!

Rules:

  1. Stay on topic: Posts and discussions should be related to Linux, open source software, and related technologies.

  2. Be respectful: Treat fellow community members with respect and courtesy.

  3. Quality over quantity: Share informative and thought-provoking content.

  4. No spam or self-promotion: Avoid excessive self-promotion or spamming.

  5. No NSFW adult content

  6. Follow general lemmy guidelines.

founded 2 years ago
MODERATORS
 
  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.

all 10 comments
sorted by: hot top controversial new old
[–] HelloRoot@lemy.lol 9 points 1 day ago* (last edited 1 day ago) (2 children)

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.dev 1 points 1 day ago* (last edited 3 hours ago) (1 children)

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 1 points 2 hours ago

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

[–] Ghoelian@piefed.social 1 points 19 hours ago (1 children)
[–] Flagstaff@programming.dev 1 points 13 hours ago (1 children)

Huh? It's in the comments...

[–] Ghoelian@piefed.social 1 points 11 hours ago (1 children)

Do you mean the one about hyprland? That's the only other comment I see

[–] Havatra@lemmy.zip 2 points 11 hours ago (1 children)

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.dev 1 points 3 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...

[–] Hettyc_Tracyn@lemmy.zip 1 points 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)