blob: e354ab28af30153f3f311c69821cae264fd46084 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
import Quickshell
import Quickshell.Io
import "bar"
import "launcher"
import QtQuick
Scope {
id: root
property var standaloneObj: ({})
Bar {}
LazyLoader {
id: launcherLoader
component: Launcher {
parentLoader: launcherLoader
}
}
IpcHandler {
target: "qs"
function reload(hard: bool): void {
Quickshell.reload(hard);
}
}
IpcHandler {
target: "launcher"
function toggle() {
launcherLoader.active = !launcherLoader.active;
}
function standalone(component: string): void {
if (root.standaloneObj.name === component) {
root.standaloneObj.obj.active = !root.standaloneObj.obj.active;
return;
}
root.standaloneObj.obj = Qt.createQmlObject(`
import Quickshell
import QtQuick
import "launcher"
import "launcher/components"
LazyLoader {
property QtObject selectionState: QtObject {
property Item selected: null
property string input: ""
property int cursorPosition: 0
property var priorities: []
property int selectedPriority: 0
property int previousSelectedPriority: 0
property var widgets: []
}
readonly property list<Component> widgets: [
Component {
Loader {
sourceComponent: Qt.createComponent("launcher/components/" + "${component}.qml")
onLoaded: {
item.standalone = true
item.state = selectionState;
}
}
}
]
id: root
active: true
component: Launcher {
widgetItems: widgets
state: selectionState
parentLoader: root
}
}
`, root);
root.standaloneObj.name = component;
}
}
Connections {
target: Quickshell
function onReloadCompleted() {
Quickshell.inhibitReloadPopup();
}
// function onReloadFailed() {
// Quickshell.inhibitReloadPopup();
// }
}
}
|