quickshell: match caelestia volume, battery and brightness glyphs
This commit is contained in:
parent
1b59058b91
commit
876dc3fc51
1 changed files with 22 additions and 7 deletions
|
|
@ -543,13 +543,20 @@ in
|
|||
|
||||
Process {
|
||||
id: brightProc
|
||||
property string osdIcon: "brightness_6"
|
||||
property string osdIcon: "brightness"
|
||||
stdout: StdioCollector {
|
||||
// machine-readable: device,class,current,percent%,max
|
||||
onStreamFinished: {
|
||||
let f = text.trim().split("\n")[0].split(",");
|
||||
if (f.length < 5) return;
|
||||
root.osdBrightness(brightProc.osdIcon, parseInt(f[3]) / 100);
|
||||
let v = parseInt(f[3]) / 100;
|
||||
// "brightness" is a request to grade the glyph by
|
||||
// level (caelestia's OSD mapping); the kbd path
|
||||
// passes a literal icon instead.
|
||||
let ic = brightProc.osdIcon === "brightness"
|
||||
? "brightness_" + (Math.round(v * 6) + 1)
|
||||
: brightProc.osdIcon;
|
||||
root.osdBrightness(ic, v);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -566,8 +573,8 @@ in
|
|||
IpcHandler {
|
||||
target: "osd"
|
||||
// floor 1%: `set 0%` turns the panel fully off
|
||||
function brightnessUp(): void { root.setBrightness(["set", "5%+"], "brightness_6"); }
|
||||
function brightnessDown(): void { root.setBrightness(["-n", "1", "set", "5%-"], "brightness_6"); }
|
||||
function brightnessUp(): void { root.setBrightness(["set", "5%+"], "brightness"); }
|
||||
function brightnessDown(): void { root.setBrightness(["-n", "1", "set", "5%-"], "brightness"); }
|
||||
function kbdUp(): void { root.setBrightness(["-d", "smc::kbd_backlight", "set", "10%+"], "keyboard"); }
|
||||
function kbdDown(): void { root.setBrightness(["-d", "smc::kbd_backlight", "set", "10%-"], "keyboard"); }
|
||||
}
|
||||
|
|
@ -816,7 +823,13 @@ in
|
|||
// with a fill that greys when `audioNode.muted`.
|
||||
component VolIcon: SIcon {
|
||||
property var audioNode: null
|
||||
text: (audioNode && audioNode.muted) ? "volume_off" : "volume_up"
|
||||
// caelestia's getVolumeIcon, so the slider's glyph tracks
|
||||
// its level and not just the mute flag.
|
||||
text: !audioNode ? "volume_up"
|
||||
: audioNode.muted ? "no_sound"
|
||||
: audioNode.volume >= 0.5 ? "volume_up"
|
||||
: audioNode.volume > 0 ? "volume_down"
|
||||
: "volume_mute"
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
|
|
@ -3141,7 +3154,7 @@ in
|
|||
spacing: 6
|
||||
SIcon {
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
text: volWidget.muted ? "volume_off" : "volume_up"
|
||||
text: volWidget.muted ? "no_sound" : "volume_up"
|
||||
font.pixelSize: 15
|
||||
}
|
||||
SText {
|
||||
|
|
@ -3616,7 +3629,9 @@ in
|
|||
Row {
|
||||
width: parent.width
|
||||
spacing: 8
|
||||
SIcon { width: 18; anchors.verticalCenter: parent.verticalCenter; text: "brightness_6"; font.pixelSize: 16 }
|
||||
// caelestia's OSD mapping: the glyph tracks the
|
||||
// level instead of sitting on one static step.
|
||||
SIcon { width: 18; anchors.verticalCenter: parent.verticalCenter; text: "brightness_" + (Math.round(brightCard.screenB * 6) + 1); font.pixelSize: 16 }
|
||||
PillSlider {
|
||||
width: parent.width - 26
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue