From Fedora Project Wiki

Feature Name

Gnome Shell Configurability

Summary

There is a lot of low hanging fruit that Fedora could provide over the upstream Gnome Shell, which would help new users and entice disillusioned ones (from unity). I'm proposing a judicious integration of some existing optional fedora components, to cater for a wider array of user preferences.

Owner

  • Email: pbrady@redhat.com

Current status

  • Targeted release: [Fedora 17]
  • Last updated: Nov 10 2011
  • Percentage of completion: 0%


Detailed Description

With a few well chosen options and extensions to Gnome Shell, Fedora could be much more accessible to new and old users alike. I realise that providing options is often a cop out, and a sign of misdesigned or incomplete software. However it's a bit different with direct user interaction software like this, where the options reflect the diverse preferences and experiences of the user base.

Perhaps we might change a couple of upstream defaults too to help transitioning users, and I could mention my personal set of changes that I need to make, but the main thing is to provide the options to the users.

As a very concrete example of this see the Linux Mint Gnome3 transition strategy. They note there, some extensions they've developed and options presented to the user. They also note the large uptake of their Gnome2 based distro from annoyed unity users.

Benefit to Fedora

Low hanging fruit to get more users

Scope

This will basically be a collation of existing components already available. gnome-tweak-tool covers most settings. Perhaps we could make available some of the Linux Mint extensions and settings linked to above. Other extensions that overlap with the linux mint ones are: http://intgat.tigress.co.uk/rmy/extensions/index.html Also there are the existing http://pkgs.fedoraproject.org/gitweb/?p=gnome-shell-extensions.git packages which I've grouped into 'settings', 'compat gui changes' and 'miscellaneous' below. I would consider most of the first and second groups under consideration here. Note to give an indication of the lack of integration of these extensions currently, the ['alternate-tab' package doesn't work] in Fedora 16 currently.

   $ yum search gnome-shell-extension
   gnome-shell-extension-alternate-tab.noarch : Classic Alt+Tab behavior. Window based instead of app based
   gnome-shell-extension-alternative-status-menu.noarch : For those who want a power off item visible at all the time
   gnome-shell-extension-workspace-indicator.noarch : Workspace Indicator
   gnome-shell-extension-native-window-placement.noarch : Arrange windows in overview in a more native way
   gnome-shell-extension-noim.noarch : A gnome-shell extension for removing the name and the IM status
   gnome-shell-extension-noripple.noarch : A gnome-shell extension to disable hot corner ripple effects
   gnome-shell-extension-remove-accessibility-icon.noarch : A gnome-shell extensions for removing the accessibility icon
   gnome-shell-extension-remove-bluetooth-icon.noarch : A gnome-shell extension for removing the bluetooth icon
   gnome-shell-extension-remove-volume-icon.noarch : A gnome-shell extension for removing the volume icon
   gnome-shell-extension-workspacesmenu.noarch : A gnome-shell extension for fast switching work spaces
   gnome-shell-extension-apps-menu.noarch : Application menu for GNOME Shell
   gnome-shell-extension-dock.noarch : Shows a dock-style task switcher permanently
   gnome-shell-extension-drive-menu.noarch : Disk device manager in the system status area
   gnome-shell-extension-places-menu.noarch : Places menu indicator in the system status area
   gnome-shell-extension-theme-selector.noarch : Gnome shell user theme selector
   gnome-shell-extension-user-theme.noarch : Lets the user select a custom theme for the shell
   gnome-shell-extension-windowsNavigator.noarch : Keyboard selection of windows and work-spaces in overlay mode
   gnome-shell-extension-auto-move-windows.noarch : Assign specific workspaces to applications
   gnome-shell-extension-common.noarch : Files common to GNOME Shell Extensions
   gnome-shell-extension-cpu-temperature.noarch : A gnome-shell extension to show the current temperature of CPU
   gnome-shell-extension-gpaste.noarch : GNOME Shell extension for GPaste
   gnome-shell-extension-icon-manager.noarch : A gnome-shell extension to manage icons in top bar
   gnome-shell-extension-mediaplayers.noarch : A gnome-shell extension to control mediaplayers
   gnome-shell-extension-pidgin.x86_64 : The components necessary to integrate Pidgin with GNOME Shell
   gnome-shell-extension-pomodoro.noarch : A gnome-shell extension for the pomodoro technique
   gnome-shell-extension-presentation-mode.noarch : A gnome-shell extension to control the screen saver
   gnome-shell-extension-systemMonitor.noarch : Monitor your system status
   gnome-shell-extension-xrandr-indicator.noarch : Monitor status indicator
   gnome-shell-extension-righthotcorner.noarch : A gnome-shell extension for an additional hot corner

Personally I would only change a couple of window management options, but to cover all bases we would need a way for users to easily select/enable the above extensions and options to make available and ideally integrate into the gnome-shell config settings proper.

Note also that we might change a couple of the defaults from upstream gnome shell too. For example there weren't complaints when nautilus switched back from spatial mode by default (I know that was an upstream change, but Fedora could have done the sensible thing anyway).

How To Test

This change will apply to all hardware now, given Features/Gnome_shell_software_rendering, and apply to the default desktop build. It will require users to interactively select all the new options and verify that they work correctly. Given the disparate set of options used by each person, and the direct user iteraction changes of the feature, it's hoped that testing of various combinations will happen "for free" as the system is being developed.

User Experience

Most users should have their pet gnome-shell peeve addressed by this feature. Ideally the options and extensions would be grouped into additional setting panel items

Dependencies

gnome-tweak-tool and external gnome-shell extensions

Contingency Plan

At least install gnome-tweak-tool by default and make it easily started with an "extra settings" config setting panel item

Documentation

I see minimal documentation required, as we can rely on the names and tips provided by each setting, and experimentation by the user. This approach is used by the existing gnome shell settings. Actually I notice that the existing gnome-shell settings are documented independently in help, but there is no link between the settings dialog and the help. That's a separate issue that could be fixed upstream. In light of that we might augment the help with any options/extensions we provide.

Release Notes

  • Better Gnome Shell integration, to cater for new and old users alike

Comments and Discussion