<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/105628/">http://git.reviewboard.kde.org/r/105628/</a>
     </td>
    </tr>
   </table>
   <br />













<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">So I don't know much about window managers and stuff.. what I want is to make sure that no matter what the prompt dialog is in the user's face and can't be dismissed.

The worst case I've found is when the akonadi mail dispatcher needs to open the wallet.  the prompt dialog for that has been hidden in some cases.. and can also be stacked below kmail or minimized.  when that happens the user sees their message sitting in their outbox forever (since the mail dispatcher is waiting for kwallet to return)</pre>
<br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On July 20th, 2012, 2:15 p.m., <b>Martin Gräßlin</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="http://git.reviewboard.kde.org/r/105628/diff/1/?file=73793#file73793line361" style="color: black; font-weight: bold; text-decoration: underline;">kwalletd/kwalletd.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">void KWalletD::setupDialog( QWidget* dialog, WId wId, const QString& appid, bool modal ) {</pre></td>

  </tr>
 </tbody>




 
 



 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">361</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="n">KWindowSystem</span><span class="o">::</span><span class="n">forceActiveWindow</span><span class="p">(</span> <span class="n">window</span> <span class="p">);</span></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">from API docs: "The usage of forceActiveWindow() is meant only for pagers and similar tools, which represent direct user actions related to window manipulation. Except for rare cases, this request will be always honored, and normal applications are forbidden to use it."

I do not see that this is a pager or a taskbar. This means forceActiveWindow is the wrong way to do it.

The way it is done here is an example of how to do a nag window. Please make it just a transient to the window it belongs to. KWin should take care of presenting it correctly. It is nothing which has to be above everything else. If we want that we should do it correctly, that is really block till the user entered the password. But in general I'm against windows behaving like that. It would make it very difficult for users to figure out what's going on and I think it's a very bad idea to ask for passwords in a nag window way as long as we have "kded asks for password". Yeah right, what's kded again?</pre>
 </blockquote>



 <p>On July 20th, 2012, 2:24 p.m., <b>Thomas Lübking</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">There're two issues here
a) they don't know the main window
b) it can happen that the wallet password dialog is invoked by two applications at the same time and you can't have one dialog transient for two main windows (for good reason, btw - that's never gonna be "fixed")

So tasks are:
a) figure the mainwindow for daemons (hard enough - what if some plasmoid & kmail access akonadi?)
b) figure to which one the transient should be applied if there's multiple kwalled access

Optionally: question whether the triggered invocation is an ideal approach at all (-> single login, seems heftily demanded)</pre>
 </blockquote>







</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">forceActiveWindow() has always been there.  my patch did not change that.
I added unminimize and setUserTime (and demandsattention)</pre>
<br />




<p>- Allen</p>


<br />
<p>On July 20th, 2012, 1:41 p.m., Allen Winter wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for KDE Runtime, David Faure and Fredrik Höglund.</div>
<div>By Allen Winter.</div>


<p style="color: grey;"><i>Updated July 20, 2012, 1:41 p.m.</i></p>






<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This is an attempt to make the KWallet password prompt much harder to ignore or miss.

Now the prompt should always be in front of the parent window. and it should unminimize if needed, and demand attention.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Just using it in various scenarios.
For example, if the akonadi maildispatcher needs to open kwallet now the password prompt is always in front of kmail</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>kwalletd/kwalletd.cpp <span style="color: grey">(309c45f)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/105628/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>