summaryrefslogtreecommitdiff
path: root/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/CapsLockIndicator.qml
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/CapsLockIndicator.qml')
-rw-r--r--raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/CapsLockIndicator.qml62
1 files changed, 62 insertions, 0 deletions
diff --git a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/CapsLockIndicator.qml b/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/CapsLockIndicator.qml
new file mode 100644
index 0000000..ada41dd
--- /dev/null
+++ b/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/DankBar/Widgets/CapsLockIndicator.qml
@@ -0,0 +1,62 @@
+import QtQuick
+import qs.Common
+import qs.Modules.Plugins
+import qs.Services
+import qs.Widgets
+
+BasePill {
+ id: root
+
+ opacity: DMSService.capsLockState ? 1 : 0
+
+ states: [
+ State {
+ name: "hidden_horizontal"
+ when: !DMSService.capsLockState && !isVerticalOrientation
+ PropertyChanges {
+ target: root
+ width: 0
+ }
+ },
+ State {
+ name: "hidden_vertical"
+ when: !DMSService.capsLockState && isVerticalOrientation
+ PropertyChanges {
+ target: root
+ height: 0
+ }
+ }
+ ]
+
+ transitions: [
+ Transition {
+ NumberAnimation {
+ properties: "width,height"
+ duration: Theme.shortDuration
+ easing.type: Theme.standardEasing
+ }
+ }
+ ]
+
+ Behavior on opacity {
+ NumberAnimation {
+ duration: Theme.shortDuration
+ easing.type: Theme.standardEasing
+ }
+ }
+
+ content: Component {
+ Item {
+ implicitWidth: icon.width
+ implicitHeight: root.widgetThickness - root.horizontalPadding * 2
+
+ DankIcon {
+ id: icon
+ anchors.centerIn: parent
+ name: "shift_lock"
+ size: Theme.barIconSize(root.barThickness, undefined, root.barConfig?.maximizeWidgetIcons, root.barConfig?.iconScale)
+ color: Theme.primary
+ }
+ }
+ }
+}