quickshell and hyprland additions

This commit is contained in:
2026-03-15 13:56:00 +02:00
parent c9c27d1554
commit 1ad06b82a6
509 changed files with 68371 additions and 19 deletions

View File

@@ -0,0 +1,91 @@
import qs.config
import qs.modules.components
import qs.services
import QtQuick
import Quickshell
import QtQuick.Layouts
StyledRect {
id: root
width: 200
height: 80
radius: Metrics.radius("verylarge")
color: Appearance.m3colors.m3surfaceContainerHigh
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
readonly property bool adapterPresent: Bluetooth.defaultAdapter !== null
readonly property bool enabled: Bluetooth.defaultAdapter?.enabled ?? false
readonly property var activeDevice: Bluetooth.activeDevice
readonly property string iconName: Bluetooth.icon
readonly property string statusText: {
if (!adapterPresent)
return "No adapter";
if (!enabled)
return "Disabled";
if (activeDevice)
return activeDevice.name;
return Bluetooth.defaultAdapter.discovering
? "Scanning…"
: "Enabled";
}
StyledRect {
id: iconBg
width: 50
height: 50
radius: Metrics.radius("verylarge")
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.leftMargin: Metrics.margin("small")
color: {
if (!enabled)
return Appearance.m3colors.m3surfaceContainerHigh;
if (activeDevice)
return Appearance.m3colors.m3primaryContainer;
return Appearance.m3colors.m3secondaryContainer;
}
MaterialSymbol {
anchors.centerIn: parent
iconSize: Metrics.iconSize(35)
icon: iconName
}
}
Column {
anchors.verticalCenter: parent.verticalCenter
anchors.left: iconBg.right
anchors.leftMargin: Metrics.margin("small")
spacing: Metrics.spacing(2)
StyledText {
text: "Bluetooth"
font.pixelSize: Metrics.fontSize("large")
elide: Text.ElideRight
width: root.width - iconBg.width - 30
}
StyledText {
text: statusText
font.pixelSize: Metrics.fontSize("small")
color: Appearance.m3colors.m3onSurfaceVariant
elide: Text.ElideRight
width: root.width - iconBg.width - 30
}
}
MouseArea {
anchors.fill: parent
onClicked: {
if (!adapterPresent)
return;
Bluetooth.defaultAdapter.enabled =
!Bluetooth.defaultAdapter.enabled;
}
}
}