Skip to content

LazyLoaders start as active when there are two in different windows #358

@SpadeInTheDirt

Description

@SpadeInTheDirt

Version: quickshell 0.2.1, revision , distributed by: Arch Linux

With two PanelWindows, each with a LazyLoader, the objects inside each of the LazyLoaders loads automatically.

Expected behaviour is that they don't become active until explicitly made active. The windows should not appear when Quickshell is launched.

Actual behaviour is that they automatically start as active. The windows do appear when Quickshell is launched. When Quickshell is refreshed through editing config files, the windows disappear and behaviour seems to be expected.

A minimal repro:

// shell.qml
import Quickshell
import QtQuick.Controls

ShellRoot {
	PanelWindow {
		anchors { bottom: true }
		LazyLoader {
			id: loaderA
			loading: true; active: false

			FloatingWindow { width: 100; height: 200; color: "red"; }
		}

		Button {
			text: "Loader A"
			onClicked: () => { console.log(loaderA.active); }
		}
	}

	PanelWindow {
		anchors { bottom: true }
		LazyLoader {
			id: loaderB
			loading: true; active: false

			FloatingWindow { width: 200; height: 100; color: "blue"; }
		}

		Button {
			text: "Loader B"
			onClicked: () => { console.log(loaderB.active); }
		}
	}
}
Image

If you remove the buttons, the windows inside the loaders will still appear. When you use a FloatingWindow and you have remove the buttons, the lazy-loaded windows ignore their colours and appear white.

import Quickshell
import QtQuick.Controls

ShellRoot {
	PanelWindow {
		anchors { bottom: true }
		LazyLoader {
			id: loaderA
			loading: true; active: false

			FloatingWindow { width: 100; height: 200; color: "red"; }
		}
	}

	FloatingWindow {		// even more weirdness
		LazyLoader {
			id: loaderB
			loading: true; active: false

			FloatingWindow { width: 200; height: 100; color: "blue"; }
		}
	}
}
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions