mirror of
https://github.com/end-4/dots-hyprland.git
synced 2026-06-05 14:59:27 -05:00
89 lines
2.0 KiB
QML
89 lines
2.0 KiB
QML
import QtQuick
|
|
import Quickshell
|
|
import Quickshell.Io
|
|
import Quickshell.Wayland
|
|
import Quickshell.Hyprland
|
|
import qs
|
|
import qs.services
|
|
import qs.modules.common
|
|
import qs.modules.common.widgets
|
|
|
|
Scope {
|
|
id: root
|
|
|
|
LazyLoader {
|
|
id: barLoader
|
|
active: GlobalStates.barOpen
|
|
component: Variants {
|
|
model: Quickshell.screens
|
|
delegate: PanelWindow { // Bar window
|
|
id: barRoot
|
|
required property var modelData
|
|
screen: modelData
|
|
exclusionMode: ExclusionMode.Ignore
|
|
exclusiveZone: implicitHeight
|
|
WlrLayershell.namespace: "quickshell:bar"
|
|
|
|
anchors {
|
|
left: true
|
|
right: true
|
|
bottom: Config.options.waffles.bar.bottom
|
|
top: !Config.options.waffles.bar.bottom
|
|
}
|
|
|
|
color: "transparent"
|
|
implicitHeight: content.implicitHeight
|
|
implicitWidth: content.implicitWidth
|
|
|
|
WaffleBarContent {
|
|
id: content
|
|
anchors.fill: parent
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
IpcHandler {
|
|
target: "bar"
|
|
|
|
function toggle(): void {
|
|
GlobalStates.barOpen = !GlobalStates.barOpen
|
|
}
|
|
|
|
function close(): void {
|
|
GlobalStates.barOpen = false
|
|
}
|
|
|
|
function open(): void {
|
|
GlobalStates.barOpen = true
|
|
}
|
|
}
|
|
|
|
GlobalShortcut {
|
|
name: "barToggle"
|
|
description: "Toggles bar on press"
|
|
|
|
onPressed: {
|
|
GlobalStates.barOpen = !GlobalStates.barOpen;
|
|
}
|
|
}
|
|
|
|
GlobalShortcut {
|
|
name: "barOpen"
|
|
description: "Opens bar on press"
|
|
|
|
onPressed: {
|
|
GlobalStates.barOpen = true;
|
|
}
|
|
}
|
|
|
|
GlobalShortcut {
|
|
name: "barClose"
|
|
description: "Closes bar on press"
|
|
|
|
onPressed: {
|
|
GlobalStates.barOpen = false;
|
|
}
|
|
}
|
|
}
|