Version: (using KDE KDE 3.5.4) Installed from: SuSE RPMs 1. open kmail 2. do NOT download emails 3. write an email 4. press send 5. the wallet password dilog comes up but you have to click into the window to type. Would be VERY convenient if the focus is on that window.
I think that's a drawback of the focus policy in kwin. It tries to keep other apps from grabbing focus, unfortunately kwallet dialogs seem to be "another application" (is kwallet a kded plugin?). I think this has to be special-cased in kwin :(
I think it's possible to circumvent the focus stealing prevention by passing some window id to kwallet (?). Let's ask Lubos.
I cannot reproduce the problem, what should I see? Here after sending the mail the composer window closes, kmail needs a password in order to store it using imap and the kwallet dialog shows properly over the main kmail window.
Here kwallet dialogs never gets focus AFAICS. I can also reproduce it just by starting kontact (it asks for the imap password on start because kmail is connecting to my imap server at startup).
Works fine for me. Please attach xwininfo and xprop output for all the relevant windows.
Created attachment 17212 [details] xprop and xwininfo of kwallet-dialog and kmail kmail NET ICON property was stripped, I doubt it's needed. This is on a Xinerama setup, just in case it makes a difference.
Ok, my problem is actually unrelated/different to this bugreport. Here the kwallet dialog does get proper focus when kmail window is on screen, i.e. I cannot reproduce this exact bug.
I'm confused. Is Stefan's attachement sufficient for you? If not please advise how to create this xwininfo and xprop output, it doesn't mean anything to me as a non-developer. Regarding reproducing the problem it is important not to fetch any mails before sending an email. For fetching an email the password dialog has the focus.
Run xwininfo and xprop e.g. in Konsole. After starting each of them click on the two windows.
*** Bug 135128 has been marked as a duplicate of this bug. ***
SVN commit 593938 by vkrause: Try harder to find an appropriate parent for the kwallet password dialog. Based on a suggestion of Lubos, should fix #133861 and might also help with #131756. BUG: 133861 CCBUG: 131756 M +8 -2 kmkernel.cpp --- branches/KDE/3.5/kdepim/kmail/kmkernel.cpp #593937:593938 @@ -2247,9 +2247,15 @@ if ( !Wallet::isEnabled() || walletOpenFailed ) return 0; + // find an appropriate parent window for the wallet dialog + WId window = 0; + if ( qApp->activeWindow() ) + window = qApp->activeWindow()->winId(); + else if ( getKMMainWidget() ) + window = getKMMainWidget()->topLevelWidget()->winId(); + delete mWallet; - mWallet = Wallet::openWallet( Wallet::NetworkWallet(), - getKMMainWidget() ? getKMMainWidget()->topLevelWidget()->winId() : 0 ); + mWallet = Wallet::openWallet( Wallet::NetworkWallet(), window ); if ( !mWallet ) { walletOpenFailed = true;
*** This bug has been marked as a duplicate of 106459 ***