Version: unknown (using KDE 3.3.1, Gentoo) Compiler: gcc version 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6) OS: Linux (i686) release 2.6.8-gentoo-r3 This is a pretty annoying behaviour... Say I have konqueror open on desktop 2, and in that page there is a form which has stored passwords. I also have Kopete running. Then I exit KDE. When I log back in, I see the first desktop. In the meanwhile, while the session is being restored, konqueror opens in the second desktop, tries to access the wallet, and a password request opens at that desktop. I cannot see any hint that a prompt has been shown. After that kopete starts, and since there already is a request for wallet password on the second desktop, it just waits for that one to be processed. The result is that I tkink that kopete has just frozen, and kill it a few times, until the wallet says that Kopete is misbehaving. The only thing to do (if I don't by chance access the second desktop) is to restart KDE... and so on...
So the solution is to change desktops on you?
I'd rather make the warning appear on the current desktop :-)
(I mean the password request)
On Friday 05 November 2004 14:59, palantir@email.it wrote: > ------- (I mean the password request) That's a problem. The dialog is bound to the caller window. Then you'll have an app with a modal child dialog on another desktop. I can't agree with that one.
And how about a sticky window (I mean one of those that are displayed on all the desktops)?
On Friday 05 November 2004 15:13, palantir@email.it wrote: > ------- And how about a sticky window (I mean one of those that are > displayed on all the desktops)? Good idea. I'll do that right now.
CVS commit by staikos: Show the password dialog on all desktops, thereby avoiding a blocking dialog on another desktop. Seems to be the best solution according to the bug report dialogue. BUG: 91940 M +1 -0 kwalletd.cpp 1.75 --- kdelibs/kio/misc/kwalletd/kwalletd.cpp #1.74:1.75 @@ -385,4 +385,5 @@ int KWalletD::internalOpen(const QCStrin XSetTransientForHint(qt_xdisplay(), kpd->winId(), w); KWin::setState( kpd->winId(), NET::KeepAbove ); + KWin::setOnAllDesktops(kpd->winId(), true); if (kpd->exec() == KDialog::Accepted) { p = kpd->password();