[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-panel-devel
Subject:    Re: popupApplet and window focus
From:       Björn_Ruberg <bjoern () ruberg-wegener ! de>
Date:       2009-05-25 19:28:47
Message-ID: 200905252128.48105.bjoern () ruberg-wegener ! de
[Download RAW message or body]

On Montag 25 Mai 2009, you wrote:
> On Monday 25 May 2009, Björn Ruberg wrote:
> > >> First issue:
> > >> Plasmaboard uses the class PopupApplet. When clicking on the icon, the
> > >> keyboard appears. This keyboard must stay unfocused! So I used the
> > >> method setPassivePopup(true). That worked great. But when I upgraded
> > >> my working machine from Fedora 10 to Fedora 11 Preview it stopped
> > >> working. Since then the opening keyboard steals focus from the window
> > >> and is useless. This may be a bug invented in qt-4.5 or kde-4.2.2 .
> > >> setPasivePopup is rarely used, so it is possible that no one noticed.
> > >
> > >well, it's more like "it's totally cool for popups to have focus" ...
> > > we'll need some work-around for this for Plasmaboard. either that or
> > > else Plasmaboard will have to provide and manage it's own popup instead
> > > of relying on PopupApplet for this ....
> >
> > Sorry, didn't got that completly.
> > The passive popups worked already. "Suddenly" they are not working.
>
> mmmmm.. define "not working"; they changed a bit in how they work, but that
> was to fix other issues. passive doesn't mean "can't get focus"

Okay. "not working" means it steals focus from the last window.

> > Please help me at least with issue one. I think it's quite important to
> > have a working virtual keyboard for KDE when 4.3 comes out. Cheap
>
> i wonder if it would be possible to track the last-focused window and just
> send x events directly to it. 

Probably we would find a way within kwin. But it must work with plasma and 
other window managers, too. So my way is the bullet proof and always working 
one.

> but yes, otherwise .. hm ... i think that the
> keyboard would need to handle it's own popup window and ensure it never
> gets focus. putting that into passive popup as a general case situation
> will screw up other widgets that do need focus; perhaps we can fold it into
> popupapplet for 4.4 if there's a general need for it.

Well, what about a "setVeryPassivePopup"-method? 

But before I put the work into investigation how to write my own popup 
(probably I just need to subclass and set some window-flag?), the question 
remains why setPassivePopup suddenly changed its behaviour - or why its 
behaviour is different between Fedora and Ubuntu.


[Attachment #3 (text/html)]

<!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>



_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

--===============1521550855==--

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic