Re: plugin support in metacity

I completely agree with you regarding additional dependencies on X features such as Composite and OpenGL. This, along with lack of time at the core team, is exactly the reason why I think such functionality should not necessarily be built-in. As of now, Composite has terrible performance on most cards, but nvidia seems to perform almost bearable with xcompmgr. Hopefully it will be improved in the future... Being ready ahead of the time shouldn't hurt. :) OpenGL status seems to be much better though - 25 frames of full-screen animation is usually a simple task for todays desktops.

On the other hand: solution with binding a command doesn't work that good. I have now 3ddesk bind to Alt-1/2/3/... keys to switch desktops. But sometimes I prefer to stay with the mouse and click on wnck applet - the result is inconsistent behavior... Same with "Alt-<Tab>" - there are attempts out there (skippy, kompose, expocity), I think there would be more attempts (and thus much more demand to fix the performance issue in Xorg) if this functionality could be easily added to already installed metacity as an add-on rather than a patch/external app.

The general idea behind this could be very similar to theming: the same way user chooses now Metacity theme (say, the "look") he could choose "visualization effects"... And at the same time, a simple plug-in interface would help people express their creativity without being restricted by the considerations of the core product.


Rob Adams wrote:

My thoughts on the plugin issue is that I'd rather avoid metacity plugins if at all possible. The window manager needs to be low-maintainance for the user, and having to install plugins to get needed/desired functionality is kind of lame.

Expose-like functionality, incidentally, I don't see any problem with including into metacity itself. This is not possible, however, until users are running a compositing manager built into metacity to display their desktop, and most likely until the actual compositing is being done in OpenGL. Needless to say, given the current state of X (and the terrifyingly small amount of free time possessed by core metacity developers), this is still a ways off.

3DDesk is the same thing really. Just as with expose, you can do it now but it would be slow beyond slow until everyone's on Xorg with hardware acceleration.

But, incidentally, the slow-beyond-slow way that will work today on X you can implement without too much difficulty without touching metacity source. You would write your separate program, then bind a keypress in metacity through gconf to run a command that either runs your program or sends a message to a daemon process to activate the "workspace-switcher-extraordinaire-of-doom". You can use the same keybinding for this that would ordinarily be bound to workspace switching or window switching.

libwnck has the necessary tools to switch workspaces or focus windows or perform other manipulations by communicating with any EWMH-compliant window manager. So by using libwnck, your program will work with not just metacity but sawfish or KWin or enlightenment or afterstep or fvwm or openbox or...

Does this make any sense?


Gregory Kovriga wrote:

If I'm not mistaken libwnk is only the interface, but the actual workspace switching occurs elsewhere (metacity?)
So the visualization plugin would probably go there...


Xavier Bestel wrote:

Le sam 25/09/2004 �7:52, Gregory Kovriga a �it :
is it possible to add (if doesn't exist yet) a plugin support to metacity? The general idea is that a plugin would be able to add additional visual effects/functionality to the tasks performed by the window manager without adding new dependencies to the core.
Possible extensions might include:
1. desktop chooser plugin, similar to 3ddesk
2. full-screen application chooser, similar to expocity or kompose

I think what you're looking for is libwnck.



desktop-devel-list mailing list
desktop-devel-list gnome org

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]