Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

NOTE: CentOS Enterprise Linux is built from the Red Hat Enterprise Linux source code. Other than logo and name changes CentOS Enterprise Linux is compatible with the equivalent Red Hat version. This document applies equally to both Red Hat and CentOS Enterprise Linux.

Chapter 2. Configuring the Panel

Tip Tip
 

For more information on configuring panels, refer to the GConf chapter of the GNOME Desktop Administration Guide available through Applications (the main menu on the panel) => Help, selecting the Desktop Category, and choosing the System Administration Guide Document.

Note Note
 

For information on locking down the panel, refer to Section 4.3 Locking Down the Panel.

2.1. Panel Configuration

The following material is meant to serve as a more technical reference for panel configuration.

2.1.1. Configuration Layout

The panel configuration contains a more complex set of GConf keys. This section gives an overview of how those keys are organized.

Most of the panel configuration is stored in /apps/panel/. The general/ directory contains the following keys:

toplevel_id_list

The list of panel identifiers. Each identifier is also the name of the sub-directory in the toplevels directory which contains the actual preferences for that panel.

object_id_list

The list of panel object identifiers. Each identifier is also the name of the sub-directory in the objects directory which contains the actual preferences for that panel object.

applet_id_list

The list of panel applet identifiers. Each identifier is also the name of the subdirectory in the applets directory, which contains the actual preferences for that panel applet.

Thus, the default contents of /apps/panel/ looks something like:

 /apps/panel/general:
   applet_id_list = [mixer,clock,systray,...]
   object_id_list = [menu_bar,web_launcher,...]
   toplevel_id_list = [top_panel,bottom_panel]
   ...

 /apps/panel/toplevels/bottom_panel:
   size = 24
   expand = true
   name = Bottom Panel
   orientation = bottom
   ...

 /apps/panel/objects/menu_bar:
   toplevel_id = top_panel
   object_type = menu-bar
   position = 0
   locked = true
   ...

 /apps/panel/objects/web_launcher:
   toplevel_id = top_panel
   object_type = launcher-object
   position = 1
   launcher_location = file:///usr/share/applications/redhat-web.desktop
   ...

 /apps/panel/applets/clock:
   toplevel_id = top_panel
   object_type = bonobo-applet
   position = 1
   panel_right_stick = true
   locked = true
   bonobo_iid = OAFIID:GNOME_ClockApplet
   ...

2.1.2. Default Configuration

The default panel configuration is specified in /etc/gconf/schemas/panel-default-setup.entries. When the panel is installed, the default configuration is loaded into the Defaults Source using the gconftool-2 "--load" argument:

        
# gconftool-2 \
  --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults \
  --direct --load /etc/gconf/schemas/panel-default-setup.entries

This command loads the default configuration into the /apps/panel/default_setup GConf directory.

2.1.3. Modifying the Default Configuration

Modifying the default panel configuration can be a difficult task. Unfortunately, it is also one of the more common tasks for administrators wishing to deploy a modified desktop environment configuration.

Tip Tip
 

Refer to the GNOME Desktop System Administration Guide for an alternative method for changing the default panel configuration to that described below.

The following provides a more complex example of how to modify the default panel configuration.

2.1.3.1. Example: Removing the Print Manager launcher and the Notification Area

Consider a relatively straightforward example and assume that we wish to remove the Print Manager launcher and the Notification Area from the default configuration.

  • Make a copy of /etc/gconf/schemas/panel-default-setup.entries:

    # cp /etc/gconf/schemas/panel-default-setup.entries \
         /etc/gconf/schemas/local-panel-default-setup.entries
    
  • Edit local-panel-default-setup.entries, removing the print_launcher entry from object_id_list and removing the print_launcher directory from the objects directory:

               <value>
                 <string>spreadsheet_launcher</string>
               </value>
               <value>
               <string>print_launcher</string>
              </value>
             </list>
            </list>
           </value>
         </entry>
      ...
      <!-- Print Launcher -->
    
        <entry>
          <key>objects/print_launcher/object_type</key>
          <schema_key>/schemas/apps/panel/objects/object_type</schema_key>
          <value>
            <string>launcher-object</string>
          </value>
        </entry>
      ...
        <entry>
          <key>objects/print_launcher/menu_path</key>
          <schema_key>/schemas/apps/panel/objects/menu_path</schema_key>
        </entry>
        <entry>
          <key>objects/print_launcher/action_type</key>
          <schema_key>/schemas/apps/panel/objects/action_type</schema_key>
        </entry>
    
      <!-- Workspace Switcher Applet -->
    
  • Next, remove the systray entry from applet_id_list and remove the systray directory from the applets directory:

                 <string>mixer</string>
              </value>
              <value>
                <string>systray</string>
              </value>
              <value>
                <string>clock</string>
              </value>
              <value>
      ...
      <!-- System Tray Applet -->
    
        <entry>
          <key>applets/systray/object_type</key>
          <schema_key>/schemas/apps/panel/objects/object_type</schema_key>
          <value>
            <string>bonobo-applet</string>
          </value>
        </entry>
      ...
        <entry>
          <key>applets/systray/menu_path</key>
           <schema_key>/schemas/apps/panel/objects/menu_path</schema_key>
        </entry>
        <entry>
          <key>applets/systray/launcher_location</key>
           <schema_key>/schemas/apps/panel/objects/launcher_location</schema_key>
        </entry>
        <entry>
          <key>applets/systray/action_type</key>
          <schema_key>/schemas/apps/panel/objects/action_type</schema_key>
        </entry>
    
      <!-- Clock Applet -->
    
  • Create the configuration source into which you will load your modified default setup:

    # mkdir --mode a=rwx,g=rx,o=rx \
      /etc/gconf/local.xml.defaults
    

    It is important that your configuration source be created using the correct --mode argument to ensure it is readable by all users. GConf will use the permissions from this toplevel directory when creating new files or directories in the configuration source.

  • Load the new default setup into /apps/panel/default_setup in the new configuration source:

                  
    # gconftool-2 --config-source=xml:readwrite:/etc/gconf/local.xml.defaults \
      --direct --load \
      /etc/gconf/schemas/local-panel-default-setup.entries
    
  • Add the new configuration source to /etc/gconf/2/path, which will cause the source to appear before the Defaults Source for all users:

    # echo "xml:readonly:/etc/gconf/local.xml.defaults" \
      >> /etc/gconf/2/path
    
    Note Note
     

    This change will only come into effect when the GConf daemon is re-started. Therefore, it is preferable to make the change with all users logged out.

 
 
  Published under the terms of the GNU General Public License Design by Interspire