Index: kdelibs/plasma/popupapplet.cpp =================================================================== --- kdelibs/plasma/popupapplet.cpp (Revision 976120) +++ kdelibs/plasma/popupapplet.cpp (Arbeitskopie) @@ -275,11 +275,7 @@ //stuff out of your Dialog (extenders). Monitor WindowDeactivate events so we can //emulate the same kind of behavior as Qt::Popup (close when you click somewhere //else. - dialog->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint); - updateDialogFlags(); - KWindowSystem::setState(dialog->winId(), NET::SkipTaskbar | NET::SkipPager); - dialog->installEventFilter(q); - + q->setMinimumSize(QSize(0, 0)); if (gWidget) { Corona *corona = qobject_cast(gWidget->scene()); @@ -289,14 +285,25 @@ corona->addOffscreenWidget(gWidget); dialog->setGraphicsWidget(gWidget); } + + dialog->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint | (gWidget->windowFlags() & Qt::X11BypassWindowManagerHint)); } else if (qWidget) { QVBoxLayout *l_layout = new QVBoxLayout(dialog); l_layout->setSpacing(0); l_layout->setMargin(0); l_layout->addWidget(qWidget); dialog->adjustSize(); + + dialog->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint | (qWidget->windowFlags() & Qt::X11BypassWindowManagerHint)); } + else { + dialog->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint); + } + updateDialogFlags(); + KWindowSystem::setState(dialog->winId(), NET::SkipTaskbar | NET::SkipPager); + dialog->installEventFilter(q); + QObject::connect(dialog, SIGNAL(dialogResized()), q, SLOT(dialogSizeChanged())); QObject::connect(dialog, SIGNAL(dialogVisible(bool)), q, SLOT(dialogStatusChanged(bool))); }