Files
NixOS-Configs/home/hypr/quickshell/shell.qml

85 lines
2.1 KiB
QML

import QtQuick
import Quickshell
import Quickshell.Io
import "theme"
import "components"
import "."
Scope {
id: root
// =========================================================================
// IPC HANDLERS (Allows controlling shell via `qs ipc call <target> <method>`)
// =========================================================================
IpcHandler {
target: "spotlight"
function toggle() {
GlobalState.toggleSpotlight();
}
function open() {
GlobalState.spotlightVisible = true;
}
function close() {
GlobalState.spotlightVisible = false;
}
}
IpcHandler {
target: "systemHud"
function toggle() {
GlobalState.toggleSystemHud();
}
function open() {
GlobalState.systemHudVisible = true;
}
function close() {
GlobalState.systemHudVisible = false;
}
}
IpcHandler {
target: "systemInfo"
function toggle() {
GlobalState.toggleAboutMac();
}
}
// =========================================================================
// LEFT SIDEBAR (Primary monitor only)
// =========================================================================
SidePanel {
screen: Quickshell.screens[0]
}
// =========================================================================
// TOP STATUS STRIP (All monitors)
// =========================================================================
Variants {
model: Quickshell.screens
TopStrip {}
}
// =========================================================================
// GLOBAL MODAL OVERLAYS
// =========================================================================
// Spotlight Search Overlay
Spotlight {
id: spotlightOverlay
}
// System HUD Flyout Panel
SystemHUD {
id: systemHudPanel
}
// Quick Menu (Power/Session Menu)
QuickMenu {
id: quickMenuOverlay
}
// System Info Dialog
SystemInfo {
id: systemInfoDialog
}
}