qol: bar has blur now
This commit is contained in:
@@ -145,6 +145,7 @@
|
|||||||
];
|
];
|
||||||
layerrule = [
|
layerrule = [
|
||||||
"match:namespace ^(notifications)$, no_screen_share true"
|
"match:namespace ^(notifications)$, no_screen_share true"
|
||||||
|
"match:namespace ^(quickshell)$, blur true"
|
||||||
];
|
];
|
||||||
# exec-once = [
|
# exec-once = [
|
||||||
# ];
|
# ];
|
||||||
|
|||||||
@@ -10,12 +10,18 @@ import Quickshell.Services.UPower
|
|||||||
import "common" as Common
|
import "common" as Common
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
// TODO eventually fix the alignment (it isnt centered horizentally)
|
// TODO eventually fix the alignment (it isnt centered horizentally)
|
||||||
id: root
|
id: root
|
||||||
property int battPercent: 58
|
property int battPercent: 58
|
||||||
implicitWidth: itemContent.width + 8
|
implicitWidth: itemContent.width + 8
|
||||||
implicitHeight: 24
|
implicitHeight: 24
|
||||||
visible: {if (UPower.displayDevice.ready) { true } else {false}}
|
visible: {
|
||||||
|
if (UPower.displayDevice.ready) {
|
||||||
|
true;
|
||||||
|
} else {
|
||||||
|
false;
|
||||||
|
}
|
||||||
|
}
|
||||||
radius: 5.5
|
radius: 5.5
|
||||||
Layout.alignment: Qt.AlignVCenter
|
Layout.alignment: Qt.AlignVCenter
|
||||||
color: "#2a2a2a" // Define item color
|
color: "#2a2a2a" // Define item color
|
||||||
@@ -24,53 +30,57 @@ Rectangle {
|
|||||||
implicitWidth: 24
|
implicitWidth: 24
|
||||||
implicitHeight: 24
|
implicitHeight: 24
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
Text {
|
Text {
|
||||||
// anchors.centerIn: parent
|
// anchors.centerIn: parent
|
||||||
text: UPower.displayDevice.percentage + "%"
|
text: UPower.displayDevice.percentage * 100 + "%"
|
||||||
color: Common.Colors.colors.primary
|
color: Common.Colors.colors.primary
|
||||||
font.weight: Font.DemiBold
|
font.weight: Font.DemiBold
|
||||||
font.pointSize: 12
|
font.pointSize: 12
|
||||||
}
|
}
|
||||||
Item {
|
Item {
|
||||||
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
|
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
|
||||||
Text {
|
implicitWidth: icon.width
|
||||||
anchors.centerIn: parent
|
implicitHeight: icon.height
|
||||||
text: root.getBatteryState(UPower.displayDevice.percentage, (UPower.displayDevice.changeRate > 0))
|
Text {
|
||||||
color: root.getBatteryColor(UPower.displayDevice.percentage)
|
id: icon
|
||||||
font.weight: Font.DemiBold
|
anchors.centerIn: parent
|
||||||
font.pointSize: 24/1.4
|
text: root.getBatteryState(UPower.displayDevice.percentage * 100, (UPower.displayDevice.changeRate))
|
||||||
}
|
color: root.getBatteryColor(UPower.displayDevice.percentage * 100)
|
||||||
}
|
font.weight: Font.DemiBold
|
||||||
|
font.pointSize: 24 / 1.4
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
function getBatteryState(level, isCharging) {
|
function getBatteryState(level, isCharging) {
|
||||||
if (level === null || level === 0) {
|
if (level === null || level === 0) {
|
||||||
// Return the battery empty icon
|
// Return the battery empty icon
|
||||||
return isCharging ? Common.Icons.battery.charging["1"] : Common.Icons.battery["0"];
|
return isCharging ? Common.Icons.battery.charging["1"] : Common.Icons.battery["0"];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (level === 100) {
|
||||||
|
// Return the battery full icon
|
||||||
|
return isCharging ? Common.Icons.battery.charging["10"] : Common.Icons.battery["10"];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Calculate step as a value between 1 and 10 (divide level into 10 ranges)
|
||||||
|
let step = Math.ceil(level / 10); // Range mapping
|
||||||
|
if (step > 10)
|
||||||
|
step = 10; // Clamp to 10 if it exceeds bounds
|
||||||
|
|
||||||
|
// Return the correct icon based on state
|
||||||
|
return isCharging ? Common.Icons.battery.charging[String(step)] : Common.Icons.battery[String(step)];
|
||||||
}
|
}
|
||||||
|
function getBatteryColor(level) {
|
||||||
|
if (level === null || level === 0) {
|
||||||
|
// Use critical color for empty battery
|
||||||
|
return Common.Colors.colors.critial2;
|
||||||
|
}
|
||||||
|
|
||||||
if (level === 100) {
|
if (level > 0 && level <= 20) {
|
||||||
// Return the battery full icon
|
// Use critical color for low battery
|
||||||
return isCharging ? Common.Icons.battery.charging["10"] : Common.Icons.battery["10"];
|
return Common.Colors.colors.critial2;
|
||||||
|
}
|
||||||
|
// Default color if no specific condition is met
|
||||||
|
return Common.Colors.colors.primary;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calculate step as a value between 1 and 10 (divide level into 10 ranges)
|
|
||||||
let step = Math.ceil(level / 10); // Range mapping
|
|
||||||
if (step > 10) step = 10; // Clamp to 10 if it exceeds bounds
|
|
||||||
|
|
||||||
// Return the correct icon based on state
|
|
||||||
return isCharging ? Common.Icons.battery.charging[String(step)] : Common.Icons.battery[String(step)];
|
|
||||||
}
|
|
||||||
function getBatteryColor(level) {
|
|
||||||
if (level === null || level === 0) {
|
|
||||||
// Use critical color for empty battery
|
|
||||||
return Common.Colors.colors.critial2;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (level > 0 && level <= 20) {
|
|
||||||
// Use critical color for low battery
|
|
||||||
return Common.Colors.colors.critial2;
|
|
||||||
}
|
|
||||||
// Default color if no specific condition is met
|
|
||||||
return Common.Colors.colors.primary;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,31 +12,32 @@ Singleton {
|
|||||||
// speaker: "../../../assets/bar/V2/speaker.svg",
|
// speaker: "../../../assets/bar/V2/speaker.svg",
|
||||||
// speakerOff: "../../../assets/bar/V2/speakerOff.svg"
|
// speakerOff: "../../../assets/bar/V2/speakerOff.svg"
|
||||||
// })
|
// })
|
||||||
readonly property var battery: ({
|
// TODO replace all these icons with svg's
|
||||||
"0": "",
|
readonly property var battery: ({
|
||||||
"1": "",
|
"0": "",
|
||||||
"2": "",
|
"1": "",
|
||||||
"3": "",
|
"2": "",
|
||||||
"4": "",
|
"3": "",
|
||||||
"5": "",
|
"4": "",
|
||||||
"6": "",
|
"5": "",
|
||||||
"7": "",
|
"6": "",
|
||||||
"8": "",
|
"7": "",
|
||||||
"9": "",
|
"8": "",
|
||||||
"10": "",
|
"9": "",
|
||||||
charging: ({
|
"10": "",
|
||||||
"1": "",
|
charging: ({
|
||||||
"2": "",
|
"1": "",
|
||||||
"3": "",
|
"2": "",
|
||||||
"4": "",
|
"3": "",
|
||||||
"5": "",
|
"4": "",
|
||||||
"6": "",
|
"5": "",
|
||||||
"7": "",
|
"6": "",
|
||||||
"8": "",
|
"7": "",
|
||||||
"9": "",
|
"8": "",
|
||||||
"10": "",
|
"9": "",
|
||||||
})
|
"10": ""
|
||||||
})
|
})
|
||||||
|
})
|
||||||
|
|
||||||
readonly property var audioIcons: ({
|
readonly property var audioIcons: ({
|
||||||
microphone: "",
|
microphone: "",
|
||||||
|
|||||||
Reference in New Issue
Block a user