Files
illogical-impulse/dots/.config/quickshell/ii/services/PolkitService.qml
T
2025-12-08 10:34:05 +01:00

50 lines
1.4 KiB
QML

pragma Singleton
pragma ComponentBehavior: Bound
import QtQuick
import Quickshell
import Quickshell.Services.Polkit
Singleton {
id: root
property alias agent: polkitAgent
property alias active: polkitAgent.isActive
property alias flow: polkitAgent.flow
property bool interactionAvailable: false
property string cleanMessage: {
if (!root.flow) return "";
return root.flow.message.endsWith(".")
? root.flow.message.slice(0, -1)
: root.flow.message
}
property string cleanPrompt: {
const inputPrompt = PolkitService.flow?.inputPrompt.trim() ?? "";
const cleanedInputPrompt = inputPrompt.endsWith(":") ? inputPrompt.slice(0, -1) : inputPrompt;
const usePasswordChars = !PolkitService.flow?.responseVisible ?? true
return cleanedInputPrompt || (usePasswordChars ? Translation.tr("Password") : Translation.tr("Input"))
}
function cancel() {
root.flow.cancelAuthenticationRequest()
}
function submit(string) {
root.flow.submit(string)
root.interactionAvailable = false
}
Connections {
target: root.flow
function onAuthenticationFailed() {
root.interactionAvailable = true;
}
}
PolkitAgent {
id: polkitAgent
onAuthenticationRequestStarted: {
root.interactionAvailable = true;
}
}
}