[maemo-developers] [maemo-developers] non-gtk app integration
From: Tommi Komulainen tommi.komulainen at nokia.comDate: Thu Jul 7 11:29:13 EEST 2005
- Previous message: [maemo-developers] non-gtk app integration
- Next message: [maemo-developers] Re: non-gtk app integration
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thu, 2005-07-07 at 10:24 +0930, ext Chris Warren-Smith wrote: > I managed to get a non-gtk app to integrate with the > taskswitcher. Here's a screenshot: > http://www.twpo.com.au/cwarrens/n770/mandelbrot.jpeg > Non-gtk apps just needs to use _NET_ACTIVE_WINDOW > and _NET_CLIENT_LIST atoms, as well as following the > maemo integration instructions. Actually applications are supposed to be working without manually managing those bits. On any compliant desktop, the window manager manages two properties in the root window: _NET_CLIENT_LIST and _NET_ACTIVE_WINDOW - the first listing all application windows and the latter indicating the currently active one. (Having the information in the root window enables all kinds of task switchers and window list applets nicely synchronize each other.) When any application (meaning something like task switcher) wants to activate another window, they'll send an X client message to the root window, which the window manager will catch and then raise the wanted window. For the average application all of the above should be completely transparent. If it's not working some evil person has managed to break TN while we weren't looking. (It's basically a nice to have compatibility feature only, all apps in 770 are using views, so things like this are more likely to remain unnoticed.) For views the property handling is slightly extended. A window containing multiple views will also have the _NET_CLIENT_LIST and _NET_ACTIVE_WINDOW properties and those are maintained by HildonApp and HildonAppView. Switching views happens using the same X client message except that it's sent to the application window instead of root window. > When the icon is pressed the wm sends _NET_ACTIVE_WINDOW > to the app. presumably the app then needs to intercept this > message and bring its self to the top. In the case the application (read: HildonApp/View) is maintaining then _NET_CLIENT_LIST property in the toplevel window, the yes. Otherwise the message is supposed to be going to the window manager via root window. HTH. -- Tommi Komulainen <tommi.komulainen at nokia.com>
- Previous message: [maemo-developers] non-gtk app integration
- Next message: [maemo-developers] Re: non-gtk app integration
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]