Compare commits

..

No commits in common. "dc63a34fa14bc77bd8e5c4da3a21da5183e7e0f8" and "a3edf3350f8ad09f3966a2988f40b7da5203b767" have entirely different histories.

7 changed files with 129 additions and 50 deletions

View file

@ -1,25 +1,29 @@
import qs.config
import qs.constants
import qs.services
import qs.utils
import qs.widgets
import QtQuick import QtQuick
import QtQuick.Layouts import Quickshell
import "../../../config/"
import "../../../constants/"
import "../../../services/"
import "../../../styled/"
import "../../../utils/"
StyledButton { Clickable {
id: root id: root
property bool showTemp: false property bool showTemp: false
implicitWidth: row.width
implicitHeight: Dimensions.gpu.height
Ref {
service: SystemInfo
}
onClicked: { onClicked: {
root.showTemp = !root.showTemp; root.showTemp = !root.showTemp;
} }
content: RowLayout { Row {
id: row id: row
Ref {
service: SystemInfo
}
StyledText { StyledText {
id: icon id: icon
@ -27,10 +31,19 @@ StyledButton {
font.pixelSize: Dimensions.gpu.iconSize font.pixelSize: Dimensions.gpu.iconSize
font.bold: true font.bold: true
text: Icons.gpu text: Icons.gpu
anchors.verticalCenter: parent.verticalCenter
topPadding: Dimensions.gpu.verticalPadding
bottomPadding: Dimensions.gpu.verticalPadding
leftPadding: Dimensions.gpu.horizontalPadding
} }
StyledText { StyledText {
id: text id: text
anchors.verticalCenter: parent.verticalCenter
topPadding: Dimensions.gpu.verticalPadding
bottomPadding: Dimensions.gpu.verticalPadding
rightPadding: Dimensions.gpu.horizontalPadding
font.pixelSize: Dimensions.gpu.fontSize font.pixelSize: Dimensions.gpu.fontSize

View file

@ -1,26 +1,43 @@
import qs.config
import qs.constants
import qs.services
import qs.utils
import qs.widgets
import QtQuick import QtQuick
import QtQuick.Layouts import Quickshell
import "../../../config/"
import "../../../constants/"
import "../../../services/"
import "../../../styled/"
import "../../../utils/"
StyledLabel { StyledLabel {
RowLayout { implicitWidth: childrenRect.width
Ref { implicitHeight: Dimensions.memory.height
service: SystemInfo
} Ref {
service: SystemInfo
}
Row {
StyledText { StyledText {
id: icon
font.family: Theme.lucide.font.family font.family: Theme.lucide.font.family
font.pixelSize: Dimensions.memory.iconSize font.pixelSize: Dimensions.memory.iconSize
font.bold: true font.bold: true
text: Icons.memoryStick text: Icons.memoryStick
anchors.verticalCenter: parent.verticalCenter
topPadding: Dimensions.memory.verticalPadding
bottomPadding: Dimensions.memory.verticalPadding
leftPadding: Dimensions.memory.horizontalPadding
} }
StyledText { StyledText {
id: text id: text
anchors.verticalCenter: parent.verticalCenter
topPadding: Dimensions.memory.verticalPadding
bottomPadding: Dimensions.memory.verticalPadding
rightPadding: Dimensions.memory.horizontalPadding
font.pixelSize: Dimensions.memory.fontSize font.pixelSize: Dimensions.memory.fontSize
text: ` ${(SystemInfo.memPerc * 100).toFixed()}%` text: ` ${(SystemInfo.memPerc * 100).toFixed()}%`
} }
} }

View file

@ -1,16 +1,24 @@
import qs.config
import qs.constants
import qs.services
import qs.utils
import qs.widgets
import QtQuick import QtQuick
import QtQuick.Layouts import Quickshell
import "../../../config/"
import "../../../constants/"
import "../../../services/"
import "../../../styled/"
import "../../../utils/"
StyledLabel { StyledLabel {
RowLayout { id: root
Ref {
service: NetworkService implicitWidth: row.width
} implicitHeight: Dimensions.network.height
Ref {
id: ref
service: NetworkService
}
Row {
id: row
StyledText { StyledText {
id: icon id: icon
@ -19,6 +27,11 @@ StyledLabel {
font.bold: true font.bold: true
text: Icons.wifiOff text: Icons.wifiOff
anchors.verticalCenter: parent.verticalCenter
topPadding: Dimensions.network.verticalPadding
bottomPadding: Dimensions.network.verticalPadding
leftPadding: Dimensions.network.horizontalPadding
states: [ states: [
State { State {
name: "high" name: "high"
@ -52,7 +65,13 @@ StyledLabel {
StyledText { StyledText {
id: text id: text
anchors.verticalCenter: parent.verticalCenter
topPadding: Dimensions.network.verticalPadding
bottomPadding: Dimensions.network.verticalPadding
rightPadding: Dimensions.network.horizontalPadding
font.pixelSize: Dimensions.network.fontSize font.pixelSize: Dimensions.network.fontSize
text: ` ${(NetworkService.active?.strength ?? 0).toFixed()}%` text: ` ${(NetworkService.active?.strength ?? 0).toFixed()}%`
} }
} }

View file

@ -1,17 +1,21 @@
import qs.config
import qs.constants
import qs.services
import qs.widgets
import QtQuick import QtQuick
import Quickshell.Io
import "../../../config/"
import "../../../constants/"
import "../../../services/"
import "../../../styled/"
StyledButton { Clickable {
id: clickable id: clickable
implicitWidth: text.width
implicitHeight: Dimensions.notifications.height
onClicked: { onClicked: {
Notifications.clear(); Notifications.clear();
} }
content: StyledText { StyledText {
id: text id: text
font.family: Theme.lucide.font.family font.family: Theme.lucide.font.family
@ -21,12 +25,18 @@ StyledButton {
color: clickable.containsMouse ? Theme.palette.base300 : Theme.palette.basecontent color: clickable.containsMouse ? Theme.palette.base300 : Theme.palette.basecontent
anchors.verticalCenter: parent.verticalCenter
topPadding: Dimensions.notifications.verticalPadding
bottomPadding: Dimensions.notifications.verticalPadding
leftPadding: Dimensions.notifications.horizontalPadding
rightPadding: Dimensions.notifications.horizontalPadding
states: State { states: State {
when: Notifications.hasNotifications when: Notifications.hasNotifications
PropertyChanges { PropertyChanges {
text { text {
text: Icons.bellRing text: Icons.bellRing
color: clickable.containsMouse ? Theme.palette.base300 : Theme.palette.secondary color: clickable.containsMouse ? Theme.palette.base300 : Theme.palette.secondary
} }
} }
} }

View file

@ -1,13 +1,16 @@
import qs.config
import qs.widgets
import QtQuick import QtQuick
import Quickshell.Services.Pipewire import Quickshell.Services.Pipewire
import "../../../config/"
import "../../../styled/"
StyledButton { Clickable {
id: clickable id: clickable
property var sink: Pipewire.defaultAudioSink property var sink: Pipewire.defaultAudioSink
implicitWidth: text.width
implicitHeight: Dimensions.pipewire.height
PwObjectTracker { PwObjectTracker {
id: bound id: bound
objects: [clickable.sink] objects: [clickable.sink]
@ -15,7 +18,7 @@ StyledButton {
onClicked: mouse => { onClicked: mouse => {
if (!sink) { if (!sink) {
return; return
} }
if (mouse.button == Qt.LeftButton) { if (mouse.button == Qt.LeftButton) {
sink.audio.muted = !sink?.audio.muted; sink.audio.muted = !sink?.audio.muted;
@ -53,11 +56,20 @@ StyledButton {
} }
] ]
content: StyledText { StyledText {
id: text id: text
property string icon: " " property string icon: " "
text: `${icon} ${(clickable.sink?.audio.volume * 100).toFixed()}%` text: `${icon} ${(clickable.sink?.audio.volume * 100).toFixed()}%`
font.pixelSize: Dimensions.pipewire.fontSize font.pixelSize: Dimensions.pipewire.fontSize
color: clickable.containsMouse ? Theme.palette.base300 : Theme.palette.basecontent color: clickable.containsMouse ? Theme.palette.base300 : Theme.palette.basecontent
anchors.verticalCenter: parent.verticalCenter
topPadding: Dimensions.pipewire.verticalPadding
bottomPadding: Dimensions.pipewire.verticalPadding
leftPadding: Dimensions.pipewire.horizontalPadding
rightPadding: Dimensions.pipewire.horizontalPadding
} }
} }

View file

@ -1,17 +1,20 @@
import qs.config
import qs.constants
import qs.widgets
import QtQuick import QtQuick
import Quickshell.Io import Quickshell.Io
import "../../../config/"
import "../../../constants/"
import "../../../styled/"
StyledButton { Clickable {
id: clickable id: clickable
implicitWidth: text.width
implicitHeight: Dimensions.caffeine.height
onClicked: { onClicked: {
process.running = true; process.running = true;
} }
content: StyledText { StyledText {
id: text id: text
font.family: Theme.lucide.font.family font.family: Theme.lucide.font.family
@ -20,6 +23,12 @@ StyledButton {
text: Icons.brickWall text: Icons.brickWall
color: clickable.containsMouse ? Theme.palette.base300 : Theme.palette.basecontent color: clickable.containsMouse ? Theme.palette.base300 : Theme.palette.basecontent
anchors.verticalCenter: parent.verticalCenter
topPadding: Dimensions.caffeine.verticalPadding
bottomPadding: Dimensions.caffeine.verticalPadding
leftPadding: Dimensions.caffeine.horizontalPadding
rightPadding: Dimensions.caffeine.horizontalPadding
} }
Process { Process {

View file

@ -9,7 +9,6 @@ Singleton {
readonly property list<AccessPoint> networks: [] readonly property list<AccessPoint> networks: []
readonly property AccessPoint active: networks.find(n => n.active) ?? null readonly property AccessPoint active: networks.find(n => n.active) ?? null
property int refCount
reloadableId: "network" reloadableId: "network"