From 9a7cf1242d296dbdb9c03df48ab09054960295aa Mon Sep 17 00:00:00 2001 From: Leander Scherer Date: Mon, 18 May 2026 21:48:24 +0200 Subject: feat(quickshell): basic bar, tray, notification --- modules/system/quickshell/Toggle.qml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 modules/system/quickshell/Toggle.qml (limited to 'modules/system/quickshell/Toggle.qml') diff --git a/modules/system/quickshell/Toggle.qml b/modules/system/quickshell/Toggle.qml new file mode 100644 index 0000000..76eb36c --- /dev/null +++ b/modules/system/quickshell/Toggle.qml @@ -0,0 +1,31 @@ +import QtQuick + +// iOS-style on/off switch. `checked` is the visual state; the parent +// owns truth and handles `toggled` by flipping it. Uses Item.enabled +// for the disabled visual + input gating. +Rectangle { + id: root + property bool checked: false + signal toggled() + + width: 40 + height: 22 + radius: 11 + color: checked ? Theme.accent : Theme.sliderTrack + opacity: enabled ? 1.0 : 0.4 + + Rectangle { + width: 18 + height: 18 + radius: 9 + color: Theme.text + anchors { verticalCenter: parent.verticalCenter } + x: root.checked ? parent.width - width - 2 : 2 + Behavior on x { NumberAnimation { duration: 150 } } + } + + MouseArea { + anchors { fill: parent } + onClicked: root.toggled() + } +} -- cgit v1.3.1