A Hyprland-native GnuPG pinentry, built with Qt6, QML, and hyprutils.
This project provides a standalone pinentry dialog that is visually and behaviorally identical to the official hyprpolkitagent. It integrates seamlessly into the Hyprland ecosystem, supporting Wayland-native window rules, the org.hyprland.style plugin, and automatic floating/centering.
(Visuals match the official hyprpolkitagent shown above)
- Hyprland Native: Built using the same stack as official Hyprland utilities (Qt6/QML/hyprutils).
- Visual Consistency: Matches the colors, borders, and layout of
hyprpolkitagent. - Secrets API Integration: Full support for
libsecret(GNOME Keyring, etc.) for persistent password caching, mirroringpinentry-qt. - Wayland Native: Handles window properties correctly for tiling and floating in Hyprland.
- Passphrase Visibility: Integrated "Show" toggle to verify input.
qt6-baseqt6-declarativeqt6-quickcontrols2hyprutilshyprland-qt-supportlibsecret
mkdir build && cd build
cmake ..
makeEdit your ~/.gnupg/gpg-agent.conf to use the new binary:
pinentry-program /path/to/pinentry-hypr/build/pinentry-hyprgpgconf --kill gpg-agentWhile pinentry-hypr is designed to be recognized as a dialog, you can ensure it always floats and stays centered by adding these rules to your hyprland.conf:
windowrulev2 = float, class:^(pinentry-hypr)$
windowrulev2 = center, class:^(pinentry-hypr)$
windowrulev2 = pin, class:^(pinentry-hypr)$
windowrulev2 = stayfocused, class:^(pinentry-hypr)$BSD-3-Clause