HardyDesktopEffectsProfiles
Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.
Launchpad Entry: hardy-desktop-effects-profiles
Packages affected: compiz
Summary
To avoid loosing a custom set of enabled plugins and plugin-settings compiz needs to support profiles. This support has to be provided via libcompizsettings. In addition to that profile-support will simplify the task of tweaking the other two sets of effect-levels "normal" and "extra", which can be implemented as two additional profiles. In the end changing an effect-level will just select a different profile.
See also:
[https://wiki.ubuntu.com/DesktopTeam/Specs/HardyDesktopEffects hardy-desktop-effects]
Release Note
Once a user has selected the "Custom" effect-level and made changes to the set of enabled plugins and their settings via the dedicated frontend, s/he is now able to switch back and forth between any of the four possible effect-levels "None", "Normal", "Extra" and "Custom" without loosing any settings done for the "Custom" effect-level.
Rationale
It is unacceptable to have a user loose their made set of enabled plugins and plugin-settings. This is against Ubuntu's principle to always respect and preserve a users made preferences.
Having support for profiles storing a list of enabled plugins and their settings makes future tweaking of the "Normal" and "Extra" effect-levels easier for Ubuntu-developers.
Use Cases
- Sam had a graphics-card failure and had to replace his powerful pixel-pushing beast with less capable one. He used a custom set of plugins and settings for "Visual Effects". For the meantime - until he gets a new powerful graphics-card - he needs to switch back the effect-level for the less capable graphics-card to be able to run a composited desktop still. Once he get the new graphics card he will be easily able to switch back to his custom settings with just one mouse-click.
- Petra considers herself to be a power-user and tweaker. Not content with the shipped set of effect-levels "Normal" or "Extra" she creates her own custom one. When she gets a new additional computer, she wants to simply copy her settings for "Visual Effects" in order to avoid making the changes all over again on the new machine.
Assumptions
simple-ccsm is expected to be compliant with the GNOME-HIG and act as the replacement for ccsm.
Design
simple-ccsm is meant to be the dedicated frontend for creating and changing profiles. In order to do so simple-ccsm has to use libcompizsettings to load and save profiles.
Implementation
This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:
UI Changes
Should cover changes required to the UI, or specific UI that is required to implement this
Code Changes
Code changes should include an overview of what needs to change, and in some cases even the specific details.
Migration
Include:
- data migration, if any
- redirects from old URLs to new ones, if any
- how users will be pointed to the new way of doing things, if necessary.
Test/Demo Plan
It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during CD testing, and to show off after release.
This need not be added or completed until the specification is nearing beta.
Outstanding Issues
This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.
BoF agenda and discussion
Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.