AtlasWindow
The application window of an Atlas app: blur or opaque, a width class, saved size and an optional frameless header.
AtlasWindow is the window of every Atlas app. With "Transparency and blur" on and a compositor that blurs, the background is AtlasStyle.base at blurAlpha over the blurred desktop; otherwise it is plain, opaque AtlasStyle.base. Put sidebarColor(base) on a sidebar so it is a little more see-through.
AtlasWindow is a Qt Quick Controls ApplicationWindow (Qt documentation); its inherited properties work as usual.
widthClass says how roomy the window is: Compact below 30 grid units wide, Wide from 60, Medium between. sidebarCollapsed is true in Compact, so every app folds its sidebar to icons at the same width. stateKey saves the window's width, height and maximised state under Window-<stateKey> in the app's settings file and restores them when the window first shows, clamped to the screen.
Example
AtlasWindow {
stateKey: "main"
AtlasSidebar {
compact: window.sidebarCollapsed
// ...
}
}Properties
| Name | Type | Default | Description |
|---|---|---|---|
blurAlpha |
real |
0.80 |
The window background's alpha over the blur. |
blurred |
bool (read-only) |
— | True while the window is drawn over blur (Appearance.effective). |
frameless |
bool (read-only) |
— | True when header is an AtlasHeaderBar: the window then draws its own title row. |
sidebarCollapsed |
bool (read-only) |
— | True when widthClass is Compact; bind AtlasSidebar.compact to it. |
sidebarFactor |
real |
0.8 |
How much more see-through the sidebar is, as a factor on blurAlpha. |
stateKey |
string |
"" |
Names the saved window state; empty keeps none. |
widthClass |
int (read-only) |
— | How roomy the window is (AtlasWindow.WidthClass). |
Methods
| Signature | Description |
|---|---|
sidebarColor(color base): color |
Returns base with the sidebar's alpha (blurAlpha times sidebarFactor), or base unchanged when there is no blur. |
syncBlur(): var |
Asks the compositor to blur behind the window or stops it, following Appearance. Called when the window shows, gets focus or blurred changes. |
tinted(color base, real factor): color |
Returns base with the alpha blurAlpha times factor, or base unchanged when there is no blur. |
Enums
WidthClass
| Value | Description |
|---|---|
AtlasWindow.Compact |
Narrower than 30 grid units. |
AtlasWindow.Medium |
From 30 up to 60 grid units. |
AtlasWindow.Wide |
60 grid units or wider. |
Frameless mode
Give the window an AtlasHeaderBar as its header and it draws its own title row (title, main tools and the window buttons) instead of KWin's title bar:
AtlasWindow {
header: AtlasHeaderBar { actions: [saveAction, openAction] }
}The window then has Qt.FramelessWindowHint, a hairline border (none when maximised or full screen) and 4 px invisible handles around it that resize it through the compositor. Without an AtlasHeaderBar nothing changes and KWin decorates the window.
Note
A second launch of an app started with atlas_app_run raises this window and exits; nothing is needed in QML.