<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/107276/">http://git.reviewboard.kde.org/r/107276/</a>
     </td>
    </tr>
   </table>
   <br />








<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On November 11th, 2012, 11:13 a.m., <b>Aaron J. Seigo</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/107276/diff/1/?file=94565#file94565line939" style="color: black; font-weight: bold; text-decoration: underline;">ksmserver/server.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 KSMServer::storeSession()</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">939</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="k">if</span> <span class="p">(</span><span class="n">excludeApps</span><span class="p">.</span><span class="n">contains</span><span class="p">(</span> <span class="n">filename</span><span class="p">.</span><span class="n">toLower</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;">why not check for both program and filename? that should then catch 1, 2 and 4, no?

excludeApps could also be pre-processed to include both long paths and filenames which would then allow catching all 4 variations.

probably the reason this was written to only catch 1 and 4, however, was in case there were binaries of the same name in different paths that should be treated differently (allowing differentiation by full path)..

Lubos will certainly have more insight on this, however.</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;">> probably the reason this was written to only catch 1 and 4, however, was in case there were binaries of the same name in different paths that should be treated differently (allowing differentiation by full path)..

I think that is a valid case, but I also think it is rare. I prefer to first fix this more common problem with a simple patch, and wait to see how many users will notice and complain this rare case not working any more.</pre>
<br />




<p>- Jekyll</p>


<br />
<p>On December 9th, 2012, 7:50 a.m., Jekyll Wu 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 kdelibs, Plasma and Luboš Luňák.</div>
<div>By Jekyll Wu.</div>


<p style="color: grey;"><i>Updated Dec. 9, 2012, 7:50 a.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;">It is easy to understand why the existing code (usually) fails: 

  * Users are most likely to just specify short names, like "dolphin,gwenview,okular,rekonq", instead of "/usr/bin/konsole,/usr/bin/gwenview,/usr/bin/okular,/usr/bin/rekonq"

 * When ksmserver saves the session, it usually gets the full names, like "/usr/bin/dolphin", unless you have started that dolphin instance by typing "dolphin" exactly in a shell. 


So there are four possible combinations :

  1). config uses short name, runtime gets short name (this guy starts everything from konsole, never using kio/krun)
  2). config uses short name, runtime gets long name (I think this is the most common one)
  3). config uses long name, runtime gets short name 
  4). config uses long name, runtime gets long name (I guess some users use this combination because they find only that way works after trying various workaround...)

The existing code works with 1) and 4), the patch now works  with 1), 2) and 4) . I don't know whether it make senses to support all combinations .


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




<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="http://bugs.kde.org/show_bug.cgi?id=242760">242760</a>


</div>


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

 <li>ksmserver/server.cpp <span style="color: grey">(a65b35a)</span></li>

</ul>

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




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








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