View Full Version : where does ccsm get it's information ??
delfick
July 21st, 2007, 04:45 PM
hello
which files does the ccsm use to get information for each plugin such as
*name
*description
*group
*icon name
*tab names
??
thnx :D
Nikke
July 21st, 2007, 05:06 PM
Its (or used to be, at least) compiled in each plugin.
/N
delfick
July 22nd, 2007, 02:20 AM
ok then, if that be the case, how would i go about getting the above information for each plugin into an xml file ??
thnx
Deciare
July 22nd, 2007, 03:28 AM
The XML files used by ccsm are contained in /usr/share/compiz/. Depending on the prefix used by your packager, the location on your system may vary. Doing a [code:b5422]locate firepaint.xml[/code:b5422] should find the correct path pretty quickly. :)
delfick
July 22nd, 2007, 03:33 AM
hmm, weird...
I had already found those files
but some of them don't seem to be complete
for example clone.xml doesn't have a category field, yet it's in the destop category of ccsm...
and how does the ccsm determine what option goes in what tab?
thnx
Deciare
July 22nd, 2007, 04:12 AM
Clone is distributed as a part of Compiz-core. As far as I know, plugins distributed with Compiz-core don't follow exactly the same metadata format as those maintained by non-core Compiz Fusion developers. As you've noticed, core plugins don't have a <category> field.
For cases like Clone, libcompizconfig (the library on which ccsm is based, and the library that provides the ccp plugin) assigns a category in $SRCDIR/metadata/global.xml. Tab names, as well as which options belong under which tabs, are also assigned in global.xml.
delfick
July 22nd, 2007, 07:18 AM
Clone is distributed as a part of Compiz-core. As far as I know, plugins distributed with Compiz-core don't follow exactly the same metadata format as those maintained by non-core Compiz Fusion developers. As you've noticed, core plugins don't have a <category> field.
For cases like Clone, libcompizconfig (the library on which ccsm is based, and the library that provides the ccp plugin) assigns a category in $SRCDIR/metadata/global.xml. Tab names, as well as which options belong under which tabs, are also assigned in global.xml.
ok then...that makes sense then
thnx :D
delfick
July 22nd, 2007, 12:44 PM
what's the difference between "screen" and "display" ??
Deciare
July 22nd, 2007, 05:15 PM
I'm taking a wild guess here, but screen may refer to settings that can be adjusted independently for each screen device physically attached to the graphic device, whereas display refers to settings that apply to the current logical X display (which may contain one or more screens). So maybe it's the difference between "allscreens" versus "screen0", "screen1", etc. when using the gconf plugin or dbus-send to communicate with Compiz?
I only have one screen, so I have no way of testing. ccsm used to let you select which screen you were configuring (a dropdown list in the upper-left corner of the window), but that's either gone now, or hidden if I only have one screen.
delfick
July 23rd, 2007, 01:36 AM
ok then.....
do you know what the ccsm does with these sections ??
Deciare
July 24th, 2007, 08:17 AM
ok then.....
do you know what the ccsm does with these sections ??
As I noted in my last post, basically nothing. :P
With only one screen attached, ccsm doesn't seem to bother making any kind of distinction between options grouped under <display> and <screen>. With multiple screens attached, it may let you set certain options per-screen.
What are you trying to do? Why is this important to know?
delfick
July 24th, 2007, 08:29 AM
ok then.....
do you know what the ccsm does with these sections ??
As I noted in my last post, basically nothing. :P
With only one screen attached, ccsm doesn't seem to bother making any kind of distinction between options grouped under <display> and <screen>.
oh, ok then :D
[quote:c636b]What are you trying to do? Why is this important to know?[/quote:c636b]
i was waiting for that question :D
basically, the implementation of this idea here http://forum.compiz.org/viewtopic.php?t=832
so far i've come up with this
http://delfick.storage.googlepages.com/flashbsm.zip
(all i need now is to determine which plugins are enabled, the ability to tell compiz when the status of a plugin changes and the settings area for every plugin..... :D)
Deciare
July 25th, 2007, 12:29 AM
Ooh. o.o Your mock-up's turning into the real thing! How nice. :D I think it would be wonderful (in a slightly self-indulgent but rather unfrivolous sort of way) to be able to access my Compiz configuration from the Web! For one thing, it'd make answering support questions easier when I'm not at home. http://i81.photobucket.com/albums/j239/Deciare/emoticons/icon_xd.gif Guessing about what option is where really isn't helpful.
(all i need now is to determine which plugins are enabled, the ability to tell compiz when the status of a plugin changes and the settings area for every plugin..... :D)
I think it's the responsibility of the currently-active config plugin to signal Compiz when something about the configuration changes. Using the gconf plugin, the gconf plugin should automatically signal Compiz whenever it detects a change to the GConf hierarchy containing Compiz settings. Using the ini plugin, the inotify(?) plugin should signal Compiz whenever something in the ini file changes. The ccp plugin has built-in mechanisms for detecting changes to GConf/KConfig/Default.ini and should signal Compiz as appropriate.
So most of your work would be making your Web configurator understand at least one of the existing configuration file/framework formats so that it can interact with them...
delfick
July 25th, 2007, 04:22 AM
Ooh. o.o Your mock-up's turning into the real thing! How nice. :D
yeah :D
I think it would be wonderful (in a slightly self-indulgent but rather unfrivolous sort of way) to be able to access my Compiz configuration from the Web! [/quote:06d4d]
that'd be interesting......
[quote:06d4d]For one thing, it'd make answering support questions easier when I'm not at home. http://i81.photobucket.com/albums/j239/Deciare/emoticons/icon_xd.gif Guessing about what option is where really isn't helpful.[/quote:06d4d]
i know the feeling :P
[quote:06d4d][quote=delfick](all i need now is to determine which plugins are enabled, the ability to tell compiz when the status of a plugin changes and the settings area for every plugin..... :D)
I think it's the responsibility of the currently-active config plugin to signal Compiz when something about the configuration changes. Using the gconf plugin, the gconf plugin should automatically signal Compiz whenever it detects a change to the GConf hierarchy containing Compiz settings. Using the ini plugin, the inotify(?) plugin should signal Compiz whenever something in the ini file changes. The ccp plugin has built-in mechanisms for detecting changes to GConf/KConfig/Default.ini and should signal Compiz as appropriate.[/quote:06d4d]
oh ok then, so all i have to do is change the appropiate place in the configuration file and change automatically changes.....
slight problem with that is how do i know where in the file to change (for ini) and how do i change gconf?
do you think i'd be able to use [url=http://forum.compiz.org/viewtopic.php?t=825:06d4d]cws[/url:06d4d] for that?
Deciare
July 25th, 2007, 12:52 PM
cws may be a problem since it relies on DBus to communicate with Compiz. While trying to help someone else with a different problem, I learnt that many plugins have incomplete lists of functions and options that can be accessed via DBus. For example:
[code:38c8c]dbus-send --print-reply --type=method_call --dest=org.freedesktop.compiz /org/freedesktop/compiz/cube/allscreens org.freedesktop.compiz.list
method return sender=:1.5 -> dest=:1.24
string "abi"
string "index"
string "unfold"
string "next_slide"
string "prev_slide"[/code:38c8c]
None of Cube's options are accessible via DBus.
*does some more testing*
... But that's because the rest of the options show up under screen0, not allscreens. ^^; <display> and <screen>, which didn't matter yesterday, have returned to haunt us! Ooh, but this does provide a working solution for that other guy who was trying to change his skydome image with a script. :D I'll have to remember to post about that once I get home from work.
delfick
July 25th, 2007, 01:17 PM
Ooh, but this does provide a working solution for that other guy who was trying to change his skydome image with a script. :D I'll have to remember to post about that once I get home from work.
lol :D
vBulletin® v3.7.1, Copyright ©2000-2008, Jelsoft Enterprises Ltd.