diff options
-rw-r--r-- | Quickshell.md | 49 |
1 files changed, 48 insertions, 1 deletions
diff --git a/Quickshell.md b/Quickshell.md index a0401f4..607441f 100644 --- a/Quickshell.md +++ b/Quickshell.md @@ -30,6 +30,29 @@ A reusable tree of objects. 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. +# Objects +Properties + +`[required] [readonly] [default] property <type> <name>[: binding]` + +`id` is a special property that can be used to reference an object throughout +the entire current file. Has to be lowercase. + + +Functions + +``` +function <name>(<paramname>[: <type>][, ...])[: returntype] { + // multiline expression (note that `return` is required) +} +``` + +Can be invoked in expressions, reactivity is carried through -- so +if the argument value changes all expressions are re-evaluated. + +Lambas `() => ...` + + # Multiple files shell.qml is the root. If a filename starts with a capital letter it can be referenced. E.g Bar.qml ``` @@ -46,4 +69,28 @@ Has only one instance that is accessible from every scope. For example the date 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 +[Clock formatting](https://doc.qt.io/qt-6/qml-qtqml-qt.html#formatDateTime-method) + + +# Signals +Event emitter. +Same rules as properties and function. + +`signal <name>(<paramname>: <type>[, ...])` + +Objects have implict `on<Signal>` (note capital S) for each signal defined. + +Connections object can be used to access difficult to reach signal handlers, +such as those from Singletons. + +`Connections { target: id; function onClicked() # example target: button }` +Does that somehow override the onClicked function of the target?? + + +All properties have `propertynameChanged` handler, powering the reactivity. + + +# Attached objects +Every object has `Component` attached, used to run stuff when an Object finishes +initializes using `Component.onCompleted`. + |