elementary Compiz Profile needs packaging

Bug #813940 reported by Eduard Gotwig
48
This bug affects 9 people
Affects Status Importance Assigned to Milestone
elementary OS
Invalid
High
elementary Drive-by Contributors
0.2-luna
Invalid
High
elementary Drive-by Contributors

Bug Description

I think we need our own Compiz Profile. You can easily create it with ccsm, and than just export it to a file. That file will go into eBuild, and will than be integrated as the standard profile in Luna.

Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote :

No, it WILL NOT go into eBuild, and we have a blueprint about that.

Revision history for this message
Eduard Gotwig (gotwig) wrote :

sry, I meant to package it

Revision history for this message
Cassidy James Blaede (cassidyjames) wrote :

Attaching my "first draft." Looking forward to feedback.

Revision history for this message
Danielle Foré (danrabbit) wrote :

We have a branch here for the defaults. It needs to be packaged and installed

https://code.launchpad.net/~elementary-design/+junk/compizprofile

summary: - elementary Compiz Profile needed
+ elementary Compiz Profile needs packaging
Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote :

It appears that /etc/X11/Xsession.d/65compiz_profile-on-session has no effect because it sets the profile to "ubuntu" but the actual profile is called "unity" in CCSM and in GConf.

There's /usr/share/gconf/defaults/10_compiz-gnome file which sets the list of enabled profiles. It doesn't set the default profile though, I wonder if it can be done in GConf at all. Editing that file is not needed, we can set all we need in session, i.e. /usr/share/gconf/pantheon/default/20_pantheon-gconf-default.

For profiles themselves I've found only /apps/compizconfig-1/profiles/ folder in GConf.

Revision history for this message
Eduard Gotwig (gotwig) wrote : Re: [Bug 813940] Re: elementary Compiz Profile needs packaging

Yes. I am going to export the gconf part as a file. Than we could package
that gconf structure file (xml) ? Its just export, import, and selection.
I think that's it...

2012/3/24 Sergey "Shnatsel" Davidoff <email address hidden>

> It appears that /etc/X11/Xsession.d/65compiz_profile-on-session has no
> effect because it sets the profile to "ubuntu" but the actual profile is
> called "unity" in CCSM and in GConf.
>
> There's /usr/share/gconf/defaults/10_compiz-gnome file which sets the
> list of enabled profiles. It doesn't set the default profile though, I
> wonder if it can be done in GConf at all. Editing that file is not
> needed, we can set all we need in session, i.e.
> /usr/share/gconf/pantheon/default/20_pantheon-gconf-default.
>
> For profiles themselves I've found only /apps/compizconfig-1/profiles/
> folder in GConf.
>
> ** Changed in: elementaryos/0.2-luna
> Assignee: elementary OS team (elementary-os) => elementary Drive-by
> Contributors (elementary-driveby)
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/813940
>
> Title:
> elementary Compiz Profile needs packaging
>
> Status in elementary OS:
> Confirmed
> Status in elementary OS 0.2-luna series:
> Confirmed
>
> Bug description:
> I think we need our own Compiz Profile. You can easily create it with
> ccsm, and than just export it to a file. That file will go into
> eBuild, and will than be integrated as the standard profile in Luna.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/elementaryos/+bug/813940/+subscriptions
>

Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote :

Import/export is not an option because it screws localization and is completely wiped by resetting to default, among other things. It would be better to follow the way it's implemented upstream, it seems to be much cleaner.

Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote :

All compizconfig-1/ keys in GConf don't seem to have a schema for themselves. Looks like they're generated based on profile flat file.

Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote :

/etc/compizconfig/config is an interesting file, looks like that's how Compiz profile is picked nowadays

Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote :

/usr/share/gconf/defaults/10_compiz-gnome also sets the plugin list for Unity profile, as if /etc/compizconfig/unity.ini and the profile itself aren't sufficient. Man, Ubuntu defaults are scrattered and dirty, as usually.

Revision history for this message
Eduard Gotwig (gotwig) wrote :

So what are we going to do ? Do a patch package for compiz-gnome, or package our own compiz-gnome package?

Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote :

Custom package with blackjack and hookers, for sure

Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote :

Okay, in #compiz I was told that the defaults are stored in XMLs in plugin sources. They remain in XML form on user's system, and CompizConfig (including CCSM) uses those XMLs as defaults. Packages with plugins also ship GConf schemas, which is interesting...

Revision history for this message
Eduard Gotwig (gotwig) wrote :

So what can we do?

Revision history for this message
Eduard Gotwig (gotwig) wrote :

So if we can't change the default, we could say pantheon that it should load the pantheon profile...

Revision history for this message
Sergey "Shnatsel" Davidoff (shnatsel) wrote :

Eduard: okay, go figure out how profiles are stored in 0.8.x and how to switch them. But I'm pretty sure we can change the default in 0.8.x

Revision history for this message
Eduard Gotwig (gotwig) wrote :

ok, /usr/bin/unity , the start script for unity, sets the compiz profile partialy with shell variables ( If I see that right)

In our case that would be COMPIZ_CONFIG_PROFILE='fooo' .

 I dont realy know why its called foo, tough.
 I imported it via ccsm. Please take a look at /usr/bin/unity

Revision history for this message
Eduard Gotwig (gotwig) wrote :

Here is something that may help :

GCONF:

Import compizprofile into /apps/compizconfig-1/profiles/pantheon

Make /apps/compizconfig-1/profiles/default an exact copy of /apps/compizconfig-1/profiles/pantheon

That should likely be changed in the template file for the gconf tree creation for each user, so new created users get that config automaticly. Also the default values for these keys should be the ones that we set, so users can easily get back to the standard behaviour.

FILESYSTEM:

Make /etc/compizconfig/config look like this:

[kde4_session]
backend = kconfig4
integration = true
plugin_list_autosort = true

[kde_session]
backend = kconfig
integration = true
plugin_list_autosort = true

[gnome_session]
backend = gconf
integration = true
plugin_list_autosort = true
profile = pantheon

[general]
backend = ini
plugin_list_autosort = true

[general_pantheon]
backend = gconf
integration = true
plugin_list_autosort = true
profile = pantheon

[general_ubuntu]
backend = gconf
integration = true
plugin_list_autosort = true
profile = unity

Please be aware that using [general_pantheon] would be the best decission, instead of using [gnome_session] .
When you do this, and it works for you, I think you can remove profile = pantheon from [gnome_session] .

Please look at the TODO part for more info about that.

what means to add profile = pantheon to the existing config file, at the end of [gnome_session] , one line over [general], which is present in Ubuntu, or create a new one.

WARNING: I dont know if we realy need this file:

Make /etc/compizconfig/pantheon.ini look like this:

[core]
s0_active_plugins = core;composite;opengl;compiztoolbox;decor;vpswitch;snap;mousepoll;resize;place;move;wall;grid;regex;imgpng;session;gnomecompat;animation;fade;workarounds;scale;expo;ezoom

Suggestion: keep both files as close as possible to that one in Ubuntu (becouse of session compatibility)

TO DO: use something like [pantheon] instead of [gnome_session] for the load of our session (Ubuntu does use something like [general_ubuntu]). Maybe that could be realized trough setting the environmental variable for compiz config profile (?) : COMPIZ_CONFIG_PROFILE='pantheon' in the start script for the session loading for pantheon.

use upgrades directory for later changes via apt-get software updates (?), please see in Ubuntu for /etc/compizconfig/upgrades as a template for that.

Revision history for this message
Cody Garver (codygarver) wrote :

Thanks for your work on this, but compiz can eat a ****.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.