mirror of
https://github.com/belsabbagh/dotfiles.git
synced 2026-04-11 17:47:09 +00:00
98 lines
2.4 KiB
QML
98 lines
2.4 KiB
QML
import qs.config
|
|
import qs.modules.components
|
|
import qs.modules.functions
|
|
import qs.services
|
|
import QtQuick
|
|
import Quickshell
|
|
import QtQuick.Layouts
|
|
import Quickshell.Wayland
|
|
import Quickshell.Io
|
|
import Quickshell.Hyprland
|
|
import QtQuick.Controls
|
|
import Quickshell.Services.Pipewire
|
|
import Qt5Compat.GraphicalEffects
|
|
|
|
PanelWindow {
|
|
id: sidebarRight
|
|
WlrLayershell.namespace: "nucleus:sidebarRight"
|
|
WlrLayershell.layer: WlrLayer.Top
|
|
visible: Config.initialized && Globals.visiblility.sidebarRight && !Globals.visiblility.sidebarLeft
|
|
color: "transparent"
|
|
exclusiveZone: 0
|
|
WlrLayershell.keyboardFocus: Compositor.require("hyprland") && Globals.visiblility.sidebarRight
|
|
|
|
property real sidebarRightWidth: 500
|
|
|
|
implicitWidth: Compositor.screenW
|
|
|
|
HyprlandFocusGrab {
|
|
id: grab
|
|
active: Compositor.require("hyprland")
|
|
windows: [sidebarRight]
|
|
}
|
|
|
|
anchors {
|
|
top: true
|
|
right: (Config.runtime.bar.position === "top" || Config.runtime.bar.position === "bottom" || Config.runtime.bar.position === "right")
|
|
bottom: true
|
|
left: (Config.runtime.bar.position === "left")
|
|
}
|
|
|
|
margins {
|
|
top: Config.runtime.bar.margins
|
|
bottom: Config.runtime.bar.margins
|
|
left: Metrics.margin("small")
|
|
right: Metrics.margin("small")
|
|
}
|
|
|
|
PwObjectTracker {
|
|
objects: [Pipewire.defaultAudioSink]
|
|
}
|
|
|
|
property var sink: Pipewire.defaultAudioSink?.audio
|
|
|
|
MouseArea {
|
|
anchors.fill: parent
|
|
z: 0
|
|
onPressed: Globals.visiblility.sidebarRight = false
|
|
}
|
|
|
|
StyledRect {
|
|
id: container
|
|
z: 1
|
|
color: Appearance.m3colors.m3background
|
|
radius: Metrics.radius("large")
|
|
width: sidebarRight.sidebarRightWidth
|
|
|
|
anchors {
|
|
top: parent.top
|
|
bottom: parent.bottom
|
|
right: parent.right
|
|
}
|
|
|
|
FocusScope {
|
|
focus: true
|
|
anchors.fill: parent
|
|
|
|
Keys.onPressed: {
|
|
if (event.key === Qt.Key_Escape) {
|
|
Globals.visiblility.sidebarRight = false;
|
|
}
|
|
}
|
|
|
|
SidebarRightContent {}
|
|
}
|
|
}
|
|
|
|
function togglesidebarRight() {
|
|
Globals.visiblility.sidebarRight = !Globals.visiblility.sidebarRight;
|
|
}
|
|
|
|
IpcHandler {
|
|
target: "sidebarRight"
|
|
function toggle() {
|
|
togglesidebarRight();
|
|
}
|
|
}
|
|
}
|