forked from quickshell/quickshell
window: changing screen now recreates the window on the new screen
This commit is contained in:
parent
31365dd179
commit
5f9bb9b46c
2
examples
2
examples
|
@ -1 +1 @@
|
||||||
Subproject commit 9c83cc248c968b18a827b4fa4c616a8d362176e1
|
Subproject commit f76b43db25fb06a016ccf64ec2b28079c325c346
|
|
@ -139,7 +139,12 @@ void ProxyWindowBase::setScreen(QuickshellScreenInfo* screen) {
|
||||||
if (this->window == nullptr) {
|
if (this->window == nullptr) {
|
||||||
this->mScreen = qscreen;
|
this->mScreen = qscreen;
|
||||||
emit this->screenChanged();
|
emit this->screenChanged();
|
||||||
} else this->window->setScreen(qscreen);
|
} else {
|
||||||
|
auto reshow = this->window->isVisible();
|
||||||
|
if (reshow) this->window->setVisible(false);
|
||||||
|
this->window->setScreen(qscreen);
|
||||||
|
if (reshow) this->window->setVisible(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProxyWindowBase::onScreenDestroyed() { this->mScreen = nullptr; }
|
void ProxyWindowBase::onScreenDestroyed() { this->mScreen = nullptr; }
|
||||||
|
|
|
@ -28,6 +28,9 @@ public:
|
||||||
/// See [Quickshell.screens] for an example of using `Variants` to create copies of a window per
|
/// See [Quickshell.screens] for an example of using `Variants` to create copies of a window per
|
||||||
/// screen.
|
/// screen.
|
||||||
///
|
///
|
||||||
|
/// > [!WARNING] BUG: Variants currently fails to reload children if the variant set is changed as
|
||||||
|
/// > it is instantiated. (usually due to a mutation during variant creation)
|
||||||
|
///
|
||||||
/// [Quickshell.screens]: ../quickshell#prop.screens
|
/// [Quickshell.screens]: ../quickshell#prop.screens
|
||||||
class Variants: public Reloadable {
|
class Variants: public Reloadable {
|
||||||
Q_OBJECT;
|
Q_OBJECT;
|
||||||
|
|
Loading…
Reference in a new issue