80 lines
2.6 KiB
Text
80 lines
2.6 KiB
Text
---
|
|
title: "FAQ"
|
|
description: "Frequently Asked Questions"
|
|
index: 1000
|
|
---
|
|
# {frontmatter.title}
|
|
|
|
This page is being actively expanded as common questions come up again.
|
|
|
|
Make sure to also read the [Item Size and Position](/docs/guide/size-position) and
|
|
[QML Language](/docs/guide/qml-language) pages for questions related to
|
|
|
|
## How do I
|
|
|
|
### Reduce memory usage
|
|
The main thing you can do to reduce the memory usage of a given configuration
|
|
is to use loaders. Loaders can be used to create objects only when needed,
|
|
and destroy them when not needed.
|
|
|
|
- Use @@QtQuick.Loader when the component being loaded inherits from @@QtQuick.Item.
|
|
- Use @@Quickshell.LazyLoader in other cases.
|
|
|
|
### Show widgets conditionally
|
|
The @@QtQuick.Item.visible property can be used to change the visibility of an
|
|
Item conditionally, as well as Loaders.
|
|
|
|
Note that you can change out a loader's component conditionally:
|
|
```qml
|
|
@@QtQuick.Loader {
|
|
readonly property Component thing1: ...
|
|
readonly property Component thing2: ...
|
|
|
|
sourceComponent: condition ? thing1 : thing2
|
|
}
|
|
```
|
|
|
|
### Make a rounded window
|
|
Rounded windows are simply transparent square ones with a rounded rectangle
|
|
inside of them.
|
|
|
|
```qml
|
|
@@Quickshell.PanelWindow {
|
|
color: "transparent"
|
|
|
|
@@QtQuick.Rectangle {
|
|
// match the size of the window
|
|
anchors.fill: parent
|
|
|
|
radius: 5
|
|
color: "white" // your actual color
|
|
}
|
|
}
|
|
```
|
|
|
|
### Get rid of the purple/black icons
|
|
The @@Quickshell.Quickshell.iconPath() function has three variants:
|
|
- One draws a purple/black square if the icon is missing.
|
|
- One allows you to specify a fallback icon if the desired one is missing.
|
|
- One returns an empty string if the icon is missing.
|
|
|
|
Either of the last two variants can be used to avoid the purple/black square.
|
|
|
|
## Something is broken
|
|
|
|
### There is a hole in my window
|
|
If you set a Rectangle's color to `"transparent"` and touch its `border` property,
|
|
you'll hit [QTBUG-137166](https://bugreports.qt.io/browse/QTBUG-137166), which
|
|
causes everything under the transparent rectangle to become invisible.
|
|
|
|
Adding a definition like `border.width: 0` seems to work around it, especially
|
|
if the only border property you wanted to set was radius.
|
|
|
|
### My window should not be opaque
|
|
If a window is created with an opaque background color, Quickshell will use
|
|
a window surface format that is opaque, which reduces the amount of processing
|
|
the gpu must do to draw it. If you change the background color of your window
|
|
between opaque and transparent colors, this may affect you.
|
|
|
|
To tell Quickshell to always create a window capable of showing transparency,
|
|
use @@Quickshell.QsWindow.surfaceFormat to set `opaque` to false.
|