add network

This commit is contained in:
Benjamin Palko 2025-07-24 11:52:47 -04:00
parent 37497ddb10
commit aaeac7a5cd
4 changed files with 99 additions and 4 deletions

View file

@ -12,6 +12,7 @@ Singleton {
property Mpris mpris: Mpris {}
property Clock clock: Clock {}
property Pipewire pipewire: Pipewire {}
property Network network: Network {}
property Storage storage: Storage {}
property Memory memory: Memory {}
property Cpu cpu: Cpu {}
@ -52,6 +53,14 @@ Singleton {
property int verticalPadding: 6
}
component Network: QtObject {
property int iconSize: 14
property int fontSize: 14
property int height: 30
property int horizontalPadding: 8
property int verticalPadding: 6
}
component Storage: QtObject {
property int iconSize: 14
property int fontSize: 14
@ -74,9 +83,9 @@ Singleton {
property int height: 30
property int horizontalPadding: 8
property int verticalPadding: 6
}
}
component Gpu: QtObject {
component Gpu: QtObject {
property int iconSize: 14
property int fontSize: 14
property int height: 30

View file

@ -9,6 +9,10 @@ Singleton {
property string gpu: "\u{E66f}"
property string hardDrive: "\u{E0f1}"
property string memoryStick: "\u{E44a}"
property string wifiOff: "\u{E1af}"
property string wifiLow: "\u{E5fd}"
property string wifiHigh: "\u{E5fc}"
property string wifi: "\u{E1ae}"
property string triangle: "\u{E192}"
property string triangleDashed: "\u{E642}"
}

View file

@ -104,6 +104,10 @@ Scope {
anchors.verticalCenter: parent.verticalCenter
}
Network {
anchors.verticalCenter: parent.verticalCenter
}
Storage {
anchors.verticalCenter: parent.verticalCenter
}
@ -114,9 +118,9 @@ Scope {
Cpu {
anchors.verticalCenter: parent.verticalCenter
}
}
Gpu {
Gpu {
anchors.verticalCenter: parent.verticalCenter
}

View file

@ -0,0 +1,78 @@
import QtQuick
import Quickshell
import "../../../config/"
import "../../../constants/"
import "../../../services/"
import "../../../styled/"
import "../../../utils/"
StyledLabel {
id: root
implicitWidth: row.width
implicitHeight: Dimensions.network.height
Ref {
id: ref
service: NetworkService
}
Row {
id: row
StyledText {
id: icon
font.family: Theme.lucide.font.family
font.pixelSize: Dimensions.network.iconSize
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"
when: NetworkService.active?.strength > 50
PropertyChanges {
icon {
text: Icons.wifi
}
}
},
State {
name: "medium"
when: NetworkService.active?.strength > 25
PropertyChanges {
icon {
text: Icons.wifiHigh
}
}
},
State {
name: "low"
when: NetworkService.active?.strength > 0
PropertyChanges {
icon {
text: Icons.wifiLow
}
}
}
]
}
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()}%`
}
}
}