This repository has been archived on 2026-07-13. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
nova-shell/shell/services/DockState.qml

38 lines
757 B
QML

pragma Singleton
import QtQuick
QtObject {
// "closed" | "pinned" | "overlay"
property string mode: "closed"
readonly property bool open: mode !== "closed"
// Screen space reserved by the dock when pinned.
// Bar, screen corners, etc. read this to adjust layout.
property int reservedWidth: 0
onModeChanged: {
if (mode !== "pinned")
reservedWidth = 0;
}
function openPinned() {
mode = "pinned";
}
function openOverlay() {
if (mode === "closed")
mode = "overlay";
}
function close() {
mode = "closed";
}
function toggle() {
if (mode === "pinned")
mode = "closed";
else
mode = "pinned";
}
}