<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;">On Montag 25 Mai 2009, you wrote:<br>
&gt; On Monday 25 May 2009, Björn Ruberg wrote:<br>
&gt; &gt; &gt;&gt; First issue:<br>
&gt; &gt; &gt;&gt; Plasmaboard uses the class PopupApplet. When clicking on the icon, the<br>
&gt; &gt; &gt;&gt; keyboard appears. This keyboard must stay unfocused! So I used the<br>
&gt; &gt; &gt;&gt; method setPassivePopup(true). That worked great. But when I upgraded<br>
&gt; &gt; &gt;&gt; my working machine from Fedora 10 to Fedora 11 Preview it stopped<br>
&gt; &gt; &gt;&gt; working. Since then the opening keyboard steals focus from the window<br>
&gt; &gt; &gt;&gt; and is useless. This may be a bug invented in qt-4.5 or kde-4.2.2 .<br>
&gt; &gt; &gt;&gt; setPasivePopup is rarely used, so it is possible that no one noticed.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;well, it's more like "it's totally cool for popups to have focus" ...<br>
&gt; &gt; &gt; we'll need some work-around for this for Plasmaboard. either that or<br>
&gt; &gt; &gt; else Plasmaboard will have to provide and manage it's own popup instead<br>
&gt; &gt; &gt; of relying on PopupApplet for this ....<br>
&gt; &gt;<br>
&gt; &gt; Sorry, didn't got that completly.<br>
&gt; &gt; The passive popups worked already. "Suddenly" they are not working.<br>
&gt;<br>
&gt; mmmmm.. define "not working"; they changed a bit in how they work, but that<br>
&gt; was to fix other issues. passive doesn't mean "can't get focus"<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>Okay. "not working" means it steals focus from the last window.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>&gt; &gt; Please help me at least with issue one. I think it's quite important to<br>
&gt; &gt; have a working virtual keyboard for KDE when 4.3 comes out. Cheap<br>
&gt;<br>
&gt; i wonder if it would be possible to track the last-focused window and just<br>
&gt; send x events directly to it. <br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>Probably we would find a way within kwin. But it must work with plasma and <br>
other window managers, too. So my way is the bullet proof and always working <br>
one.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>&gt; but yes, otherwise .. hm ... i think that the<br>
&gt; keyboard would need to handle it's own popup window and ensure it never<br>
&gt; gets focus. putting that into passive popup as a general case situation<br>
&gt; will screw up other widgets that do need focus; perhaps we can fold it into<br>
&gt; popupapplet for 4.4 if there's a general need for it.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>Well, what about a "setVeryPassivePopup"-method? <br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>But before I put the work into investigation how to write my own popup <br>
(probably I just need to subclass and set some window-flag?), the question <br>
remains why setPassivePopup suddenly changed its behaviour - or why its <br>
behaviour is different between Fedora and Ubuntu.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p></body></html>