diff --git a/dots/.config/quickshell/ii/modules/ii/onScreenDisplay/OnScreenDisplay.qml b/dots/.config/quickshell/ii/modules/ii/onScreenDisplay/OnScreenDisplay.qml index 21b9c4320..05bce49ae 100644 --- a/dots/.config/quickshell/ii/modules/ii/onScreenDisplay/OnScreenDisplay.qml +++ b/dots/.config/quickshell/ii/modules/ii/onScreenDisplay/OnScreenDisplay.qml @@ -25,6 +25,10 @@ Scope { id: "brightness", sourceUrl: "indicators/BrightnessIndicator.qml" }, + { + id: "gamma", + sourceUrl: "indicators/GammaIndicator.qml" + }, ] function triggerOsd() { @@ -52,6 +56,15 @@ Scope { } } + Connections { + target: Hyprsunset + function onGammaChangeAttempt() { + root.protectionMessage = ""; + root.currentIndicator = "gamma"; + root.triggerOsd(); + } + } + Connections { // Listen to volume changes target: Audio.sink?.audio ?? null diff --git a/dots/.config/quickshell/ii/modules/ii/onScreenDisplay/indicators/GammaIndicator.qml b/dots/.config/quickshell/ii/modules/ii/onScreenDisplay/indicators/GammaIndicator.qml new file mode 100644 index 000000000..7dac9e84f --- /dev/null +++ b/dots/.config/quickshell/ii/modules/ii/onScreenDisplay/indicators/GammaIndicator.qml @@ -0,0 +1,14 @@ +import qs.services +import QtQuick +import Quickshell +import Quickshell.Hyprland +import qs.modules.ii.onScreenDisplay + +OsdValueIndicator { + id: rotateIcon + + icon: "wb_twilight" + scaleIcon: true + name: Translation.tr("Gamma") + value: Hyprsunset.gamma / 100 ?? 0.5 +} diff --git a/dots/.config/quickshell/ii/services/Hyprsunset.qml b/dots/.config/quickshell/ii/services/Hyprsunset.qml index f1c17025e..6af2d6da5 100644 --- a/dots/.config/quickshell/ii/services/Hyprsunset.qml +++ b/dots/.config/quickshell/ii/services/Hyprsunset.qml @@ -13,6 +13,8 @@ import Quickshell.Hyprland */ Singleton { id: root + signal gammaChangeAttempt() + property string from: Config.options?.light?.night?.from ?? "19:00" property string to: Config.options?.light?.night?.to ?? "06:30" property bool automatic: Config.options?.light?.night?.automatic && (Config?.ready ?? true) @@ -105,6 +107,8 @@ Singleton { function setGamma(gamma) { root.gamma = Math.max(0, Math.min(100, gamma)); + root.gammaChangeAttempt(); + if (root.gamma !== 100) { // console.log("[Hyprsunset] Enabling"); Quickshell.execDetached(["bash", "-c", ` diff --git a/dots/.config/quickshell/ii/translations/en_US.json b/dots/.config/quickshell/ii/translations/en_US.json index 82cae2c08..01569de04 100644 --- a/dots/.config/quickshell/ii/translations/en_US.json +++ b/dots/.config/quickshell/ii/translations/en_US.json @@ -81,6 +81,7 @@ "Unknown function call: %1": "Unknown function call: %1", "Online | %1's model | Delivers fast, responsive and well-formatted answers. Disadvantages: not very eager to do stuff; might make up unknown function calls": "Online | %1's model | Delivers fast, responsive and well-formatted answers. Disadvantages: not very eager to do stuff; might make up unknown function calls", "Volume": "Volume", + "Gamma": "Gamma", "Medium": "Medium", "Copy code": "Copy code", "Exceeded max allowed": "Exceeded max allowed",