Compare commits

...

7 commits

Author SHA1 Message Date
Benjamin Palko
dc63a34fa1 widgets on pywal 2025-07-30 09:47:09 -04:00
Benjamin Palko
fed0d542f7 widgets on pipewire 2025-07-30 09:46:02 -04:00
Benjamin Palko
40742c8b13 widgets on notifications 2025-07-30 09:43:24 -04:00
Benjamin Palko
40c0fa883e widgets on network 2025-07-30 09:41:57 -04:00
Benjamin Palko
6cca8d7c5d memory widgets 2025-07-29 23:59:58 -04:00
Benjamin Palko
6dd436c239 gpu widgets 2025-07-29 23:58:52 -04:00
Benjamin Palko
b453efd778 need ref count 2025-07-29 23:58:42 -04:00
7 changed files with 50 additions and 129 deletions

View file

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

View file

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

View file

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

View file

@ -1,21 +1,17 @@
import qs.config
import qs.constants
import qs.services
import qs.widgets
import QtQuick
import Quickshell.Io
import "../../../config/"
import "../../../constants/"
import "../../../services/"
import "../../../styled/"
Clickable {
StyledButton {
id: clickable
implicitWidth: text.width
implicitHeight: Dimensions.notifications.height
onClicked: {
Notifications.clear();
}
StyledText {
content: StyledText {
id: text
font.family: Theme.lucide.font.family
@ -25,18 +21,12 @@ Clickable {
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 {
when: Notifications.hasNotifications
PropertyChanges {
text {
text: Icons.bellRing
color: clickable.containsMouse ? Theme.palette.base300 : Theme.palette.secondary
text: Icons.bellRing
color: clickable.containsMouse ? Theme.palette.base300 : Theme.palette.secondary
}
}
}

View file

@ -1,16 +1,13 @@
import qs.config
import qs.widgets
import QtQuick
import Quickshell.Services.Pipewire
import "../../../config/"
import "../../../styled/"
Clickable {
StyledButton {
id: clickable
property var sink: Pipewire.defaultAudioSink
implicitWidth: text.width
implicitHeight: Dimensions.pipewire.height
PwObjectTracker {
id: bound
objects: [clickable.sink]
@ -18,7 +15,7 @@ Clickable {
onClicked: mouse => {
if (!sink) {
return
return;
}
if (mouse.button == Qt.LeftButton) {
sink.audio.muted = !sink?.audio.muted;
@ -56,20 +53,11 @@ Clickable {
}
]
StyledText {
content: StyledText {
id: text
property string icon: " "
text: `${icon} ${(clickable.sink?.audio.volume * 100).toFixed()}%`
font.pixelSize: Dimensions.pipewire.fontSize
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,20 +1,17 @@
import qs.config
import qs.constants
import qs.widgets
import QtQuick
import Quickshell.Io
import "../../../config/"
import "../../../constants/"
import "../../../styled/"
Clickable {
StyledButton {
id: clickable
implicitWidth: text.width
implicitHeight: Dimensions.caffeine.height
onClicked: {
process.running = true;
}
StyledText {
content: StyledText {
id: text
font.family: Theme.lucide.font.family
@ -23,12 +20,6 @@ Clickable {
text: Icons.brickWall
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 {

View file

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