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

List:       kde-core-devel
Subject:    Re: kwin patches
From:       Antonio Larrosa <antlarr () arrakis ! es>
Date:       2000-10-02 12:06:18
[Download RAW message or body]

Matthias Ettrich wrote:
> 
> Mon, 02 Okt 2000 wrote Antonio Larrosa:
> >
> > Hi,
> >
> > This patch fixes :
> > 1) Making sticky a window which is not in the current desktop doesn't
> > paint the window in the current desktop.
> >
> > 2) Using alt-mmb to lower a window gives the focus to the next window in the
> > stacking order, instead of :
> >     1. give the focus to the window under the mouse if using any of the
> >       focus-follow-mouse modes
> >     2. keep the focus if using click-to-focus mode.
> >
> > Please review them. I've tested them and they seem to work ok, so if nobody
> > objects, Matthias (Elter or Ettrich) please commit them before making the
> > snapshots.
> >
> > Greetings,
> >
> > --
> > Antonio Larrosa Jimenez
> > KDE Core developer
> > antonio@larrosa.org        larrosa@kde.org
> > http://www.larrosa.org
> > KDE - The development framework of the future, today.
> 
> ----------------------------------------
> Content-Type: text/plain; name="client.cpp.diff"
> Content-Transfer-Encoding: 7bit
> Content-Description:
> ----------------------------------------
> 
> ----------------------------------------
> Content-Type: text/plain; name="workspace.cpp.diff"
> Content-Transfer-Encoding: 7bit
> Content-Description:
> ----------------------------------------
> 
> The patch is way too complicated. I suggest something along:
> 
>   if (dropFocus && options->focusPolicyIsReasonable() ) {
>         Client* top = topClientOnDesktop();
>         if ( top )
>             requestFocus( top);
>     }
> 
> The activation of the topmost window in clicktorocus mode s actually a feature.
> For the classic focus follows mouse you don't have to do anything, as the X
> server generates an EnterNotify event for you.
> 

Ah, I didnīt know about the automatic EnterNotify event. But anyway, 
"reasonable policies" include click to focus and focus follow mouse.
While I think that in this case, it should be something like this:

if (dropFocus && options->focusPolicy == Options::ClickToFocus ) {
         Client* top = topClientOnDesktop();
         if ( top )
             requestFocus( top);
     }

which only gives the focus to the top client in the case of click to
focus.

(actual names of variables may be different, I donīt have the code in
front of me)

-- 
Antonio Larrosa Jimenez
KDE Core developer
antonio@larrosa.org        larrosa@kde.org
http://www.larrosa.org     http://www.kde.org
KDE - The development framework of the future, today.

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

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