summaryrefslogtreecommitdiff
path: root/Quickshell.md
diff options
context:
space:
mode:
authorJasper Ras <jaspert.ras@gmail.com>2025-07-17 20:28:21 +0200
committerJasper Ras <jaspert.ras@gmail.com>2025-07-17 20:28:21 +0200
commita3bfa174cdf22bf9366bb511ffb7d461d49b3cf7 (patch)
tree1aa8b3acfa8b696729d444a8ae5a01d64ce16ef1 /Quickshell.md
parent284562556d470823ce56ee182ed73f1ecd778854 (diff)
quickshell
Diffstat (limited to 'Quickshell.md')
-rw-r--r--Quickshell.md49
1 files changed, 49 insertions, 0 deletions
diff --git a/Quickshell.md b/Quickshell.md
new file mode 100644
index 0000000..a0401f4
--- /dev/null
+++ b/Quickshell.md
@@ -0,0 +1,49 @@
+https://quickshell.org
+
+XDG standard config paths. Looks for `shell.qml` in all sub-directories unless root dir has one. Target specific config using `quickshell -c configname`.
+
+# Windows
+Requires `import Quickshell`.
+Types:
+- PanelWindow: for bars, widgets and overlays
+- FloatingWindow: standard desktop windows
+
+[Type reference](https://quickshell.org/docs/types/Quickshell/PanelWindow)
+
+# Text
+[Text](https://doc.qt.io/qt-6/qml-qtquick-text.html) requires `import QtQuick.
+Set `id: somename` to reference by `somename`, ie `somename.text = "blaat"`
+
+Strings can be concat using `+`
+# Processes
+Requires `import Quickshell.Io` (NOTE the capital I in Io)
+
+[Process](https://quickshell.org/docs/types/quickshell.io/process) object runs commands.
+[StdioCollector](https://quickshell.org/docs/types/Quickshell.Io/StdioCollector) reads process' output.
+
+Use a [Timer](https://doc.qt.io/qt-6/qml-qtqml-timer.html) to run Process on an interval.
+
+# Component
+A reusable tree of objects.
+[Variants](https://quickshell.org/docs/types/Quickshell/Variants) creates instances of a component based on user supplied data. For example this used to create instances of a window based on the monitor list.
+
+To prevent many of the same processes when we reuse a component many times use `Scope` to move them outside of the reused component.
+We can use a [Property Definition](https://quickshell.org/docs/configuration/qml-overview/#property-definitions) on the parent scope to communicate between components in different scopes but in the same parent scope. Properties are reactive.
+
+# Multiple files
+shell.qml is the root. If a filename starts with a capital letter it can be referenced. E.g Bar.qml
+```
+Scope {
+ Bar {}
+}
+```
+
+Other folders can be imported using `import` statements.
+
+# Singleton
+Has only one instance that is accessible from every scope. For example the date process in the bar.
+
+Set `pragma Singleton` at the top of the file ( before imports ). and Use `Singleton` type.
+
+
+[Clock formatting](https://doc.qt.io/qt-6/qml-qtqml-qt.html#formatDateTime-method) \ No newline at end of file