A polkit authentication agent written in hyprtoolkit https://wiki.hyprland.org/Hypr-Ecosystem/hyprpolkitagent/
  • C++ 90.7%
  • Nix 7%
  • CMake 2.1%
  • Shell 0.2%
Find a file
Sc4r3Cr0w 3a1568629a
ui: inhibit compositor shortcuts while the auth dialog is focused (#61)
request a keyboard shortcuts inhibitor on the dialog toplevel so the compositor
stops firing its global keybinds while the prompt has focus. this keeps a window
cycle bind (hl.dsp.window.cycle_next/prev) from pulling keyboard off the prompt
while a password is being typed, and unlike a layer surface the dialog keeps its
border and window rules.

uses the inhibitShortcuts option added in hyprwm/hyprtoolkit#101. refs #37.

Co-authored-by: j4kuuu <j4kuuu>
2026-10-18 23:18:05 +02:00
.github/workflows CI: use org-wide actions 2026-04-17 15:22:05 +03:00
assets all: replace Qt/QML frontend with hyprtoolkit (#50) 2026-06-03 15:08:59 +01:00
nix nix: gcc 15 -> 16 2026-08-11 19:23:40 +03:00
src ui: inhibit compositor shortcuts while the auth dialog is focused (#61) 2026-10-18 23:18:05 +02:00
.clang-format initial commit 2024-10-15 17:24:54 +01:00
.envrc Nix: init 2024-10-22 08:40:27 +03:00
.gitignore all: replace Qt/QML frontend with hyprtoolkit (#50) 2026-06-03 15:08:59 +01:00
.gitmodules initial commit 2024-10-15 17:24:54 +01:00
build.sh all: replace Qt/QML frontend with hyprtoolkit (#50) 2026-06-03 15:08:59 +01:00
CMakeLists.txt all: replace Qt/QML frontend with hyprtoolkit (#50) 2026-06-03 15:08:59 +01:00
flake.lock nix: gcc 15 -> 16 2026-08-11 19:23:40 +03:00
flake.nix all: replace Qt/QML frontend with hyprtoolkit (#50) 2026-06-03 15:08:59 +01:00
LICENSE Initial commit 2024-10-14 15:00:09 +01:00
README.md config: add allow_empty_password option (#73) 2026-10-14 16:05:18 +02:00
VERSION version: bump to 0.2.0 2026-09-09 15:28:16 +02:00

hyprpolkitagent

A simple polkit authentication agent for Hyprland, written in C++ with hyprtoolkit.

Usage

See the hyprland wiki.

Configuration

hyprpolkitagent reads ~/.config/hyprpolkitagent/hyprpolkitagent.conf (or $XDG_CONFIG_HOME/hyprpolkitagent/hyprpolkitagent.conf) at startup. The file is optional, anything missing falls back to the defaults.

It uses hyprlang syntax. Only the general section exists right now.

Defaults:

general {
    password_field_width = 340
    window_width         = 520
    window_height        = 440
    show_details         = true
    allow_empty_password = false
}
  • password_field_width: px, width of the password input
  • window_width, window_height: px, dialog size
  • show_details: whether the action and command panel can be toggled
  • allow_empty_password: whether an empty password can be submitted. Useful when PAM falls through to another method (e.g. face recognition with howdy) after the password module fails

Drop the file at the path above with only the keys you want to override. Changes apply the next time the agent starts.

Theming

Colors, corner rounding, font family and font sizes come from the hyprtoolkit palette, not from the agent's own config. Drop a ~/.config/hypr/hyprtoolkit.conf (or $XDG_CONFIG_HOME/hypr/hyprtoolkit.conf) with the keys you want to override. The next dialog the agent shows uses the new values, no restart needed.

See the hyprtoolkit wiki for the full list of available keys.