1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-05-14 16:22:46 -04:00

Automatic Display Profiles Enhancement & Disabled Output Support (#2367)

* fix(niri): properly close KDL output block when disabled

* feat(display): parse off directive and sync disabled state from compositor configs

* feat(display): visual treatment and canvas filtering for disabled outputs

* feat(display): eager auto-profile generation with debounced auto-select

* refactor(display): pass target profile ID to confirmChanges and remove dead code

* fix(display): make profile dropdown reactive by binding to property directly

* i18n(display): add Disabled translation term for output state
This commit is contained in:
Kilian Mio
2026-05-11 15:34:51 +02:00
committed by GitHub
parent 2b6ae58bff
commit a5352623fd
9 changed files with 254 additions and 106 deletions
@@ -70,6 +70,10 @@ Column {
return DisplayConfigState.getHyprlandSetting(root.outputData, root.outputName, "colorManagement", "auto");
}
property bool isHdrMode: currentCm === "hdr" || currentCm === "hdredid"
property bool isDisabled: {
void (DisplayConfigState.pendingHyprlandChanges);
return DisplayConfigState.getHyprlandSetting(root.outputData, root.outputName, "disabled", false);
}
DankToggle {
width: parent.width
@@ -83,6 +87,7 @@ Column {
DankDropdown {
width: parent.width
text: I18n.tr("Mirror Display")
enabled: !settingsColumn.isDisabled
addHorizontalPadding: true
property var otherOutputs: {
@@ -112,6 +117,7 @@ Column {
width: parent.width
text: I18n.tr("10-bit Color")
description: I18n.tr("Enable 10-bit color depth for wider color gamut and HDR support")
enabled: !settingsColumn.isDisabled
checked: settingsColumn.is10Bit
onToggled: checked => {
if (checked) {
@@ -139,6 +145,7 @@ Column {
width: parent.width
text: I18n.tr("Color Gamut")
addHorizontalPadding: true
enabled: !settingsColumn.isDisabled
currentValue: {
DisplayConfigState.pendingHyprlandChanges;
const val = DisplayConfigState.getHyprlandSetting(root.outputData, root.outputName, "colorManagement", "auto");
@@ -254,6 +261,7 @@ Column {
width: parent.width
height: 40
placeholderText: "1.0 - 2.0"
enabled: !settingsColumn.isDisabled
text: {
DisplayConfigState.pendingHyprlandChanges;
const val = DisplayConfigState.getHyprlandSetting(root.outputData, root.outputName, "sdrBrightness", null);
@@ -287,6 +295,7 @@ Column {
width: parent.width
height: 40
placeholderText: "0.5 - 1.5"
enabled: !settingsColumn.isDisabled
text: {
DisplayConfigState.pendingHyprlandChanges;
const val = DisplayConfigState.getHyprlandSetting(root.outputData, root.outputName, "sdrSaturation", null);