Hi, With some help from Quinn_Storm, iXce, maniac103, mikedee and KristianLy :), I've managed to modify switcher.c and make a new plugin: thumbnail. The plugin shows thumbnails of windows when cursor is moved over a task button in taskbar. Screenshot: http://pix.nofrag.com/b0/7a/051d45e25bfffed09eeb9b00e383.jpeg Download: http://forum.go-compiz.org/viewtopic.php?t=377&postdays=0&postorder=asc&start=0 David, what do you think about it? Is it good enough to be moved into official compiz repository? Stjepan
Stjepan Glavina wrote:> Hi, > > With some help from Quinn_Storm, iXce, maniac103, mikedee and > KristianLy :), I've managed to modify switcher.c and make a new plugin: > thumbnail. > The plugin shows thumbnails of windows when cursor is moved over a task > button in taskbar. > >oldDrawWindowGeometry = w->screen->drawWindowGeometry; oldAddWindowGeometry = w->screen->addWindowGeometry; I have seen this type of thing in another beryl plugin can you explain the reasoning behind it? I cannot work out what the thinking behind it is. Regards Mike
Stjepan Glavina wrote:> Hi, > > With some help from Quinn_Storm, iXce, maniac103, mikedee and > KristianLy :), I've managed to modify switcher.c and make a new plugin: > thumbnail. > The plugin shows thumbnails of windows when cursor is moved over a task > button in taskbar. > > Screenshot: > http://pix.nofrag.com/b0/7a/051d45e25bfffed09eeb9b00e383.jpeg > Download: > http://forum.go-compiz.org/viewtopic.php?t=377&postdays=0&postorder=asc&start=0 > > David, what do you think about it? Is it good enough to be moved into > official compiz repository? > >have not downloaded it yet but does it work with minimized windows?> Stjepan > > _______________________________________________ > compiz mailing list > compiz@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/compiz > >
On Mon, 2007-01-08 at 19:34 +0100, Stjepan Glavina wrote:> Hi, > > With some help from Quinn_Storm, iXce, maniac103, mikedee and > KristianLy :), I've managed to modify switcher.c and make a new plugin: > thumbnail. > The plugin shows thumbnails of windows when cursor is moved over a task > button in taskbar. > > Screenshot: > http://pix.nofrag.com/b0/7a/051d45e25bfffed09eeb9b00e383.jpeg > Download: > http://forum.go-compiz.org/viewtopic.php?t=377&postdays=0&postorder=asc&start=0 > > David, what do you think about it? Is it good enough to be moved into > official compiz repository?I had a quick look at the forum thread. The appropriate way to do thumbnails like that would be have it completely done by the task bar application by making it use composite extension to name the window pixmap and draw the thumbnail. Anything else would be a bit of a hack. The problem is that Render extension acceleration isn't good enough and the compositing manager might add window decorations and such things that you might want to be visible in the thumbnail but the task bar application is of course not aware of those things. I suggest that we add a plugin and a simple interface that allows any application to request that a set of client windows should be composited on top of a different client window. E.g. a task bar application that like to show thumbnails in task bar item tooltips would before mapping the tooltop window set a property like _COMPIZ_COMPOSITE_CLIENT on the tooltip window to the client window that should be thumbnailed and the position and size that should be used. A compiz plugin will simply read this property and make sure that the requested client window is composited at the requested position. This is similar to what the switcher plugin is doing and probably very similar to what you had the thumbnail plugin do initially. Task bar applications will need to be modified to support this of course but I reckon that for decent desktop environment integration that's required and not necessarily something we should try to avoid. Anyhow, I think the thumbnail plugin that you've written provides some very useful functionality and if nothing else it's very good for exploring how we can best provide this kind of functionality. I'm interested in including functionality like this in the main compiz repository once we have a good solution for it. Let me know what you think about the my suggestions and keep up the good work. -David
Le mercredi 10 janvier 2007 17:55, David Reveman a ?crit :> Let me know what you think about the my suggestions and keep up the good > work.It should be cool to have a way to get thumbnail of minimized windows too... Beryl has just fork thumbnail plugin (so sad...), they seems to use pixmap to get thumbnail of minimised window (with some beryl core modifications). I think i prefer no thumbnail than a mix with live/pixmap thumbnails. So, it will be cool to have a way to temporaly get the texture of a window without unminimising it. Cedric
David Reveman wrote:> > I suggest that we add a plugin and a simple interface that allows any > application to request that a set of client windows should be composited > on top of a different client window. > >Its probably a good time to point you in the direction of the miniwin plugin, in case you are unaware of it :) http://www.anykeysoftware.co.uk/compiz/plugins/miniwin.tar.gz It actually creates the window as well as painting a scaled window. It also handles rotation so may be a good source of code/ideas for this plugin. It is a very popular and highly requested feature, people want to ditch the taskbar and have miniwin manage minimized windows. On the point of modifying the taskbars to support thumbnailing, this seems like a good long term goal, but can I request that something like this is kept around for legacy reasons. Ubuntu users will likely have first access to modified packages but it would become a nightmare for support if these modifications were not accepted upstream to each taskbar (gnome is probably a given, but I am not too sure if KDE would be willing to accept it unless it was standardized). Please think of the KDE using non-ubuntites :) Regards Mike
On Wed, 2007-01-24 at 17:25 +0100, Stjepan Glavina wrote:> When hovering taskbar, gnome-panel/kicker change the property of the > appropriate window ("_NET_WM_SHOW_THUMBNAIL"). > Thumbnail plugin checks for PropertyNotify events and shows/hides the > thumbnail.(I assume that you didn't want take this discussion off the list) This discussion should eventually be moved to the wm-spec-list but there's a few things I think we should try to decide here first. 1. Should one window only be allowed to show one thumbnail or should the property be a list of thumbnails? 2. How is the position and scale of the thumbnail encoded. Is it: data[0] = thumbnail window ID data[1] = x data[2] = y data[3] = width data[4] = height x, y being relative to the client window position. 3. The compositing manager might have to do some work before it can render the requested thumbnail(s) in a client window. The client wouldn't want the window which contains thumbnails to be visible until all thumbnails can be rendered properly. If the client sets the thumbnail property prior to mapping the window, it allows the compositing manager to delay any drawing of the client window until the requested thumbnails can be rendered. Some of this might need to be documented before it can be accepted as an addition to the EWMH spec. 4. What windows are valid in the thumbnail property? Any window in the _NET_CLIENT_LIST root window property? Or should there be a new _NET_THUMBNAIL_LIST property? Such a list means that the compositing manager doesn't have to provide thumbnails for all available windows, which makes sense for the current state where thumbnails for minimized windows can't be rendered. If someone can think of something else, please jump in. - David