1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-24 21:42:51 -05:00

brightness: fix ddc erasing devices, fix OSD behaviors

This commit is contained in:
bbedward
2025-12-01 16:32:10 -05:00
parent 1d91d8fd94
commit bd99be15c2
10 changed files with 127 additions and 111 deletions

View File

@@ -402,9 +402,8 @@ Rectangle {
cursorShape: Qt.PointingHandCursor
onClicked: {
if (modelData) {
AudioService.suppressOSD = true;
SessionData.suppressOSDTemporarily();
modelData.audio.muted = !modelData.audio.muted;
AudioService.suppressOSD = false;
}
}
}
@@ -446,18 +445,9 @@ Rectangle {
thumbOutlineColor: Theme.surfaceContainer
trackColor: appVolumeRow.sliderTrackColor.a > 0 ? appVolumeRow.sliderTrackColor : Theme.withAlpha(Theme.surfaceContainerHigh, Theme.popupTransparency)
onIsDraggingChanged: {
if (isDragging) {
AudioService.suppressOSD = true;
} else {
Qt.callLater(() => {
AudioService.suppressOSD = false;
});
}
}
onSliderValueChanged: function (newValue) {
if (modelData) {
SessionData.suppressOSDTemporarily();
modelData.audio.volume = newValue / 100.0;
if (newValue > 0 && modelData.audio.muted) {
modelData.audio.muted = false;

View File

@@ -1,7 +1,4 @@
import QtQuick
import QtQuick.Controls
import Quickshell
import Quickshell.Services.Pipewire
import qs.Common
import qs.Services
import qs.Widgets
@@ -30,9 +27,8 @@ Row {
cursorShape: Qt.PointingHandCursor
onClicked: {
if (defaultSink) {
AudioService.suppressOSD = true
defaultSink.audio.muted = !defaultSink.audio.muted
AudioService.suppressOSD = false
SessionData.suppressOSDTemporarily();
defaultSink.audio.muted = !defaultSink.audio.muted;
}
}
}
@@ -40,15 +36,19 @@ Row {
DankIcon {
anchors.centerIn: parent
name: {
if (!defaultSink) return "volume_off"
if (!defaultSink)
return "volume_off";
let volume = defaultSink.audio.volume
let muted = defaultSink.audio.muted
let volume = defaultSink.audio.volume;
let muted = defaultSink.audio.muted;
if (muted || volume === 0.0) return "volume_off"
if (volume <= 0.33) return "volume_down"
if (volume <= 0.66) return "volume_up"
return "volume_up"
if (muted || volume === 0.0)
return "volume_off";
if (volume <= 0.33)
return "volume_down";
if (volume <= 0.66)
return "volume_up";
return "volume_up";
}
size: Theme.iconSize
color: defaultSink && !defaultSink.audio.muted && defaultSink.audio.volume > 0 ? Theme.primary : Theme.surfaceText
@@ -70,22 +70,15 @@ Row {
thumbOutlineColor: Theme.surfaceContainer
trackColor: root.sliderTrackColor.a > 0 ? root.sliderTrackColor : Theme.withAlpha(Theme.surfaceContainerHigh, Theme.popupTransparency)
onIsDraggingChanged: {
if (isDragging) {
AudioService.suppressOSD = true
} else {
Qt.callLater(() => { AudioService.suppressOSD = false })
}
}
onSliderValueChanged: function(newValue) {
onSliderValueChanged: function (newValue) {
if (defaultSink) {
defaultSink.audio.volume = newValue / 100.0
SessionData.suppressOSDTemporarily();
defaultSink.audio.volume = newValue / 100.0;
if (newValue > 0 && defaultSink.audio.muted) {
defaultSink.audio.muted = false
defaultSink.audio.muted = false;
}
AudioService.playVolumeChangeSoundIfEnabled()
AudioService.playVolumeChangeSoundIfEnabled();
}
}
}
}
}

View File

@@ -1,7 +1,4 @@
import QtQuick
import QtQuick.Controls
import Quickshell
import Quickshell.Services.Pipewire
import qs.Common
import qs.Services
import qs.Widgets
@@ -30,9 +27,8 @@ Row {
cursorShape: Qt.PointingHandCursor
onClicked: {
if (defaultSource) {
AudioService.suppressOSD = true
defaultSource.audio.muted = !defaultSource.audio.muted
AudioService.suppressOSD = false
SessionData.suppressOSDTemporarily();
defaultSource.audio.muted = !defaultSource.audio.muted;
}
}
}
@@ -40,13 +36,15 @@ Row {
DankIcon {
anchors.centerIn: parent
name: {
if (!defaultSource) return "mic_off"
if (!defaultSource)
return "mic_off";
let volume = defaultSource.audio.volume
let muted = defaultSource.audio.muted
let volume = defaultSource.audio.volume;
let muted = defaultSource.audio.muted;
if (muted || volume === 0.0) return "mic_off"
return "mic"
if (muted || volume === 0.0)
return "mic_off";
return "mic";
}
size: Theme.iconSize
color: defaultSource && !defaultSource.audio.muted && defaultSource.audio.volume > 0 ? Theme.primary : Theme.surfaceText
@@ -67,16 +65,14 @@ Row {
valueOverride: actualVolumePercent
thumbOutlineColor: Theme.surfaceContainer
trackColor: root.sliderTrackColor.a > 0 ? root.sliderTrackColor : Theme.withAlpha(Theme.surfaceContainerHigh, Theme.popupTransparency)
onIsDraggingChanged: {
AudioService.suppressOSD = isDragging
}
onSliderValueChanged: function(newValue) {
onSliderValueChanged: function (newValue) {
if (defaultSource) {
defaultSource.audio.volume = newValue / 100.0
SessionData.suppressOSDTemporarily();
defaultSource.audio.volume = newValue / 100.0;
if (newValue > 0 && defaultSource.audio.muted) {
defaultSource.audio.muted = false
defaultSource.audio.muted = false;
}
}
}
}
}
}