When changing window flags, any custom window type is removed by Qt because it doesn't know them.
So in case of e.g. Notification windows, they turn into regular windows, and then Plasma Dialog re-applies the proprietary window type. This confuses KWin about the stacking order and the window disappears behind other windows.
Details
Details
- Reviewers
- None
- Group Reviewers
KWin
I can unset WindowDoesNotAcceptFocus in a NotificationType window without KWin getting confused now
Tried with
import QtQuick 2.2 import QtQuick.Controls 2.2 as QtControls import org.kde.plasma.core 2.0 as PlasmaCore Item { PlasmaCore.Dialog { id: dialog width: 640 height: 480 type: PlasmaCore.Dialog.Notification flags: Qt.WindowDoesNotAcceptFocus location: PlasmaCore.Types.Floating visible: true Column { QtControls.CheckBox { text: "Don't accept focus" checked: dialog.flags & Qt.WindowDoesNotAcceptFocus onToggled: { if (checked) { dialog.flags |= Qt.WindowDoesNotAcceptFocus; } else { dialog.flags &= ~Qt.WindowDoesNotAcceptFocus; } } } QtControls.TextField { placeholderText: "Try typing here" } } } }
Try typing, doesn't work, uncheck checkbox, focus a window behind it, the popup shouldnt disappear behind the other window
Diff Detail
Diff Detail
- Repository
- R108 KWin
- Lint
Lint Skipped - Unit
Unit Tests Skipped