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

List:       kwin
Subject:    Re: Re: Unity 3d ( The game engine, not the  ubuntu wm ) hides when use frameless setup
From:       Martin =?ISO-8859-1?Q?Gr=E4=DFlin?= <mgraesslin () kde ! org>
Date:       2014-01-30 13:33:29
Message-ID: 2769613.EoKWdsDqYA () martin-desktop
[Download RAW message or body]

[Attachment #2 (multipart/signed)]


On Thursday 30 January 2014 11:21:59 Helio Chissini de Castro wrote:
> On Thursday 30 January 2014 13:32:29 Martin Gräßlin wrote:
> > On Thursday 30 January 2014 10:23:57 Helio Chissini de Castro wrote:
> > > Hello all
> > > 
> > > Our base system that is deployed in our touch table machines are KDE 4
> > > with
> > > Fedora system. We use basically only Qt Qml application, full screen
> > > spanned on the dual screen setup, standard monitor and projection touch
> > > screen. Recently we got required to run some applications built on
> > > Unity3D and i stumbled on a specific issue only on kwin.
> > > 
> > > The Unity runtime player has few options to handle window,
> > > one of then is -popupwindow
> > > 
> > > Situation is, despite been working fine on regular windowed mode, if we
> > > use
> > > the popupwindow mode it creates a frameless window centered on screen
> > > which
> > > simply hides itself when clicked with mouse or similar click iteraction
> > > (
> > > touch table ), but application still runs on background.
> > > 
> > > The same result not happens on bare X window or any other
> > > compositor/window
> > > manager.
> > 
> > What is the expected effect? That the window stays there or that the
> > application exits?
> 
> Stay there, because we need to iteract over the objects

I'm getting good at guessing the window flags correctly from the described 
behavior :-)

It's a splash window, see:
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_SPLASH

KWin's behavior is to close splash windows when you click them:
if (isSplash()
       && button == XCB_BUTTON_INDEX_1 && !bModKeyHeld) {
    // hide splashwindow if the user clicks on it
    hideClient(true);
    if (w == wrapperId())
      xcb_allow_events(connection(), XCB_ALLOW_SYNC_POINTER, 
XCB_TIME_CURRENT_TIME);  //xTime());
     return true;
}

This is from events.cpp (line 1053 current master).

I'd suggest to not use a splash window for this case. I assume that unity uses 
splash windows for frameless windows as that was the only way to get it 
without decorations on all window managers. It's obviously wrong and there are 
kind of standardized ways (e.g. Yakuake works, doesn't it ;-)

Cheers
Martin
["signature.asc" (application/pgp-signature)]

_______________________________________________
kwin mailing list
kwin@kde.org
https://mail.kde.org/mailman/listinfo/kwin


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

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