[compiz] DBus setting options broken

Mike Dransfield mike at blueroot.co.uk
Fri Jan 5 11:43:33 PST 2007


David Reveman wrote:
> getScreenData, getWindowData, getWindowList and such methods will return
> a lot of data that is currently available as X properties on client
> windows and the root window and part of the EWMH spec. I don't know to
> what extents that data is available in existing scripting languages. If
> it's already available, then I wouldn't feel good about adding a new
> incompatible way to get that data through compiz. However, I can imagine
> that having all that data available through dbus would be convenient but
> maybe we should provide it as a netwm object (/org/freedesktop/netwm)
> instead so that other window managers could provide it too and only put
> the compiz specific stuff in the compiz object.
>   

I have had a look through the spec and it seems
like it would be easy to implement this way.

The scripting languages I am targeting are things
like bash and javascript.  This would mean that
people could write pagers and taskbars in flash.

I am also interested in using xulrunner applications
there is a dbus xpcom component in the works, so
hopefully soon people can integrate the web into the
desktop more easily.

As you can probably imagine, there are not many
xlib bindings for javascript ;)

I am thinking of providing to objects

/org/freedesktop/netwm/root and
/org/freedesktop/netwm/client

These would then provide some getter and setter
functions.  They would always have to provide a
window id to the function.

One difference is that compiz currently takes
parameters as sequential name/value pairs.  In
python the functions have to be called something
like this.

dbus_iface.activate("key1", value1, "key2", value2);

for the netwm object I think we should define the
functions to receive the values in order.  They are
fairly well defined and consistant so we should be
OK in the future.

Ill try to write a more concrete dbus api as soon as
possible and if it is acceptable, then Ill start coding.
There are quite a few possibilities for how it could be
done.



More information about the compiz mailing list