-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/108957/#review27443
-----------------------------------------------------------


* better filtering on whether two Clients belong to the same application
The WM is supposed to have better information about that than the desktop 
service (group leader, class and eventually PID hint, which is mandatory for 
bamf anyway) -> rl usecase?

* Using the application name as caption in case the window title is bad
The title is handed by the application and while i admit to believe they add 
far too much stuff there: what's the actual usecase of a "bad window title" 
(even scummvm lost it's stupidity ;-)
 -> rl usecase?
Aside this we can now script-a-fix particular titles.

* Getting better icons for window switcher/decorations, mostly important
  for high resolution displays as icons provided through X property do
  not include the large icons (e.g. 128x128)
This is probably the most relevant aspect, but i'd frankly consider 
_NET_WM_LOCAL_ICON_NAME more straightforward and less heuristic (did you look 
into the bamf sources? - special case strings all over the place. that's a 
hack-a-round, not a protocol)

* Using application name for application menu button
Since the client is supposed to know this information very precisely: why does 
it not export it alongsise appmenu?
For clients unaware of their name, see below on how to add window data 
information from the launcher.

Looking at bamf, it seems to double ksycoca but using dbus instead of shm, and 
then does some (cached) reverse lookup on the exec property.

Information should be hinted by the client, not guessed by the DE, but to take 
profit from the service launcher, passing additional process information onto 
windows could be done (by the service launcher, ie. KRun) by watching the PID 
of the launched exe and place it on either root (immediately) or client leader 
(watching for new windows) window and some info should be NETWM extensions 
(rasterizing the various icon sizes as theme-un-aware properties onto the 
window always seemed stupid enough, wastes space and bandwidth and does not 
integrate with the local environment in esp. the network case - or all others 
unless the applications notices the theme changed and updates the property. 
yeah.)

I frankly have no concept for the above ready (esp: "who'd forgets information 
in the root case") but am not convinced about the bamf approach.
It looks like some of my hack solutions in this regard, not anything like a 
proper solution.

- Thomas Lübking


On Feb. 14, 2013, 12:02 p.m., Martin Gräßlin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/108957/
> -----------------------------------------------------------
> 
> (Updated Feb. 14, 2013, 12:02 p.m.)
> 
> 
> Review request for kwin and Plasma.
> 
> 
> Description
> -------
> 
> Adding BAMF support to KWin
> 
> BAMF is a library used by Unity to match windows to their applications.
> This is also pretty useful for KWin, possible uses are:
> * better filtering on whether two Clients belong to the same application
> * Using the application name as caption in case the window title is bad
> * Getting better icons for window switcher/decorations, mostly important
>   for high resolution displays as icons provided through X property do
>   not include the large icons (e.g. 128x128)
> * Using application name for application menu button
> 
> So far support is added to get the KDesktopFile for a Client and this is
> exported to KWinEffects.
> 
> BAMF is probably also useful in other areas of the workspaces, e.g. for
> libtaskmanager.
> 
> 
> Diffs
> -----
> 
>   CMakeLists.txt 6084d7dd7655372506e02abe9f141b73155c5857 
>   cmake/modules/CMakeLists.txt 8d3d58189dbcb9e89d4d9c9aa4f3c1c93abad5e4 
>   cmake/modules/FindQtBAMF.cmake PRE-CREATION 
>   config-workspace.h.cmake 4a2dcbf481bff35c3b05366a3d1a79bb1f400b88 
>   kwin/CMakeLists.txt 2f44c57066913e05062bc1a3c3d8a03e924906dc 
>   kwin/client.h 4cbc20f8e2b3aa31c1c33d63ae90f1f0c9eeefbf 
>   kwin/client.cpp 2ce68fb4a0f108442b3476d39a90895bb1d12ffb 
>   kwin/libkwineffects/kwineffects.h 464d7f2c3261c389dcf2349168b8d67cb691563a 
>   kwin/libkwineffects/kwineffects.cpp 
> 7d522d11e1cc71598e646c972c37f1af2275c3fc 
> 
> Diff: http://git.reviewboard.kde.org/r/108957/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Martin Gräßlin
> 
>

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

Reply via email to