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) {
|
||||
this->mScreen = qscreen;
|
||||
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; }
|
||||
|
|
|
@ -28,6 +28,9 @@ public:
|
|||
/// See [Quickshell.screens] for an example of using `Variants` to create copies of a window per
|
||||
/// 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
|
||||
class Variants: public Reloadable {
|
||||
Q_OBJECT;
|
||||
|
|
Loading…
Reference in a new issue