I would prefer not to use dbus because if anyone turns the plugin off (or it fails) then the user will not be able to change the configuration to change it back. However if dbus is the only option, mike could you possibly give me an example of how I would retrieve the key type using your code. Thanks
Dbus is the least prone to problems and also it means that there are less places where code needs to be changed if anything is updated. For you as a configuration app writer it means that anybody will be able to use your app irregardless of which config backend they use (it is likely a kconfig backend will be developed in the future). As far as I can tell the only other solution would be to write a libcompizsettings and then link to it with your app. The problem with this solution is that it creates many places where code has to be changed if (for example) an edgeButton is added to the action. This leads to bugs. I would not worry too much about dbus not working or not being enabled. From what I gather, dbus will be THE IPC mechanism for the next generation desktop. If dbus is not working then a lot of other things will probably not work either. Dbus is replacing DCOP for KDE and AFAIK Gnome is supporting it too. Anyone who doesnt have dbus enabled for whatever reason, can still use gconf-editor. Here is a command which will get the available options for a plugin (in this case, the allscreens options from rotate). You can change allscreens for screen0 to get the screen options. These are shell bindings, you will have to see how to do it with your language. dbus-send --print-reply --type=method_call \ --dest=org.freedesktop.compiz \ /org/freedesktop/compiz/rotate/allscreens \ org.freedesktop.compiz.getOptions To get the meta data for an option use this command dbus-send --print-reply --type=method_call \ --dest=org.freedesktop.compiz \ /org/freedesktop/compiz/rotate/allscreens/flip_time \ org.freedesktop.compiz.getOptionMetadata Change rotate/allscreens/flip_time for the option you are interested in. This function returns these items in order, short desc, long desc, (compiz) datatype. If the item is a numeric value then the min max and precision (for float) are returned. If it is a string then the possible values are returned. Have a play and let me know if it could be improved from your point of view. Remember you can also get and set option values by using the get/set methods as shown in the dbus source. Do not do too much based on these patches, they are unfinished and probably buggy as hell, but they give you some indication of how things will work in the future. _______________________________________________ compiz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/compiz
