Files
nixos-config/home/common/programs/hyprland/quickshell/Bar.qml
T
Miguel Palhas e8086e8528 Several hyprland updates:
plugins, new cursor, light/dark themes, new app launcher, ...
2026-02-16 17:33:40 +00:00

95 lines
1.8 KiB
QML

import Quickshell
import Quickshell.Hyprland
import QtQuick
import QtQuick.Layouts
Scope {
id: root
property bool barVisible: false
Variants {
model: Quickshell.screens
Scope {
id: perScreen
required property var modelData
// invisible trigger zone at the top edge
PanelWindow {
id: trigger
screen: perScreen.modelData
visible: !root.barVisible
anchors {
top: true
left: true
right: true
}
exclusionMode: ExclusionMode.Ignore
implicitHeight: 4
color: "transparent"
MouseArea {
anchors.fill: parent
hoverEnabled: true
onEntered: root.barVisible = true
}
}
// the actual bar
PanelWindow {
id: bar
screen: perScreen.modelData
visible: root.barVisible
anchors {
top: true
left: true
right: true
}
exclusionMode: ExclusionMode.Ignore
implicitHeight: 32
color: "#e611111b"
MouseArea {
anchors.fill: parent
hoverEnabled: true
propagateComposedEvents: true
// keep bar visible while mouse is on it
onExited: hideTimer.restart()
}
RowLayout {
anchors.fill: parent
anchors.leftMargin: 12
anchors.rightMargin: 12
spacing: 0
Workspaces {
Layout.alignment: Qt.AlignLeft
}
Item { Layout.fillWidth: true }
SysTray {
Layout.alignment: Qt.AlignRight
Layout.rightMargin: 16
}
ClockWidget {
Layout.alignment: Qt.AlignRight
}
}
}
Timer {
id: hideTimer
interval: 500
onTriggered: root.barVisible = false
}
}
}
}