Activity log for bug #382347

Date Who What changed Old value New value Message
2009-06-01 09:18:27 Bruce van der Kooij bug added bug
2009-06-01 16:44:58 Bruce van der Kooij description Current windowing specifications (see EWMH, ICCCM) specify that each window sets an icon of sort sort, which is XPM based and stored in the X Server as a resource. AllTray currently fetches this icon through wnck's get_icon method and uses it in the tray. Regretfully as XPM is a raster format and as the icons are usually quite small (e.g. 24x24) they will not scale up properly (e.g. when the panel is resized). There is a window manager hint called WM_ICON_NAME but it does not seem like this is used (the specification defines it as a should, not a must), so a possible workaround could be: 1. Find an icon using the name from /proc/<pid>/status. 2. If that fails, fall back to what libwnck uses. It may however also be possible to cache all .desktop files and find the application icon by matching the values from /proc against the Exec keys. If a .desktop file cannot be found the procedure above may provide a nice fallback mechanism. Using GTop as an abstraction towards all the process stuff looks like a good idea to me. As there aren't yet any bindings for Vala to GTop this will have to wait (Michael is working on this). Current windowing specifications (see EWMH, ICCCM) specify that each window sets an icon of sort sort, which is XPM based and stored in the X Server as a resource. AllTray currently fetches this icon through wnck's get_icon method and uses it in the tray. Regretfully as XPM is a raster format and as the icons are usually quite small (e.g. 24x24) they will not scale up properly (e.g. when the panel is resized). There is a window manager hint called WM_ICON_NAME but that does not refer to the window name (ICCCM section 4.1.2.2 states: "The WM_ICON_NAME property is an uninterpreted string that the client wants to be displayed in association with the window when it is iconified (for example, in an icon label).", it is similar to WM_NAME). With this information the only way to really figure out the application icon (not the window icon) is by caching all .desktop files and find the application icon by matching the values from /proc against the Exec keys. If a .desktop file cannot be found the procedure below may provide a nice fallback mechanism. 1. Find an icon using the name from /proc/<pid>/status. 2. If that fails, fall back to what libwnck uses. Using GTop as an abstraction towards all the process stuff looks like a good idea to me. As there aren't yet any bindings for Vala to GTop this will have to wait (Michael is working on this).
2009-06-01 20:39:53 Michael B. Trausch summary Implement resize functionality for tray icons AllTray should support scalable icons (e.g., SVG)
2009-06-01 20:39:53 Michael B. Trausch description Current windowing specifications (see EWMH, ICCCM) specify that each window sets an icon of sort sort, which is XPM based and stored in the X Server as a resource. AllTray currently fetches this icon through wnck's get_icon method and uses it in the tray. Regretfully as XPM is a raster format and as the icons are usually quite small (e.g. 24x24) they will not scale up properly (e.g. when the panel is resized). There is a window manager hint called WM_ICON_NAME but that does not refer to the window name (ICCCM section 4.1.2.2 states: "The WM_ICON_NAME property is an uninterpreted string that the client wants to be displayed in association with the window when it is iconified (for example, in an icon label).", it is similar to WM_NAME). With this information the only way to really figure out the application icon (not the window icon) is by caching all .desktop files and find the application icon by matching the values from /proc against the Exec keys. If a .desktop file cannot be found the procedure below may provide a nice fallback mechanism. 1. Find an icon using the name from /proc/<pid>/status. 2. If that fails, fall back to what libwnck uses. Using GTop as an abstraction towards all the process stuff looks like a good idea to me. As there aren't yet any bindings for Vala to GTop this will have to wait (Michael is working on this). Current windowing specifications (see EWMH, ICCCM) specify that each window sets an XPM icon for itself, which is stored in the X Server as a resource. AllTray currently fetches this icon through wnck's get_icon method and uses it in the tray. However, these icons are not scalable and AllTray should use scalable icons (such as SVG icon images) when possible. There is a window manager hint called WM_ICON_NAME but that refers to the window name (see ICCCM § 4.1.2.2 which states: "The WM_ICON_NAME property is an uninterpreted string that the client wants to be displayed in association with the window when it is iconified (for example, in an icon label).", it is similar to WM_NAME). With this information the only way to really figure out the application icon (not the window icon) is by caching all .desktop files and find the application icon by matching the values from /proc against the Exec keys. If a .desktop file cannot be found the procedure below may provide a nice fallback mechanism. 1. Find an icon using the process name (as reported by /proc/$PID/stat{,us} on GNU/Linux or by libgtop) 2. If that fails, use icon (or mini_icon) provided by libwnck for the application. This bug depends on bug 382548 being implemented.
2009-06-01 20:41:26 Michael B. Trausch alltray: importance Undecided Medium
2009-06-01 20:41:26 Michael B. Trausch alltray: status New Confirmed
2009-06-01 20:41:26 Michael B. Trausch alltray: milestone 0.7.3dev
2009-06-07 19:15:18 Michael B. Trausch alltray: milestone 0.7.3dev 0.7.4dev
2009-07-20 22:43:11 Michael B. Trausch alltray: importance Medium Wishlist
2009-07-20 22:43:11 Michael B. Trausch alltray: milestone 0.7.4dev