<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY gnomeversion "2.14">
<!ENTITY manrevision "2.4">
<!ENTITY date "March 2004">
<!ENTITY LEGAL SYSTEM "legal.xml">
<!ENTITY gconf SYSTEM "gconf.xml">
<!ENTITY menustructure SYSTEM "menustructure.xml">
<!ENTITY themes SYSTEM "themes.xml">
<!ENTITY fontconfig SYSTEM "fontconfig.xml">
<!ENTITY mimetypes SYSTEM "mimetypes.xml">
<!ENTITY screensavers SYSTEM "screensavers.xml">
<!ENTITY sessions SYSTEM "sessions.xml">
<!ENTITY help SYSTEM "help.xml">
<!ENTITY performance SYSTEM "performance.xml">
<!ENTITY lockdown SYSTEM "lockdown.xml">
<!ENTITY appendixa SYSTEM "appendixa.xml">
<!ENTITY appendixb SYSTEM "appendixb.xml">
<!ENTITY gloss SYSTEM "glossary.xml">
]>
<book id="index" lang="pa"> 
  <title>GNOME Desktop System Administration Guide</title> 
  <bookinfo> 
    <abstract role="description">
    <para>The GNOME System Administration Guide provides information to administrators
    on how to configure and manage different aspects of the desktop environment for users.</para>
    </abstract>
	 <copyright> 
		<year>2006</year> 
		<holder>ਬਰੇਟ ਸਮਿੱਥ</holder> 
	 </copyright>
	 <copyright> 
		<year>2005</year> 
		<holder>ਬਰੇਟ ਸਮਿੱਥ</holder> 
	 </copyright>
	 <copyright> 
		<year>2004</year> 
		<holder>ਸਨ ਮਾਈਕਰੋਸਿਸਟਮ</holder> 
	 </copyright>
	 <copyright> 
		<year>2003</year> 
		<holder>ਸਨ ਮਾਈਕਰੋਸਿਸਟਮ</holder> 
	 </copyright>

<!-- translators: uncomment this:
  <copyright>
   <year>2002</year>
   <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
  </copyright>
-->
	 <publisher role="maintainer"> 
		<publishername>ਗਨੋਮ ਦਸਤਾਵੇਜ਼ ਪ੍ਰੋਜੈਕਟ</publishername> 
	 </publisher>   <legalnotice id="legalnotice">
	<para>ਇਹ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਗਨੂ ਮੁਕਤ ਦਸਤਾਵੇਜ਼ ਲਾਈਸੈਂਸ (GFDL), ਵਰਜਨ 1.1 ਜਾਂ ਨਵੇਂ, ਜੋ ਕਿ ਫਰੀ ਸਾਫਟਵੇਅਰ ਫਾਊਡੇਸ਼ਨ ਵਲੋਂ ਬਦਲਵੇਂ ਭਾਗ, ਨਾ ਮੁੱਢਲੇ-ਢੱਕਣ ਪਾਠ ਅਤੇ ਨਾ ਹੀ ਪਿੱਛੇ-ਢੱਕਣ ਪਾਠ ਨਾਲ ਜਾਰੀ ਹੈ, ਦੀਆਂ ਸ਼ਰਤਾਂ ਅਧੀਨ ਨਕਲ ਕਰਨ, ਵੰਡਣ ਅਤੇ/ਜਾਂ ਸੋਧਣ ਦਾ ਅਧਿਕਾਰ ਦਿੱਤਾ ਗਿਆ ਹੈ। ਤੁਸੀਂ GFDL ਦੀ ਨਕਲ <ulink type="help" url="ghelp:fdl"> ਸਬੰਧ</ulink> ਉੱਤੇ ਜਾਂ ਇਹ ਦਸਤਾਵੇਜ਼ 'ਚ COPYING-DOCS ਫਾਇਲ ਵਿੱਚੋਂ ਲੈ ਸਕਦੇ ਹੋ।</para>
         <para>ਇਹ ਦਸਤਾਵੇਜ਼ ਗਨੋਮ ਦਸਤਾਵੇਜ਼ ਭੰਡਾਰ ਦਾ ਭਾਗ ਹੈ, ਜੋ ਕਿ GFDL ਦੇ ਅਧੀਨ ਜਾਰੀ ਕੀਤਾ ਗਿਆ ਹੈ। ਜੇ ਤੁਸੀਂ ਇਹ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਭੰਡਾਰ ਤੋਂ ਬਿਨਾਂ ਵੰਡਣਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਤੁਸੀਂ ਇਹ ਲਾਈਸੈਂਸ ਦੇ ਭਾਗ 6 ਵਿੱਚ ਦੱਸੇ ਮੁਤਾਬਕ ਦਸਤਾਵੇਜ਼ ਨਾਲ ਲਾਈਸੈਂਸ ਦੀ ਇੱਕ ਨਕਲ ਜੋੜ ਕੇ ਕਰ ਸਕਦੇ ਹੋ।</para>

	<para>ਕੰਪਨੀਆਂ ਵਲੋਂ ਆਪਣੇ ਉਤਪਾਦਾਂ ਅਤੇ ਸੇਵਾਵਾਂ ਲਈ ਵਰਤੇ ਗਏ ਕਈ ਨਾਂ ਮਾਰਕੇ ਹਨ। ਜਦੋਂ ਵੀ ਉਹ ਨਾਂ ਕਿਸੇ ਗਨੋਮ ਦਸਤਾਵੇਜ਼ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਆਉਦੇ ਹਨ ਅਤੇ ਗਨੋਮ ਦਸਤਾਵੇਜ਼ ਪ੍ਰੋਜੈਕਟ ਦੇ ਮੈਂਬਰ ਹਨ ਤਾਂ ਉਨ੍ਹਾਂ ਮਾਰਕਿਆਂ ਬਾਰੇ ਜਾਣਕਾਰੀ ਦੇਣ ਲਈ, ਉਹਨਾਂ ਨੇ ਦੇ ਨਾਂ ਵੱਡੇ ਅੱਖਰਾਂ ਵਿੱਚ ਜਾਂ ਪਹਿਲੇਂ ਅੱਖਰ ਵੱਡੇ ਰੱਖੇ ਗਏ ਹਨ।</para>

	<para>DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: <orderedlist>
		<listitem>
		  <para>DOCUMENT IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND</para>
		</listitem>
		<listitem>
		  <para>UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES.</para>
		</listitem>
	  </orderedlist></para>
  </legalnotice>

 

	 <authorgroup> 
		<author>
                  <firstname>ਬਰੱਟ</firstname>
		  <surname>ਸਮਿੱਥ</surname> 
		  <affiliation> 
			 <orgname>ਗਨੋਮ ਦਸਤਾਵੇਜ਼ ਪ੍ਰੋਜੈਕਟ</orgname> 
		  </affiliation> 
		</author> 
		<author> 
		  <firstname>ਸੂਰਜ</firstname> 
		  <surname>GNOME ਦਸਤਾਵੇਜ਼ ਟੀਮ</surname> 
		  <affiliation> 
			 <orgname>ਸਨ ਮਾਈਕਰੋਸਿਸਟਮ</orgname> 
		  </affiliation> 
		</author> 
	 </authorgroup>

	 <revhistory>
		<revision> 
		  <revnumber>ਗਨੋਮ 2.14 ਡਿਸਕਟਾਪ ਸਿਸਟਮ ਪਰਸ਼ਾਸ਼ਨ ਗਾਈਡ V2.4</revnumber> 
		  <date>ਮਾਰਚ 2004</date> 
		  <revdescription> 
			 <para role="author">ਗਨੋਮ ਦਸਤਾਵੇਜ਼ ਪ੍ਰੋਜੈਕਟ</para> 
			 <para role="publisher">ਗਨੋਮ ਦਸਤਾਵੇਜ਼ ਪ੍ਰੋਜੈਕਟ</para> 
		  </revdescription> 
		</revision> 
		<revision> 
		  <revnumber>ਗਨੋਮ 2.6 ਡਿਸਕਟਾਪ ਸਿਸਟਮ ਪਰਸ਼ਾਸ਼ਨ ਗਾਈਡ V2.3</revnumber> 
		  <date>ਮਾਰਚ 2004</date> 
		  <revdescription> 
			 <para role="author">ਸਨ ਮਾਈਕਰੋਸਿਸਟਮ</para> 
			 <para role="publisher">ਗਨੋਮ ਦਸਤਾਵੇਜ਼ ਪ੍ਰੋਜੈਕਟ</para> 
		  </revdescription> 
		</revision> 
		<revision> 
		  <revnumber>ਗਨੋਮ 2.4 ਡਿਸਕਟਾਪ ਸਿਸਟਮ ਪਰਸ਼ਾਸ਼ਨ ਗਾਈਡ V2.2</revnumber> 
		  <date>ਸਤੰਬਰ 2003</date> 
		  <revdescription> 
			 <para role="author">ਸਨ ਮਾਈਕਰੋਸਿਸਟਮ</para> 
			 <para role="publisher">ਗਨੋਮ ਦਸਤਾਵੇਜ਼ ਪ੍ਰੋਜੈਕਟ</para> 
		  </revdescription> 
		</revision> 
		<revision> 
		  <revnumber>ਗਨੋਮ 2.2 ਡਿਸਕਟਾਪ ਸਿਸਟਮ ਪਰਸ਼ਾਸ਼ਨ ਗਾਈਡ V2.1</revnumber> 
		  <date>ਜਨਵਰੀ 2003</date> 
		  <revdescription> 
			 <para role="author">ਸਨ ਮਾਈਕਰੋਸਿਸਟਮ</para> 
			 <para role="publisher">ਗਨੋਮ ਦਸਤਾਵੇਜ਼ ਪ੍ਰੋਜੈਕਟ</para> 
		  </revdescription> 
		</revision> 
		<revision> 
		  <revnumber>ਗਨੋਮ 2.0 ਡਿਸਕਟਾਪ ਸਿਸਟਮ ਪਰਸ਼ਾਸ਼ਨ ਗਾਈਡ V2.0</revnumber> 
		  <date>ਦਸੰਬਰ 2002</date> 
		  <revdescription> 
			 <para role="author">ਸਨ ਮਾਈਕਰੋਸਿਸਟਮ</para> 
			 <para role="publisher">ਗਨੋਮ ਦਸਤਾਵੇਜ਼ ਪ੍ਰੋਜੈਕਟ</para> 
		  </revdescription> 
		</revision> 
	 </revhistory> 
	 <releaseinfo>ਇਸ ਦਸਤਾਵੇਜ਼ 'ਚ ਗਨੋਮ ਵੇਹੜਾ (ਡਿਸਕਟਾਪ) ਦੇ ਵਰਜਨ 2.14 ਬਾਰੇ ਜਾਣਕਾਰੀ ਹੈ।</releaseinfo> 
	 <legalnotice> 
		<title>ਸੁਝਾਅ</title> 
		<para> To report a bug or make a suggestion regarding the GNOME Desktop or this
		  manual, follow the directions in the <ulink type="help" url="ghelp:user-guide?feedback">GNOME Feedback Page</ulink>.</para>
	 </legalnotice> 
  </bookinfo>
<chapter id="gconf-0">
  <title>GConf ਵਰਤੋਂ</title>
  <highlights>
    <para>ਇਸ ਕਾਂਡ 'ਚ <application>GConf</application> ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਉਪਭੋਗੀ ਪਸੰਦ ਦੀ ਵਰਤੋਂ ਕਰਨ ਬਾਰੇ ਜਾਣਕਾਰੀ ਹੈ।</para>
  </highlights>
  <sect1 id="gconf-1">
    <title>GConf ਨਾਲ ਜਾਣ ਪਛਾਣ</title>
    <indexterm>
      <primary>GConf</primary>
      <secondary>ਜਾਣ ਪਛਾਣ</secondary>
    </indexterm>
    <para><application>GConf</application> simplifies the administration of preferences
for GNOME Desktop users. <application>GConf</application> enables system administrators
to do the following:</para>
    <itemizedlist>
      <listitem>
        <para>Set mandatory values for particular preferences for all users.
In this way, system administrators can control whether users can update particular
preferences.</para>
      </listitem>
      <listitem>
        <para>Set default values for particular preferences for all users. </para>
      </listitem>
      <listitem>
        <para>Use suggested values for preferences that are specified in
definition files for the preferences.</para>
      </listitem>
      <listitem>
        <para>ਹਰੇਕ ਹਵਾਲੇ ਬਾਰੇ ਦਸਤਾਵੇਜ਼ ਪੜ੍ਹੋ।</para>
      </listitem>
    </itemizedlist>
    <para><application>GConf</application> also notifies applications when a preference
value changes, locally or across a network. In this way, when you change a
preference, all applications that use the preference are immediately updated.</para>
    <para><application>Gconf</application> ਦੇ ਹੇਠ ਦਿੱਤੇ ਭਾਗ ਹਨ:</para>
    <itemizedlist>
      <listitem>
        <para>ਉਪਭੋਗੀ ਹਵਾਲੇ ਲਈ ਇੱਕ ਰਿਪੋਜ਼ਟਰੀ ਹੈ।</para>
      </listitem>
      <listitem>
        <para>ਇੱਕ ਡੈਮਨ, <command>gconfd-2</command></para>
      </listitem>
      <listitem>
        <para>ਇੱਕ ਕਮਾਂਡ ਲਾਇਨ ਸੰਦ, <command>gconftool-2</command>.</para>
      </listitem>
    </itemizedlist>
  </sect1>
  <sect1 id="gconf-24">
    <title>GConf ਰਿਪੋਜ਼ਟਰੀ</title>
    <indexterm>
      <primary>GConf</primary>
      <secondary>ਰਿਪੋਜ਼ਟਰੀ</secondary>
    </indexterm>
    <para>Each preference in the <application>GConf</application> repository is
expressed as a key-value pair. A <firstterm>GConf preference key</firstterm>
is an element in the repository that corresponds to an application preference.
For example, the <systemitem>/apps/gnome-session/options/show_splash_screen</systemitem>
preference key corresponds to the <guilabel>Show splash screen on login</guilabel>
option in the <application>Sessions</application> preference tool.  The GNOME
Desktop user interface does not contain all of the preference keys in the <application>GConf</application> repository. For example, the <application>Panel</application>
preference tool does not contain an option that corresponds to the <systemitem>/apps/panel/global/tooltips_enabled</systemitem> key.</para>
    <para>The repository is structured like a simple hierarchical file system.
The repository contains the following:</para>
    <itemizedlist>
      <listitem>
        <para>Directories that correspond to applications that use the <application>GConf</application> repository. For example, the file system contains the
directory <systemitem>/apps/metacity</systemitem>. </para>
      </listitem>
      <listitem>
        <para>Subdirectories that correspond to categories of preferences.
For example, the file system contains the directory <systemitem>/apps/metacity/general</systemitem>.</para>
      </listitem>
      <listitem>
        <para>Special files that list the preference keys in the directory,
and contain information about the keys. For example, a file that contains
information about the keys that relate to the HTTP proxy preferences is in
the directory <systemitem>/system/http_proxy</systemitem>. </para>
      </listitem>
      <listitem>
        <para>A <systemitem>/schemas</systemitem> directory that contains files
that describe all of the preference keys.</para>
      </listitem>
    </itemizedlist>
    <para>Preference keys typically have simple values such as strings, integers,
or lists of strings and integers. The format of the preference key in the
repository depends on the backend module that is used to read the repository.
The following is an example of the <systemitem>/desktop/gnome/interface/font_name</systemitem> preference key when an Extensible Markup Language (XML) backend
module is used to read the repository:</para>
    <programlisting><![CDATA[<entry name="font_name" mtime="1038323555" muser="user123" type="string">
<stringvalue>Sans 10</stringvalue></entry>]]></programlisting>
    <note>
      <para>When this guide refers to a preference key, the path to the key
is added to the name of the key. For example, the <systemitem>font_name</systemitem>
preference key in the <systemitem>/desktop/gnome/interface</systemitem> subdirectory
is referred to as <systemitem>/desktop/gnome/interface/font_name</systemitem>.</para>
    </note>
    <sect2 id="gconf-26">
      <title>GConf ਸੰਰਚਨਾ ਸਰੋਤ</title>
      <indexterm>
        <primary>GConf</primary>
        <secondary>ਸੰਰਚਨਾ ਸਰੋਤ</secondary>
      </indexterm>
      <para>The <application>GConf</application> repository contains
a series of storage locations that are called <firstterm>configuration sources</firstterm>. The configuration sources are listed in the <firstterm>GConf
path file</firstterm>. The location of the <application>GConf</application>
path file is <systemitem>/etc/gconf/<replaceable>gconf-version-number</replaceable>/path</systemitem>. Each user has a path file. The path file specifies the following
information for each configuration source:</para>
      <itemizedlist>
        <listitem>
          <para>The backend module to use to read the repository. </para>
        </listitem>
        <listitem>
          <para>ਰਿਪੋਜ਼ਟਰੀ ਉੱਤੇ ਅਧਿਕਾਰ ਹਨ।</para>
        </listitem>
        <listitem>
          <para>ਰਿਪੋਜ਼ਟਰੀ ਦਾ ਟਿਕਾਣਾ ਹੈ।</para>
        </listitem>
      </itemizedlist>
      <para>The <application>GConf</application> path file also contains <systemitem>include</systemitem> instructions. By default, the contents of the <application>GConf</application> path file are as follows: </para>
      <programlisting>xml:readonly:/etc/gconf/gconf.xml.mandatory
include /etc/gconf/2/local-mandatory.path
include "$(HOME)/.gconf.path"
include /etc/gconf/2/local-defaults.path
xml:readwrite:$(HOME)/.gconf
xml:readonly:/etc/gconf/gconf.xml.defaults</programlisting>
      <para>When <application>GConf</application> searches for a preference value, <application>GConf</application> reads the configuration sources in the order specified
in the path file. The following table describes the configuration sources
in the path file:</para>
      <informaltable frame="topbot">
        <tgroup cols="2" colsep="0" rowsep="0">
          <colspec colwidth="31.29*"/>
          <colspec colwidth="68.71*"/>
          <thead>
            <row rowsep="1">
              <entry>
                <para>ਸੰਰਚਨਾ ਸਰੋਤ</para>
              </entry>
              <entry>
                <para>ਵੇਰਵਾ</para>
              </entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry valign="top">
                <para>ਲਾਜ਼ਮੀ</para>
              </entry>
              <entry valign="top">
                <para>The permissions on this configuration source are set to read only. Users cannot
overwrite the values in this source, so the preferences in the source are
mandatory.</para>
              </entry>
            </row>
            <row>
              <entry valign="top">
                <para>ਉਪਭੋਗੀ</para>
              </entry>
              <entry valign="top">
                <para>This configuration source is stored in the <filename>.gconf</filename> directory
in the home directory of the user. When the user sets a preference, the new
preference information is added to this location. </para>
                <para>You can use
the <application>Configuration Editor</application> to modify the user configuration
source.</para>
              </entry>
            </row>
            <row>
              <entry valign="top">
                <para>ਮੂਲ</para>
              </entry>
              <entry valign="top">
                <para>This configuration source contains the default preference settings.</para>
              </entry>
            </row>
          </tbody>
        </tgroup>
      </informaltable>
      <para>The sequence of the configuration sources in the path file ensures that
mandatory preference settings override user preference settings. The sequence
also ensures that user preference settings override default preference settings.
That is, <application>GConf</application> applies preferences in the following
order of priority:</para>
      <orderedlist>
        <listitem>
          <para>ਲਾਜ਼ਮੀ ਪਸੰਦ</para>
        </listitem>
        <listitem>
          <para>ਉਪਭੋਗੀ-ਖਾਸ ਪਸੰਦ</para>
        </listitem>
        <listitem>
          <para>ਮੂਲ ਪਸੰਦ</para>
        </listitem>
      </orderedlist>
      <para>The <systemitem>include</systemitem> instructions in the <application>GConf</application> path file enable system administrators to specify other configuration
sources. </para>
      <informaltable frame="topbot">
        <tgroup cols="2" colsep="0" rowsep="0">
          <colspec colwidth="50*"/>
          <colspec colwidth="50*"/>
          <thead>
            <row rowsep="1">
              <entry>
                <para>ਸ਼ਾਮਿਲ ਸੰਰਚਨਾ ਸਰੋਤ</para>
              </entry>
              <entry>
                <para>ਵੇਰਵਾ</para>
              </entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry valign="top">
                <para>
                  <filename>/etc/gconf/2/local-mandatory.path</filename>
                </para>
              </entry>
              <entry valign="top">
                <para>Use this configuration
source to store mandatory preference values for a particular system.</para>
              </entry>
            </row>
            <row>
              <entry valign="top">
                <para>
                  <filename>$(HOME)/.gconf.path</filename>
                </para>
              </entry>
              <entry valign="top">
                <para>The user specifies the location of  the configuration
source in the home directory, in a file that is called <filename>.gconf.path</filename>.</para>
              </entry>
            </row>
            <row>
              <entry valign="top">
                <para>
                  <filename>/etc/gconf/2/local-defaults.path</filename>
                </para>
              </entry>
              <entry valign="top">
                <para>Use this configuration
source to store default preference values for a particular system.</para>
              </entry>
            </row>
          </tbody>
        </tgroup>
      </informaltable>
    </sect2>
    <sect2 id="gconf-27">
      <title>GConf ਸਕੀਮਾ</title>
      <indexterm>
        <primary>GConf</primary>
        <secondary>ਸਕੀਮਾ</secondary>
      </indexterm>
      <indexterm>
        <primary>GConf</primary>
        <secondary>ਸਕੀਮਾਂ ਕੁੰਜੀਆਂ</secondary>
      </indexterm>
      <indexterm>
        <primary>GConf</primary>
        <secondary>ਸਕੀਮਾਂ ਆਬਜੈਕਟ</secondary>
      </indexterm>
      <indexterm>
        <primary>ਸਕੀਮਾ</primary>
        <secondary>ਵੇਰਵਾ</secondary>
      </indexterm>
      <indexterm>
        <primary>ਸਕੀਮਾ</primary>
        <secondary>ਸਕੀਮਾਂ ਕੁੰਜੀਆਂ</secondary>
      </indexterm>
      <indexterm>
        <primary>ਸਕੀਮਾ</primary>
        <secondary>ਸਕੀਮਾਂ ਆਬਜੈਕਟ</secondary>
      </indexterm>
      <para>A <firstterm>GConf schema</firstterm> is a collective term
for a <firstterm>GConf schema key</firstterm> and a <firstterm>GConf schema
object</firstterm>. The following table describes schema keys and schema objects
and the relationship of these items to preference keys:</para>
      <informaltable frame="topbot">
        <tgroup cols="2" colsep="0" rowsep="0">
          <colspec colname="colspec0" colwidth="24.31*"/>
          <colspec colname="colspec1" colwidth="75.69*"/>
          <thead>
            <row rowsep="1">
              <entry>
                <para>ਇਕਾਈ</para>
              </entry>
              <entry>
                <para>ਵੇਰਵਾ</para>
              </entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="colspec0" valign="top">
                <para>ਪਸੰਦ ਕੁੰਜੀ</para>
              </entry>
              <entry colname="colspec1" valign="top">
                <para>An element in the <application>GConf</application> repository that corresponds to an application preference.</para>
              </entry>
            </row>
            <row>
              <entry valign="top">
                <para>ਸਕੀਮਾਂ ਕੁੰਜੀ</para>
              </entry>
              <entry valign="top">
                <para>A key that stores a schema object for a preference key. </para>
              </entry>
            </row>
            <row>
              <entry valign="top">
                <para>ਸਕੀਮਾ ਆਬਜੈਕਟ</para>
              </entry>
              <entry valign="top">
                <para>An element in a configuration source that contains information for a preference
key, such as the following:</para>
                <itemizedlist>
                  <listitem>
                    <para>The name of the application that uses the preference key.</para>
                  </listitem>
                  <listitem>
                    <para>The type of value required for the preference key, for example
integer, boolean, and so on.</para>
                  </listitem>
                  <listitem>
                    <para>ਪਸੰਦ ਕੁੰਜੀ ਲਈ ਮੂਲ ਮੁੱਲ ਹੈ।</para>
                  </listitem>
                  <listitem>
                    <para>Brief documentation on the preference key.</para>
                  </listitem>
                </itemizedlist>
              </entry>
            </row>
          </tbody>
        </tgroup>
      </informaltable>
      <para>The following table gives examples of a preference key, a schema key,
and a schema object:</para>
      <informaltable frame="topbot">
        <tgroup cols="2" colsep="0" rowsep="0">
          <colspec colname="colspec0" colwidth="24.31*"/>
          <colspec colname="colspec1" colwidth="75.69*"/>
          <thead>
            <row rowsep="1">
              <entry>
                <para>ਇਕਾਈ</para>
              </entry>
              <entry>
                <para>ਉਦਾਹਰਨ</para>
              </entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry colname="colspec0" valign="top">
                <para>ਪਸੰਦ ਕੁੰਜੀ</para>
              </entry>
              <entry colname="colspec1" valign="top">
                <para>
                  <systemitem>/desktop/gnome/interface/font_name</systemitem>
                </para>
              </entry>
            </row>
            <row>
              <entry colname="colspec0" valign="top">
                <para>ਸਕੀਮਾਂ ਕੁੰਜੀ</para>
              </entry>
              <entry colname="colspec1" valign="top">
                <para>
                  <systemitem>/schemas/desktop/gnome/interface/font_name</systemitem>
                </para>
              </entry>
            </row>
            <row>
              <entry valign="top">
                <para>ਸਕੀਮਾ ਆਬਜੈਕਟ</para>
              </entry>
              <entry valign="top">
                <programlisting><![CDATA[<schema>
  <applyto>/desktop/gnome/interface/font_name</applyto>
  <key>/schemas/desktop/gnome/interface/font_name</key>
  <owner>gnome</owner>
  <type>string</type>
  <default>Sans 10</default>
  <locale name="C">
    <short>Default font</short>
      <long>Name of the default font used by gtk+.</long>
  </locale>
</schema>]]></programlisting>
              </entry>
            </row>
          </tbody>
        </tgroup>
      </informaltable>
      <para>You can associate a schema key with a preference key. For example, the
following <systemitem>/desktop/gnome/interface/font_name</systemitem> key includes
a schema key:</para>
      <programlisting><![CDATA[<entry name="font_name" mtime="1034873859"
schema="/schemas/desktop/gnome/interface/font_name"/>]]></programlisting>
      <para>When you associate a schema key with a preference key, the preference
uses the suggested value that is specified in the schema object of the schema
key. The suggested value is contained in the <sgmltag>&lt;default&gt;</sgmltag>
element in the schema object. By default, all the preference keys in the default
configuration source are associated with schema keys.</para>
      <para>Typically, schemas are stored in the default configuration source. </para>
    </sect2>
    <sect2 id="gconf-2">
      <title>GConf Schema Definition Files</title>
      <indexterm>
        <primary>GConf</primary>
        <secondary>schema definition files</secondary>
        <tertiary>ਜਾਣ ਪਛਾਣ</tertiary>
      </indexterm>
      <indexterm>
        <primary>ਸਕੀਮਾ</primary>
        <secondary>schema definition files</secondary>
        <tertiary>ਜਾਣ ਪਛਾਣ</tertiary>
      </indexterm>
      <para>Schemas are generated from <firstterm>schema definition
files</firstterm>. A schema definition file defines the characteristics of
all of the keys in a particular application. Schema definition files have
a <filename>.schemas</filename> extension.</para>
      <para>The schema definition files are included in the <filename>/etc/gconf/schemas</filename> directory. You can use the schema definition files to create a
new configuration source.</para>
      <para>Some schema definition files correspond closely to a part of the GNOME
Desktop user interface. For example, <filename>system_http_proxy.schemas</filename>
corresponds to the <application>Network Proxy</application> preference tool. Other schema definition files contain
preference keys that are not present in the GNOME Desktop user interface.
For example, the <systemitem>/apps/panel/global/tooltips_enabled</systemitem> key
is not present in the user interface. </para>
      <para>Some parts of the GNOME Desktop user interface contain preferences that
represent preference keys from more than one schema definition file. For example,
the <application>Keyboard Shortcuts</application> preference tool contains preferences that represent
keys from the <filename>panel-global-config.schemas</filename> and <filename>metacity.schemas</filename> files.</para>
    </sect2>
  </sect1>
  <sect1 id="gconf-25">
    <title>GConf ਡੈਮਨ</title>
    <indexterm>
      <primary>gconfd</primary>
      <see>GConf ਡੈਮਨ</see>
    </indexterm>
    <indexterm>
      <primary>GConf</primary>
      <secondary>ਡੈਮਨ</secondary>
    </indexterm>
    <para>The <application>GConf</application> daemon is called <command>gconfd-2</command>. The <application>GConf</application> daemon notifies applications when a preference value changes.
For example, you might select to show only icons in toolbars in the <application>Menus &amp; Toolbars</application> preference tool. When you select this option
in the preference tool, the toolbars on all open applications are updated
instantly. The <application>GConf</application> daemon can operate locally,
or across a network.</para>
    <para>An instance of the <application>GConf</application> daemon is started
for each user. The <application>GConf</application> daemon does not have to
deal with complex problems such as authentication and data security. When
the <application>GConf</application> daemon starts, the daemon loads the <application>GConf</application> path file. The <application>GConf</application> daemon
manages all access between applications and the configuration sources.</para>
    <para>When an application requests the value of a preference key, the daemon
searches the configuration sources as follows:</para>
    <orderedlist>
      <listitem>
        <para>Search for the value of the preference key in each configuration
source, in the order specified in the path file. If the value is found, return
the value.</para>
      </listitem>
      <listitem>
        <para>If a value is not found, search for the schema key that corresponds
to the preference key in each configuration source, in the order specified
in the path file.</para>
      </listitem>
      <listitem>
        <para>If the schema key is found, check the value of the schema
key.</para>
      </listitem>
      <listitem>
        <para>If the value of the schema key is a schema object, return
the suggested value in the <sgmltag>&lt;default&gt;</sgmltag> element of the
schema object.</para>
      </listitem>
    </orderedlist>
    <para>The <application>GConf</application> daemon also caches preference key
values. All applications use this cache, so applications only need to access
the configuration sources once.</para>
    <para>To terminate the <application>GConf</application> daemon, run the following
command:</para>
    <screen><userinput>gconftool-2 --shutdown</userinput></screen>
  </sect1>
  <sect1 id="gconf-6">
    <title>GConf ਕਮਾਂਡ ਲਾਇਨ ਸੰਦ</title>
    <anchor id="gconf-TBL-7"/>
    <indexterm>
      <primary>gconftool-2</primary>
      <see>GConf ਕਮਾਂਡ ਲਾਇਨ ਸੰਦ</see>
    </indexterm>
    <indexterm>
      <primary>GConf</primary>
      <secondary>ਕਮਾਂਡ ਲਾਇਨ ਸੰਦ</secondary>
    </indexterm>
    <para><application>GConf</application> includes a
command line tool, <command>gconftool-2</command>. You can use the <command>gconftool-2</command> command to perform the following tasks: </para>
    <itemizedlist>
      <listitem>
        <para>ਕੁੰਜੀਆਂ ਦਾ ਮੁੱਲ ਸੈੱਟ ਕਰਦਾ ਹੈ।</para>
      </listitem>
      <listitem>
        <para>ਕੁੰਜੀਆਂ ਦਾ ਮੁੱਲ ਵੇਖਾਉਦਾ ਹੈ।</para>
      </listitem>
      <listitem>
        <para>Install schemas from schema definition files when you install
an application.</para>
      </listitem>
    </itemizedlist>
    <para>For example, use the following command to display the values of all
keys in the <systemitem>/desktop/gnome</systemitem> directory and subdirectories.</para>
    <screen><userinput>gconftool-2 --recursive-list /desktop/gnome</userinput></screen>
    <para>Below are listed some of the options that you can
use with the <command>gconftool-2</command> command.  For detailed command line options, 
please see <ulink url="man:gconftool-2(1)">man:gconftool-2(1)</ulink>.</para>
    <variablelist>
      <title>gconftool-2 ਕਮਾਂਡ ਸੰਦ</title>
      <varlistentry>
        <term>
            <option>--all-dirs</option>
        </term>
        <listitem>
          <para>Lists all subdirectories in a
    directory that you specify.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--all-entries</option>
        </term>
        <listitem>
          <para>Displays the values of all keys
    in a directory that you specify.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--config-source=<replaceable>configuration-source</replaceable></option>
        </term>
        <listitem>
          <para>Use this option with the <option>--direct</option> option
    to specify a configuration source to use. If you do not specify a configuration
    source with this option, the command runs on all configuration sources in
    the path file.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--direct</option>
        </term>
        <listitem>
          <para>Use this option with the <option>--config-source</option> option to access a configuration source directly.
    When you use this option, <application>GConf</application> bypasses the server.
    Ensure that the <application>GConf</application> daemon, <command>gconfd-2</command>, is not running before you use this option.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--dump</option>
        </term>
        <listitem>
          <para>Generates a list that contains all preference
    keys in a <application>GConf</application> repository directory that you specify.
    The list contains XML descriptions of all the keys. The list is contained
    in a <sgmltag>&lt;gconfentryfile&gt;</sgmltag> element. </para>
          <para>For example,
    you can redirect the output from this option to generate a file that lists
    all keys that are related to your panel configuration. You can use the <option>--load</option> option with this file.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--get</option>
        </term>
        <listitem>
          <para>Displays the value of a preference key that you specify.
    Also displays the values of the elements in the schema object for a schema
    key that you specify.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--help</option>
        </term>
        <listitem>
          <para>Displays a help message about the <command>gconftool-2</command> command, and the options that you can use with the <command>gconftool-2</command> command.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--load=<replaceable>ਫਾਇਲ ਨਾਂ</replaceable></option>
        </term>
        <listitem>
          <para>Use this option to sets the values of preference keys in the current directory
    in a configuration source to the values in the file that you specify. The
    file that you specify must contain XML descriptions of the keys, in a <literal>&lt;gconfentryfile&gt;</literal> element.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--long-desc=<replaceable>ਵੇਰਵਾ</replaceable></option>
        </term>
        <listitem>
          <para>Use this option with the <option>--set-schema</option>
    option to specify a long description for a schema key. </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--makefile-install-rule</option>
        </term>
        <listitem>
          <para>Installs schema definition files to applications.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--owner=<replaceable>owner</replaceable></option>
        </term>
        <listitem>
          <para>Use this option with the <option>--set-schema</option> option to specify
    an owner for a schema key. </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--recursive-list</option>
        </term>
        <listitem>
          <para>Displays the values of all preference keys in all
    subdirectories in a directory that you specify.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--recursive-unset</option>
        </term>
        <listitem>
          <para>Resets
    the values of all preference keys, in all subdirectories in a directory, from
    the user setting to the setting in the default configuration source.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--set</option>
        </term>
        <listitem>
          <para>Sets the value of a preference key, and writes the value
    to the user configuration source. Use the <option>--type</option> option
    with the <option>--set</option> option to specify the data type of the value
    that you want to set. For example, the following command sets the value of
    the <systemitem>/apps/gnome-terminal/profiles/Default/background_color</systemitem>
    key in the user configuration source:</para>
          <screen><userinput>gconftool-2 \
  --set "/apps/gnome-terminal/profiles/Default/background_color" \
  --type string "#000000"</userinput></screen>
          <para>You can also use the <option>--direct</option> option and the <option>--config-source</option> option
    with the <option>--set</option> option to write a value to another configuration
    source.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--set-schema</option>
        </term>
        <listitem>
          <para>Sets the value of an attribute
    in a schema key, and writes the value to the default configuration source.</para>
          <para>Use the following options with the <option>--set-schema</option>
    option to specify the attribute that you want to update:</para>
          <itemizedlist>
            <listitem>
              <para>
                <option>--type</option>
              </para>
            </listitem>
            <listitem>
              <para>
                <option>--short-desc</option>
              </para>
            </listitem>
            <listitem>
              <para>
                <option>--long-desc</option>
              </para>
            </listitem>
            <listitem>
              <para>
                <option>--owner</option>
              </para>
            </listitem>
          </itemizedlist>
          <para>For example, the following command sets the short description
    in the schema key for the <systemitem>/apps/gnome-terminal/profiles/Default/background_color</systemitem> key:</para>
          <screen><userinput>gconftool-2 \
  --set-schema  "/schemas/apps/gnome-terminal/profiles/Default/background_color" \
  --short-desc "Default  background color of terminal"</userinput></screen>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--short-desc=<replaceable>ਵੇਰਵਾ</replaceable></option>
        </term>
        <listitem>
          <para>Use this option with the <option>--set-schema</option>
    option to specify a short description for a schema key. </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--shutdown</option>
        </term>
        <listitem>
          <para>Terminates the <application>GConf</application> daemon.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--type=<replaceable>data-type</replaceable></option>
        </term>
        <listitem>
          <para>Use this option to specify the data type when you set a
    value of a preference key. You can also use this option when you set the value
    of an attribute in a schema key. The following is a list of valid data types:</para>
          <itemizedlist>
            <listitem>
              <para>
                <type>bool</type>
              </para>
            </listitem>
            <listitem>
              <para>
                <type>float</type>
              </para>
            </listitem>
            <listitem>
              <para>
                <type>int</type>
              </para>
            </listitem>
            <listitem>
              <para>
                <type>list</type>
              </para>
            </listitem>
            <listitem>
              <para>
                <type>pair</type>
              </para>
            </listitem>
            <listitem>
              <para>
                <type>string</type>
              </para>
            </listitem>
          </itemizedlist>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--unset</option>
        </term>
        <listitem>
          <para>Resets the value of a preference
    key from the user setting to the setting in the default configuration source.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
            <option>--usage</option>
        </term>
        <listitem>
          <para>Displays a brief help message
    about the <command>gconftool-2</command> command, and the options that you
    can use with the <command>gconftool-2</command> command.</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </sect1>
  <sect1 id="gconf-7">
    <title>ਪਸੰਦ ਮੁੱਲ ਸੈੱਟ ਕਰਨ ਲਈ</title>
    <indexterm>
      <primary>GConf</primary>
      <secondary>preference values, setting</secondary>
    </indexterm>
    <indexterm>
      <primary>preference values</primary>
      <secondary>setting
with GConf</secondary>
    </indexterm>
    <para>You can set a mandatory value or a
default value for a preference key. Before you change mandatory preference
values or default preference values for users, you must ensure that the <application>GConf</application> daemon is not running for any user. Ensure that all users
are logged out before you change preference values for users.</para>
    <para>To set a mandatory value or a default value for a preference key, use
the <command>gconftool-2</command> command, as follows:</para>
    <screen><userinput>gconftool-2 --direct \
  --config-source <replaceable>configuration-source</replaceable> \
  --type <replaceable>data-type</replaceable> \
  --set <replaceable>preference-key</replaceable> <replaceable>value</replaceable></userinput></screen>
    <para>For example, to set <literal>wwwproxy.xyz.com</literal> as the mandatory
HTTP proxy host, run the following command:</para>
    <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
  --type string \
  --set /system/http_proxy/host wwwproxy.xyz.com</userinput></screen>
    <para>The user cannot override this preference value.</para>
    <para>You can also use the <command>gconftool-2</command> command to set default
values. For example, to set the default number of workspaces to five, run
the following command:</para>
    <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
  --type int \
  --set /apps/metacity/general/num_workspaces 5</userinput></screen>
    <para>The user can override this preference value.</para>
    <caution>
      <para>Before you change mandatory preference values or default preference
values for users, you must ensure that all users are logged out.</para>
    </caution>
  </sect1>
  <sect1 id="gconf-8">
    <title>ਸਧਾਰਨ ਪਸੰਦ ਸੈਟ ਕਰਨੀ</title>
    <para>The following sections describe how to assign mandatory or default values
to general preferences.</para>
    <sect2 id="gconf-10">
      <title>To Set HTTP Proxy Preferences</title>
      <indexterm>
        <primary>GConf</primary>
        <secondary>HTTP ਪਰਾਕਸੀ, ਸੈਟਿੰਗ</secondary>
      </indexterm>
      <indexterm>
        <primary>HTTP ਪਰਾਕਸੀ</primary>
        <secondary>setting with
GConf</secondary>
      </indexterm>
      <para>To set HTTP proxy preferences, you modify
the values of the preference keys in the <systemitem>/system/http_proxy/</systemitem>
location. For example, to set a mandatory value for the HTTP proxy host, run
the following command:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
  --type string \
  --set /system/http_proxy/host <replaceable>proxy-name</replaceable></userinput></screen>
      <para>To set a default value for the HTTP proxy host, run the following command: </para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
  --type string \
  --set /system/http_proxy/host <replaceable>proxy-name</replaceable></userinput></screen>
      <para>You can also set other HTTP proxy-related preferences. For information
on the other HTTP proxy preferences, see the <filename>system_http_proxy.schemas</filename> schema definition file.</para>
    </sect2>
    <sect2 id="gconf-11">
      <title>ਪ੍ਰਿੰਟ ਮੈਨੇਜਰ ਪਸੰਦ ਸੈੱਟ ਕਰਨਾ</title>
      <para>To set print manager preferences, you modify the values of the preference
keys in the <systemitem>/apps/gnome-print-manager</systemitem> location. For example,
if you do not want users to view the print jobs of other users, set a mandatory
value as follows: </para>
      <indexterm>
        <primary>GConf</primary>
        <secondary>ਪ੍ਰਿੰਟ ਮੈਨੇਜਰ, ਸੈਟਿੰਗ</secondary>
      </indexterm>
      <indexterm>
        <primary>ਪ੍ਰਿੰਟ ਮੈਨੇਜਰ</primary>
        <secondary>setting
with GConf</secondary>
      </indexterm>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
  --type bool \
  --set /apps/gnome-print-manager/show_all_jobs false</userinput></screen>
      <para>To set a default value for this preference, run the following command:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
  --type bool \
  --set /apps/gnome-print-manager/show_all_jobs false</userinput></screen>
      <para>You can also set other print manager preferences. For information on
the other print manager preferences, see the <filename>gnome-print-manager.schemas</filename> schema definition file.</para>
<!--gnome-print-manager isn't in Mercury. Is there a replacement?-->
    </sect2>
    <sect2 id="gconf-12">
      <title>ਵਰਕਸਪੇਸ ਦੀ ਗਿਣਤੀ ਸੈੱਟ ਕਰਨ ਲਈ</title>
      <indexterm>
        <primary>GConf</primary>
        <secondary>number of workspaces, setting</secondary>
      </indexterm>
      <indexterm>
        <primary>ਵਰਕਸਪੇਸ</primary>
        <secondary>setting number with GConf</secondary>
      </indexterm>
      <para>To set a mandatory
number of workspaces, use the following command:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
  --type int \
  --set /apps/metacity/general/num_workspaces <replaceable>integer</replaceable></userinput></screen>
      <para>To set a default number of workspaces, use the following command:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
  --type int \
  --set /apps/metacity/general/num_workspaces <replaceable>integer</replaceable></userinput></screen>
      <para>You can also set other window manager preferences. For information on
the other window manager preferences, see the <filename>metacity.schemas</filename>
schema definition file.</para>
    </sect2>
    <sect2 id="gconf-16">
      <title>To Set Keyboard Accessibility Preferences</title>
      <indexterm>
        <primary>GConf</primary>
        <secondary>keyboard accessibility, setting</secondary>
      </indexterm>
      <indexterm>
        <primary>ਕੀ-ਬੋਰਡ</primary>
        <secondary>setting accessibility preferences with GConf</secondary>
      </indexterm>
      <para>To set keyboard accessibility preferences, you modify the values of the preference
keys in the <systemitem>/desktop/gnome/accessibility/keyboard</systemitem> location.
For example, if you want to set a mandatory value so that keyboard accessibility
features are enabled, run the following command:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
  --type bool \
  --set /desktop/gnome/accessibility/keyboard/enable true</userinput></screen>
      <para>To set a default value for this preference, run the following command:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
  --type bool \
  --set /desktop/gnome/accessibility/keyboard/enable false</userinput></screen>
      <para>You can also set other keyboard accessibility preferences. For information
on the other keyboard accessibility preferences, see the <filename>desktop_gnome_accessibility_keyboard.schemas</filename> schema definition file.</para>
    </sect2>
    <sect2 id="gconf-18">
      <title>ਕੀ-ਬੋਰਡ ਸ਼ਾਰਟਕੱਟ ਪਸੰਦ ਸੈੱਟ ਕਰਨਾ</title>
      <indexterm>
        <primary>GConf</primary>
        <secondary>ਕੀ-ਬੋਰਡ ਸ਼ਾਰਟਕਟ, ਸੈਟਿੰਗ</secondary>
      </indexterm>
      <indexterm>
        <primary>ਕੀ-ਬੋਰਡ</primary>
        <secondary>setting shortcut preferences with GConf</secondary>
      </indexterm>
      <para>To set
keyboard shortcut preferences, you modify the values of preference keys in <systemitem>/apps/metacity/global_keybindings</systemitem> location. For example, you might
want users to use only the <keycombo><keycap>Alt</keycap><keycap>F3</keycap></keycombo> keyboard
shortcut to open the <guilabel>Run Application</guilabel> dialog. To set this
mandatory value, run the following command:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
  --type string \
  --set /apps/metacity/global_keybindings/panel_run_dialog '&lt;Alt&gt;F3'</userinput></screen>
      <para>You can also set other keyboard shortcut preferences. For information
on the other keyboard shortcut preferences, see the <filename>metacity.schemas</filename> schema definition file.</para>
    </sect2>
    <sect2 id="gconf-14">
      <title>ਪੈਨਲ ਅਤੇ ਪੈਨਲ ਇਕਾਈ ਪਸੰਦ ਸੈਟਿੰਗ</title>
      <indexterm>
        <primary>GConf</primary>
        <secondary>ਪੈਨਲ ਇਕਾਈ ਪਸੰਦ, ਸੈਟਿੰਗ</secondary>
      </indexterm>
      <indexterm>
        <primary>GConf</primary>
        <secondary>ਪੈਨਲ ਪਸੰਦ, ਵੱਖਰੀ ਸੈਟਿੰਗ</secondary>
      </indexterm>
      <indexterm>
        <primary>ਪੈਨਲ</primary>
        <secondary>preferences, individual, setting with GConf</secondary>
      </indexterm>
      <para>The <filename>panel-default-setup.entries</filename> file
specifies the following details of the panels in the GNOME Desktop:</para>
      <itemizedlist>
        <listitem>
          <para>ਪੈਨਲਾਂ ਦੀ ਗਿਣਤੀ ਹੈ।</para>
        </listitem>
        <listitem>
          <para>ਪੈਨਲਾਂ ਦੀ ਕਿਸਮ ਹੈ।</para>
        </listitem>
        <listitem>
          <para>ਪੈਨਲਾਂ ਦੀ ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ।</para>
        </listitem>
        <listitem>
          <para>ਪੈਨਲਾਂ ਦੇ ਭਾਗ ਹਨ।</para>
        </listitem>
      </itemizedlist>
      <para>The configuration of individual panels and of panel objects is a complex
task. To configure individual panels and panel objects, you must first understand
the structure of the <filename>panel-default-setup.entries</filename> file.
For more information on the <filename>panel-default-setup.entries</filename>
file, see the next section.</para>
      <para>To set preferences for individual panels and panel objects, you must
set the values of many preferences in a configuration source. The easiest
way to set the values of panel preferences is to use the <command>gconftool-2</command> command with the <option>--dump</option> and <option>--load</option> options. For more information on how to set preferences for panels
and objects on panels, see <xref linkend="gconf-3"/>.</para>
      <sect3 id="gconf-23">
        <title>Specifying Individual Panels and Panel Objects</title>
        <indexterm>
          <primary>GConf</primary>
          <secondary>schema definition files</secondary>
          <tertiary>ਪੈਨਲ ਅਤੇ ਪੈਨਲ ਇਕਾਈਆਂ</tertiary>
        </indexterm>
        <indexterm>
          <primary>ਸਕੀਮਾ</primary>
          <secondary>schema definition files</secondary>
          <tertiary>ਪੈਨਲ ਅਤੇ ਪੈਨਲ ਇਕਾਈਆਂ</tertiary>
        </indexterm>
        <para>The file <filename>panel-default-setup.entries</filename> contains sections that specify panels and panel contents. The <filename>panel-default-setup.entries</filename> file specifies values for schema keys.
The <filename>panel-default-setup.entries</filename> file resides in the <filename>/etc/gconf/schemas</filename> directory. </para>
        <para>The <filename>panel-default-setup.entries</filename> file is structured
as follows:</para>
        <orderedlist>
          <listitem>
            <para>Keys that specify the general structure of panels, applets,
and other panel objects in the GNOME Desktop. The following keys specify the
number of panels, panel objects, and applets that appear in the GNOME Desktop:</para>
            <itemizedlist>
              <listitem>
                <para>
                  <systemitem>/apps/panel/default_setup/general/toplevel_id_list</systemitem>
                </para>
              </listitem>
              <listitem>
                <para>
                  <systemitem>/apps/panel/default_setup/general/object_id_list</systemitem>
                </para>
              </listitem>
              <listitem>
                <para>
                  <systemitem>/apps/panel/default_setup/general/applet_id_list</systemitem>
                </para>
              </listitem>
            </itemizedlist>
            <para>The keys also assign identifiers to each panel, panel object, and applet.
For example, the following sample from <filename>panel-default-setup.entries</filename> specifies that one panel appears in the GNOME Desktop:</para>
            <programlisting><![CDATA[<entry>
  <key>toplevel_id_list</key>
  <schema_key>/schemas/apps/panel/general/toplevel_id_list</schema_key>
  <value>
    <list type="string">
      <value>
        <string>bottom_panel</string>
      </value>
    </list>
  </value>
</entry>]]></programlisting>
            <para>In the <filename>panel-default-setup.entries</filename> file, the identifier <systemitem>bottom_panel</systemitem> identifies the bottom edge panel.</para>
          </listitem>
          <listitem>
            <para>Keys that specify the properties of the panels. The panel
property keys are structured as follows:</para>
            <programlisting>/apps/panel/default_setup/toplevels/<replaceable>panel-name</replaceable>/<replaceable>panel-property-key</replaceable></programlisting>
            <para>For example, the key <systemitem>/apps/panel/default_setup/toplevels/bottom_panel/size</systemitem> specifies the size of the bottom panel. </para>
          </listitem>
          <listitem>
            <para>Keys that specify the panel objects, the panel object properties,
and the panels in which the objects reside. For example, the following sample
from <filename>panel-default-setup.entries</filename> specifies a <guimenu>Main Menu</guimenu> object at the left side of the bottom panel:</para>
            <programlisting><![CDATA[<entrylist base="/apps/panel/default_setup/objects/main_menu">
  <entry>
    <key>object_type</key>
    <schema_key>/schemas/apps/panel/objects/object_type</schema_key>
    <value>
      <string>menu-object</string>
    </value>
  </entry>
  <entry>
    <key>toplevel_id</key>
    <schema_key>/schemas/apps/panel/objects/toplevel_id</schema_key>
    <value>
      <string>bottom_panel</string>
    </value>
  </entry>
  <entry>
    <key>position</key>
    <schema_key>/schemas/apps/panel/objects/position</schema_key>
    <value>
      <int>0</int>
    </value>
  </entry>
  <!-- Possibly more entry elements -->
</entrylist>]]></programlisting>
          </listitem>
          <listitem>
            <para>Keys that specify the applets, the applet preferences, and
the panels in which the applets reside. For example, the following sample
from <filename>panel-default-setup.entries</filename> specifies the <application>Window List</application> applet, in the bottom panel:</para>
            <programlisting><![CDATA[<entrylist base="/apps/panel/default_setup/applets/window_list">
  <entry>
    <key>object_type</key>
    <schema_key>/schemas/apps/panel/objects/object_type</schema_key>
    <value>
      <string>bonobo-applet</string>
    </value>
  </entry>
  <entry>
    <key>toplevel_id</key>
    <schema_key>/schemas/apps/panel/objects/toplevel_id</schema_key>
    <value>
      <string>bottom_panel</string>
    </value>
  </entry>
  <entry>
    <key>position</key>
    <schema_key>/schemas/apps/panel/objects/position</schema_key>
    <value>
      <int>2</int>
    </value>
  </entry>
  <!-- Possibly more entry elements -->
  <entry>
    <key>bonobo_iid</key>
    <schema_key>/schemas/apps/panel/objects/bonobo_iid_type</schema_key>
    <value>
      <string>OAFIID:GNOME_WindowListApplet</string>
    </value>
  </entry>
</entrylist>]]></programlisting>
            <para>The OAFIID is a unique identifier for an applet. To find the OAFIID
for a particular applet, see the <filename>.server</filename> file for the
applet in the <filename>/usr/lib/bonobo/servers</filename> directory. For
example, the following excerpt from <filename>GNOME_Wncklet_Factory.server</filename> shows the OAFIID for the <application>Window List</application>
applet:</para>
            <programlisting><![CDATA[<oaf_server iid="OAFIID:GNOME_WindowListApplet" 
type="factory" location="OAFIID:GNOME_Wncklet_Factory">]]></programlisting>
          </listitem>
        </orderedlist>
      </sect3>
      <sect3 id="gconf-3">
        <title>To Set Preferences for Individual Panels and Panel Objects</title>
        <para>To set the preferences for a panel and the objects on a panel perform
the following steps:</para>
        <orderedlist>
          <listitem>
            <para>Log in to a GNOME session, and configure the panels as required.</para>
          </listitem>
          <listitem>
            <para>Use the <option>--dump</option> option with the <command>gconftool-2</command> command line tool to generate a file that contains an
XML description of your panel configuration. The <option>--dump</option>
option generates a list that contains all preference keys in a <application>GConf</application> repository directory that you specify. </para>
            <para>For example, the following command creates an XML description of the
default panel configuration in a file called <filename>my-panel-setup.entries</filename>:</para>
            <screen><userinput>gconftool-2 --dump /apps/panel &gt; my-panel-setup.entries</userinput></screen>
          </listitem>
          <listitem>
            <para>Open the <filename>my-panel-setup.entries</filename> file
in a text editor, and modify the file as required.</para>
            <para>For example, you might want to change the location of the desktop entry
files. The following is an excerpt from a file generated with the <option>--dump</option> option:</para>
            <programlisting><![CDATA[<entry>
  <key>objects/object_16/launcher_location</key>
  <schema_key>/schemas/apps/panel/objects/launcher_location</schema_key>
  <value>
    <string>hadjaha-00adce02f7.desktop</string>
  </value>
</entry>]]></programlisting>
            <para>In the sample above, you might want to change the reference to <filename>hadjaha-00adce02f7.desktop</filename> to another desktop entry file that is
available globally.</para>
            <para>When you generate a panel configuration with the <option>--dump</option>
option, the positions of the panel objects are absolute positions. You might
want to change the positions of panel objects from absolute positions to relative
positions. The object at the extreme left of a panel has a <systemitem>position</systemitem> value of <literal>0</literal>. The next object has a <systemitem>position</systemitem> value of <literal>1</literal>, and so on. If you want object
positions to be relative to the right side of the panel, set the value of
the <systemitem>right_stick</systemitem> key to <literal>true</literal>. </para>
<!--Give full key name for position.-->
          </listitem>
          <listitem>
            <para>Use the <option>--load</option> option with the <command>gconftool-2</command> command line tool to set the values of the default configuration
source to the values in the <filename>my-panel-setup.entries</filename> file.
For example, the following command sets the values of the keys in the default
configuration source to the values of the corresponding keys in <filename>my-panel-setup.entries</filename>:</para>
            <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
  --load my-panel-setup.entries</userinput></screen>
          </listitem>
        </orderedlist>
      </sect3>
    </sect2>
  </sect1>
  <sect1 id="gconf-9">
    <title>Setting Look-and-Feel Preferences</title>
    <para>The following sections describe how to assign mandatory or default values
to look-and-feel preferences.</para>
    <sect2 id="gconf-19">
      <title>ਫੋਂਟ ਪਸੰਦ ਸੈੱਟ ਕਰਨੀ</title>
      <indexterm>
        <primary>GConf</primary>
        <secondary>ਫੋਂਟ, ਸੈਟਿੰਗ</secondary>
      </indexterm>
      <indexterm>
        <primary>ਫੋਂਟ</primary>
        <secondary>setting with GConf</secondary>
      </indexterm>
      <para>To set font preferences, you modify the values of two preference
keys. The following table shows the keys to modify, and the part of the user
interface to which the keys correspond:</para>
      <informaltable frame="topbot">
        <tgroup cols="2" colsep="0" rowsep="0">
          <colspec colwidth="50*"/>
          <colspec colwidth="50*"/>
          <thead>
            <row rowsep="1">
              <entry>
                <para>GConf ਟਿਕਾਣਾ</para>
              </entry>
              <entry>
                <para>ਉਪਭੋਗੀ ਇੰਟਰਫੇਸ ਭਾਗ</para>
              </entry>
            </row>
          </thead>
          <tbody>
            <row>
              <entry valign="top">
                <para>/desktop/gnome/interface/font_name</para>
              </entry>
              <entry valign="top">
                <para><application>ਫੋਂਟ</application> ਪਸੰਦ ਸੰਦ, <guilabel>ਕਾਰਜ ਫੋਂਟ</guilabel> ਚੋਣ</para>
              </entry>
            </row>
            <row>
              <entry valign="top">
                <para>/apps/nautilus/preferences/desktop_font</para>
              </entry>
              <entry valign="top">
                <para><application>Font</application> preference tool, <guilabel>Desktop font</guilabel> option</para>
              </entry>
            </row>
          </tbody>
        </tgroup>
      </informaltable>
      <para>For example, to set <literal>Sans 12</literal> as the mandatory application
font, run the following command:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
  --type string \
  --set /desktop/gnome/interface/font_name "Sans 12"</userinput></screen>
      <para><indexterm><primary>desktop</primary><secondary>font preferences, setting
with GConf</secondary></indexterm>To set <literal>palatino 12</literal> as
the default desktop object font, run the following command:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
  --type string \
  --set /apps/nautilus/preferences/desktop_font "palatino 12"</userinput></screen>
    </sect2>
    <sect2 id="gconf-20">
      <title>ਬੈਕਗਰਾਊਂਡ ਪਸੰਦ ਸੈੱਟ ਕਰਨੀ</title>
      <indexterm>
        <primary>GConf</primary>
        <secondary>ਬੈਕਗਰਾਊਂਡ, ਸੈਟਿੰਗ</secondary>
      </indexterm>
      <indexterm>
        <primary>ਬੈਕਗਰਾਊਂਡ</primary>
        <secondary>preferences,
setting with GConf</secondary>
      </indexterm>
      <para>To set preferences for the
desktop background, you modify the values of the preference keys in the <systemitem>/desktop/gnome/background</systemitem> location. For example, to set a mandatory
image for the background, run the following command:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
  --type string \
  --set /desktop/gnome/background/picture_filename <replaceable>filename.png</replaceable></userinput></screen>
      <para>To set a default value for this preference, run the following command:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
  --type string \
  --set /desktop/gnome/background/picture_filename <replaceable>filename.png</replaceable></userinput></screen>
      <para>You can also set other background preferences. For information on the
other background preferences, see the <filename>desktop_gnome_background.schemas</filename> schema definition file.</para>
    </sect2>
    <sect2 id="gconf-21">
      <title>To Set Splash Image Preferences</title>
      <indexterm>
        <primary>GConf</primary>
        <secondary>splash image, setting</secondary>
      </indexterm>
      <indexterm>
        <primary>splash screen</primary>
        <secondary>image, setting
with GConf</secondary>
      </indexterm>
      <para>To set splash image preferences, you
modify the value of the preference keys in the <systemitem>/apps/gnome-session/options/</systemitem> location. For example, if you do not want users ever to see a
splash image, set a mandatory value as follows:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
  --type bool \
  --set /apps/gnome-session/options/show_splash_screen false</userinput></screen>
      <para>To set a default value for this preference, run the following command:</para>
      <screen><userinput>gconftool-2 --direct \
  --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \
  --type bool \
  --set /apps/gnome-session/options/show_splash_screen false</userinput></screen>
      <para>You can also set other splash image preferences. For information on
the other splash image preferences, see the <filename>gnome-session.schemas</filename> schema definition file.</para>
    </sect2>
  </sect1>
  <sect1 id="gconf-28">
    <title>To Restore Default Preference Values</title>
    <indexterm>
      <primary>GConf</primary>
      <secondary>restoring default preference
values</secondary>
    </indexterm>
    <indexterm>
      <primary>preference values</primary>
      <secondary>restoring to default with GConf</secondary>
    </indexterm>
    <para>To
restore the default preference values for a user, run the following command:</para>
    <screen><userinput>gconftool-2 --direct \
  --config-source <replaceable>user-configuration-source</replaceable> \
  --recursive-unset</userinput></screen>
    <para>Replace <replaceable>user-configuration-source</replaceable> with the
configuration source in the <filename>.gconf</filename> directory in the home
directory of the user. </para>
    <para>This command resets the values of all preference keys, in all subdirectories,
from the user setting to the setting in the default configuration source.</para>
  </sect1>
</chapter>


<chapter id="menustructure-0">
  <title>ਪਸੰਦੀਦਾ ਮੇਨੂ</title>

  <anchor id="menustructure-22"/>

  <anchor id="menustructure-TBL-12"/>

  <anchor id="menustructure-TBL-17"/>

  <highlights>
    <para>The information in this chapter describes how the GNOME Desktop
    implements menus and how you can customize menus.</para>
  </highlights>

  <sect1 id="menustructure-1">
    <title>ਮੇਨੂ ਨਾਲ ਜਾਣ ਪਛਾਣ</title>

    <indexterm>
      <primary>ਮੇਨੂ</primary>

      <secondary>ਜਾਣ ਪਛਾਣ</secondary>
    </indexterm>

    <para>The GNOME Desktop implements menus according to the <ulink url="http://www.freedesktop.org/wiki/Standards/menu-spec">XDG menu
    specification</ulink>. By supporting this specification, GNOME allows you
    to:</para>

    <itemizedlist>
      <listitem>
        <para>Customize the menu hierarchy easily. You can edit a small number
        of files to customize the menu hierarchy. You do not need to modify
        your applications or move files.</para>
      </listitem>

      <listitem>
        <para>Install applications easily. You do not need to provide
        information about the menu hierarchy to applications when you install
        the applications.</para>
      </listitem>

      <listitem>
        <para>Configure menus so that users cannot modify the menus.</para>
      </listitem>
    </itemizedlist>

    <para>Menus in the GNOME Desktop use the following components:</para>

    <itemizedlist>
      <listitem>
        <para>ਮੇਨੂ ਪਰਿਭਾਸ਼ਾ ਫਾਇਲਾਂ</para>
      </listitem>

      <listitem>
        <para>ਵੇਹੜਾ ਇੰਦਰਾਜ਼ ਫਾਇਲਾਂ</para>
      </listitem>

      <listitem>
        <para>ਡਾਇਰੈਕਟਰੀ ਇੰਦਰਾਜ਼ ਫਾਇਲਾਂ</para>
      </listitem>
    </itemizedlist>
  </sect1>

  <sect1 id="menustructure-13">
    <title>ਮੇਨੂ ਪਰਿਭਾਸ਼ਾ ਫਾਇਲਾਂ</title>

    <indexterm>
      <primary>ਮੇਨੂ ਪਰਿਭਾਸ਼ਾ ਫਾਇਲਾਂ</primary>
    </indexterm>

    <indexterm>
      <primary>.menu ਫਾਇਲਾਂ</primary>

      <see>ਮੇਨੂ ਪਰਿਭਾਸ਼ਾ ਫਾਇਲਾਂ</see>
    </indexterm>

    <para>Menu files define the hierarchy of menus that are used in the GNOME
    menu bar. By modifying these files, you can customize menus for all users,
    or for a single user depending on the location of the
    <filename>applications.menu</filename> file that you modify.</para>

    <para>Menu files must reside at
    <filename>$XDG_CONFIG_DIRS/menus/applications.menu</filename>. If
    <envar>$XDG_CONFIG_DIRS</envar><footnote>
        <para>$XDG_CONFIG_DIRS is the environment variable defined in the
        <ulink url="http://www.freedesktop.org/Standards/basedir-spec">XDG
        base directory specification</ulink>.</para>
      </footnote> is not set, then the default path
    <filename>/etc/xdg</filename> is used. This also implies that a user
    specific version may be located at
    <filename>$XDG_CONFIG_HOME/menus/applications.menu</filename>
    which is searched first. If <envar>$XDG_CONFIG_HOME</envar> is not set,
    then the default path <filename>~/.config</filename> is used. Directories
    which appear first in <envar>$XDG_CONFIG_DIRS</envar> are given precedence
    when there are several <filename>applications.menu</filename> files. The
    first file found is used and subsequent files are ignored.</para>

    <para>If you are confused about the order in which paths are searched,
    here is a simple list for resolving the location of
    <filename>applications.menu</filename>:</para>

    <orderedlist>
      <listitem>
        <para>Search each directory in <envar>$XDG_CONFIG_HOME</envar> in
        order to find <filename>menus/applications.menu</filename>. If
        <envar>$XDG_CONFIG_HOME</envar> is not set, it defaults to the
        <filename>~/.config/</filename> directory.</para>
      </listitem>

      <listitem>
        <para>Search each directory in <envar>$XDG_CONFIG_DIRS</envar> in
        order to find <filename>menus/applications.menu</filename>. If
        <filename>$XDG_CONFIG_DIRS</filename> is not set, it defaults to the
        <filename>/etc/xdg/</filename> directory.</para>
      </listitem>

      <listitem>
        <para>Use the first <filename>applications.menu</filename> file
        found.</para>
      </listitem>
    </orderedlist>

    <para>You can see an example of a <filename>.menu</filename> file in <xref linkend="example-menu"/>. In this example, the top level menu is named
    <literal>Applications</literal>, which is specified using the
    <literal>&lt;Name&gt;</literal> element. The
    <literal>Applications</literal> menu contains a single submenu, but
    several submenus are allowed. Each submenu may also have an
    <literal>&lt;Include&gt;</literal> element. The purpose of the
    <literal>&lt;Include&gt;</literal> element is to perform a filter on the
    set of available desktop entries using matching rules.</para>

    <para>For example, the <literal>&lt;Category&gt;</literal> element is a
    basic matching rule that selects a <link linkend="menustructure-desktopentry"><emphasis>desktop
    entry</emphasis></link> only if the <link linkend="category-key"><literal>Categories</literal> key</link> contains
    the content of the <literal>&lt;Category&gt;</literal> element. In the
    example, the <literal>Accessories</literal> menu will include a
    <emphasis>desktop entry</emphasis> only if it contains
    <quote>Utility</quote> but not <quote>System</quote> in the Categories
    key. For more information on the Categories key, see <xref linkend="menustructure-desktopentry"/>.</para>

    <example id="example-menu">
      <title>Example of a <filename>.menu</filename> file</title>

      <para><programlisting>&lt;!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
 "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"&gt;
&lt;Menu&gt;
  &lt;Name&gt;Applications&lt;/Name&gt;
  &lt;Directory&gt;Applications.directory&lt;/Directory&gt;

  &lt;!-- Read standard .directory and .desktop file locations --&gt;
  &lt;DefaultAppDirs/&gt;
  &lt;DefaultDirectoryDirs/&gt;

  &lt;!-- Accessories submenu --&gt;
  &lt;Menu&gt;
    &lt;Name&gt;Accessories&lt;/Name&gt;
    &lt;Directory&gt;Accessories.directory&lt;/Directory&gt;
    &lt;Include&gt;
      &lt;And&gt;
        &lt;Category&gt;Utility&lt;/Category&gt;
        &lt;Not&gt;
          &lt;Category&gt;System&lt;/Category&gt;
        &lt;/Not&gt;
      &lt;/And&gt;
    &lt;/Include&gt;
  &lt;/Menu&gt; &lt;!-- End Accessories --&gt;

  &lt;!-- possibly more submenus --&gt;

&lt;/Menu&gt; &lt;!-- End Applications --&gt;
</programlisting></para>
    </example>

    <para><xref linkend="menustructure-xmlmenu"/> describes some of the
    elements in <filename>.menu</filename> files. For a more detailed
    description, please see the <ulink url="http://www.freedesktop.org/wiki/Standards/menu-spec">XDG menu
    specification</ulink>.</para>

    <table frame="topbot" id="menustructure-xmlmenu">
      <title>Menu Definition File Elements</title>

      <tgroup cols="2" colsep="0" rowsep="0">
        <colspec colname="colspec2" colwidth="33.83*"/>

        <colspec colname="colspec3" colwidth="80.00*"/>

        <thead>
          <row rowsep="1">
            <entry><para>ਇਕਾਈ</para></entry>

            <entry><para>ਵੇਰਵਾ</para></entry>
          </row>
        </thead>

        <tbody>
          <row>
            <entry colname="colspec2" valign="top"><para><literal>&lt;Menu&gt;</literal> </para></entry>

            <entry colname="colspec3" valign="top"><para>The root element
            which may contain nested <literal>&lt;Menu&gt;</literal> elements
            that define submenus. How these elements are nested determines the
            menu structure.</para></entry>
          </row>

          <row>
            <entry colname="colspec2" valign="top"><para><literal>&lt;Name&gt;</literal> </para></entry>

            <entry colname="colspec3" valign="top"><para>Specifies the name of
            the menu. Every <literal>&lt;Menu&gt;</literal> element must
            contain a <literal>&lt;Name&gt;</literal> element.</para></entry>
          </row>

          <row>
            <entry colname="colspec2" valign="top"><para><literal>&lt;Directory&gt;</literal>
            </para></entry>

            <entry colname="colspec3" valign="top"><para>Specifies the name of
            the directory entry file that specifies the name, comment, and
            icon for the menu. If this element is not specified, then the
            <literal>&lt;Name&gt;</literal> element is to be used to display
            the menu name.</para><para>By default,
            <filename>.directory</filename> files are searched for in the
            location
            <filename>$XDG_DATA_DIRS/desktop-directories/</filename>
            as set forth in the <citetitle>XDG menu
            specification.</citetitle></para></entry>
          </row>

          <row>
            <entry colname="colspec2"><literal>&lt;DefaultAppDirs&gt;</literal></entry>

            <entry colname="colspec3">This is an instruction which indicates
            that all the available desktop entries from
            <filename>$XDG_DATA_DIRS/applications/</filename>
            should be scanned. If this instruction is not included, then these
            locations are not scanned for desktop entries.</entry>
          </row>

          <row>
            <entry colname="colspec2"><literal>&lt;DefaultDirectoryDirs&gt;</literal></entry>

            <entry colname="colspec3">This is an instruction which indicates
            that all the available directory entries from
            <filename>$XDG_DATA_DIRS/desktop-directories/</filename>
            should be scanned. If the instruction is not included, then these
            locations are not scanned for directory entries.</entry>
          </row>

          <row>
            <entry colname="colspec2" valign="top"><para><literal>&lt;Include&gt;</literal></para></entry>

            <entry colname="colspec3">Contains a list of matching rules by
            which the contents of a menu are generated. May include the
            <literal>&lt;Filename&gt;</literal>,
            <literal>&lt;Category&gt;</literal>,
            <literal>&lt;And&gt;</literal>, <literal>&lt;Or&gt;</literal>,
            <literal>&lt;Not&gt;</literal>, or <literal>&lt;All&gt;</literal>
            matching rules. If more than one rule is present, the rules are
            logically ORed so that <emphasis>ਡਿਸਕਟਾਪ ਇੰਦਰਾਜ਼</emphasis> that
            match any rule are included.</entry>
          </row>

          <row>
            <entry colname="colspec2"><literal>&lt;Exclude&gt;</literal></entry>

            <entry colname="colspec3">The opposite of
            <literal>&lt;Include&gt;</literal> since any <emphasis>ਡਿਸਕਟਾਪ ਇੰਦਰਾਜ਼</emphasis> that are matched in this element are excluded
            from the previous set of included elements. For this reason, this
            element must appear after the <literal>&lt;Include&gt;</literal>
            element.</entry>
          </row>

          <row>
            <entry colsep="colspec2"><literal>&lt;Filename&gt;</literal></entry>

            <entry colname="colspec3">A matching rule that selects a
            <emphasis>desktop entry</emphasis> when the Desktop File-Id
            matches the contents of the <literal>&lt;Filename&gt;</literal>
            element.</entry>
          </row>

          <row>
            <entry colname="colspec2"><literal>&lt;Category&gt;</literal></entry>

            <entry colname="colspec3">A matching rule that selects a
            <emphasis>desktop entry</emphasis> when the Categories key matches
            the contents of the <literal>&lt;Category&gt;</literal>
            element.</entry>
          </row>

          <row>
            <entry colname="colspec2"><literal>&lt;And&gt;</literal></entry>

            <entry colname="colspec3">A matching rule that selects a
            <emphasis>desktop entry</emphasis> when it is selected by
            <emphasis>ਸਭ</emphasis> the nested matching rules in the
            <literal>&lt;And&gt;</literal> element.</entry>
          </row>

          <row>
            <entry colname="colspec2"><literal>&lt;Or&gt;</literal></entry>

            <entry colname="colspec3">A matching rule that selects a
            <emphasis>desktop entry</emphasis> when it is selected by
            <emphasis>ਕੋਈ</emphasis> of the nested matching rules in the
            <literal>&lt;Or&gt;</literal> element.</entry>
          </row>

          <row>
            <entry colname="colspec2"><literal>&lt;Not&gt;</literal></entry>

            <entry colname="colspec3">A matching rule that does not select a
            <emphasis>desktop entry</emphasis> when it is selected by
            <emphasis>ਕੋਈ</emphasis> of the nested matching rules in the
            <literal>&lt;Not&gt;</literal> element.</entry>
          </row>

          <row>
            <entry colname="colspec2"><literal>&lt;All&gt;</literal></entry>

            <entry colname="colspec3">A matching rule which selects all
            <emphasis>ਡਿਸਕਟਾਪ ਇੰਦਰਾਜ਼</emphasis>.</entry>
          </row>
        </tbody>
      </tgroup>
    </table>
  </sect1>

  <sect1 id="menustructure-desktopentry">
    <title>Desktop Entry Files</title>

    <anchor id="menustructure-6"/>

    <indexterm>
      <primary>desktop entry files</primary>
    </indexterm>

    <indexterm>
      <primary>.desktop ਫਾਇਲਾਂ</primary>

      <see>desktop entry files</see>
    </indexterm>

    <para>A <firstterm>desktop entry file</firstterm> is a data file that
    provides information about an item in a menu. The desktop entry file
    specifies the details for the item such as a name, a command to run, an
    icon, and so on. It also contains keywords which determine the location of
    the item in the menu hierarchy.</para>

    <para>Desktop entry files must reside in the
    <filename>$XDG_DATA_DIRS/applications</filename> directory and must have a
    <filename>.desktop</filename> file extension. If
    <envar>$XDG_DATA_DIRS</envar><footnote>
        <para>$XDG_DATA_DIRS is the environment variable defined in the <ulink url="http://www.freedesktop.org/Standards/basedir-spec">XDG base
        directory specification</ulink>.</para>
      </footnote> is not set, then the default path is
    <filename>/usr/share</filename> is used. This also implies that user
    specific desktop entries may be located at
    <filename>$XDG_DATA_HOME/applications</filename> which is
    searched first. If <envar>$XDG_DATA_HOME</envar> is not set, then the
    default path <filename>~/.local/share</filename> is used. Desktop entries
    are collected from all directories in the <envar>$XDG_DATA_DIRS</envar>
    environment variable. Directories which appear first in
    <envar>$XDG_CONFIG_DIRS</envar> are given precedence when there are
    several <filename>.desktop</filename> files with the same name.</para>

    <para>The following is a sample desktop entry file:</para>

    <programlisting>[Desktop Entry]
Encoding=UTF-8
Name=Calculator
Name[fr]=Calculatrice
...
Comment=Perform calculations
Comment[fr]=Effectue des calculs compliqués
...
Exec=gcalctool
Icon=accessories-calculator
Terminal=false
Type=Application
StartupNotify=true
Categories=GNOME;GTK;Utility;Calculator</programlisting>

    <para><xref linkend="menustructure-TBL-7"/> describes the most important
    keys in desktop entry files. To get more information about desktop entry
    files, see the <ulink url="http://www.freedesktop.org/Standards/desktop-entry-spec">XDG Desktop
    Entry Specification</ulink>.</para>

    <table frame="topbot" id="menustructure-TBL-7">
      <title>Desktop Entry Keys</title>

      <tgroup cols="2" colsep="0" rowsep="0">
        <colspec colname="colspec0" colwidth="25.25*"/>

        <colspec colname="colspec1" colwidth="74.75*"/>

        <thead>
          <row rowsep="1">
            <entry><para>Desktop Entry Key</para></entry>

            <entry><para>ਵੇਰਵਾ</para></entry>
          </row>
        </thead>

        <tbody>
          <row>
            <entry colname="colspec0" id="category-key" valign="top"><para>
            <literal>ਵਰਗ</literal> </para></entry>

            <entry colname="colspec1" valign="top"><para>Specifies the
            keywords that describe the item. The keywords are separated with
            semicolons (;). To see a list of the standard category keywords,
            see the desktop menu specification at
                <ulink url="http://www.freedesktop.org/Standards/menu-spec">
            http://www.freedesktop.org/Standards/menu-spec</ulink>
            </para><para><link linkend="menustructure-13">Menu
            Definition Files</link> map desktop entries to menus by using
            matching rules against the Categories key.</para></entry>
          </row>

          <row>
            <entry valign="top"><para> <literal>ਟਿੱਪਣੀ</literal>
            </para></entry>

            <entry valign="top"><para>Specifies a short description of the
            item. The comment is displayed as a tooltip when you point to the
            item in the menu. </para></entry>
          </row>

          <row>
            <entry valign="top"><para> <literal>ਇੰਕੋਡਿੰਗ</literal>
            </para></entry>

            <entry valign="top"><para>Specifies the encoding of the desktop
            entry file. </para></entry>
          </row>

          <row>
            <entry valign="top"><para> <literal>Exec</literal> </para></entry>

            <entry valign="top"><para>Specifies a command to execute when you
            choose the item from the menu. </para></entry>
          </row>

          <row>
            <entry colname="colspec0" valign="top"><para>
            <literal>ਆਈਕਾਨ</literal> </para></entry>

            <entry colname="colspec1" valign="top"><para>Specifies the
            filename of an icon that represents the item. Does not specify the
            path to the filename, or the file extension. </para></entry>
          </row>

          <row>
            <entry><literal>Mime ਕਿਸਮ</literal></entry>

            <entry>Specifies the MIME types that the application can handle.</entry>
          </row>
         
          <row>
            <entry valign="top"><para> <literal>ਨਾਂ</literal> </para></entry>

            <entry valign="top"><para>Specifies the name of the item. This
            name is displayed on the item in the menu. </para></entry>
          </row>

          <row>
            <entry valign="top"><para> <literal>NoDisplay</literal> </para></entry>

            <entry valign="top"><para>This options means <quote>This application 
            exists, but don't display it in the menus</quote>.</para></entry>
          </row>

          <row>
            <entry colname="colspec0" valign="top"><para>
            <literal>ਟਰਮੀਨਲ</literal> </para></entry>

            <entry colname="colspec1" valign="top"><para>Specifies whether the
            command in the <literal>Exec</literal> key runs in a terminal
            window. If the value is <literal>true</literal> the command runs
            in a terminal window. </para><para>If the command does not create
            a window in which to run, the value of this key must be
            <literal>true</literal>.</para></entry>
          </row>

          <row>
            <entry colname="colspec0" valign="top"><para>
            <literal>ਕਿਸਮ</literal> </para></entry>

            <entry colname="colspec1" valign="top"><para>ਇਕਾਈ ਦੀ ਕਿਸਮ ਦਿਓ। ਇਹ ਮੁੱਲ ਹੇਠ ਦਿੱਤੇ ਵਾਂਗ ਹਨ:</para><itemizedlist>
                <listitem>
                  <para><literal>ਕਾਰਜ</literal>: ਇੱਕ ਇਕਾਈ, ਜੋ ਕਿ ਕਾਰਜ ਚਾਲੂ ਕਰਦੀ ਹੈ।</para>
                </listitem>

                <listitem>
                  <para><literal>Link</literal>: An item that links to a file,
                  folder, or a remote resource (such as a FTP site, a web
		   page, a Windows share...).</para>
                </listitem>

                <listitem>
                  <para><literal>FSDevice</literal>: ਇੱਕ ਇਕਾਈ, ਜੋ ਕਿ ਫਾਇਲ ਸਿਸਟਮ ਜੰਤਰ ਹੈ।</para>
                </listitem>

                <listitem>
                  <para><literal>ਡਾਇਰੈਕਟਰੀ</literal>: ਇਕਾਈ, ਜੋ ਕਿ ਡਾਇਰੈਕਟਰੀ ਹੈ।</para>
                </listitem>
              </itemizedlist></entry>
          </row>

        </tbody>
      </tgroup>
    </table>

    <para>For more information on the keys in desktop entry files, see the
    desktop entry specification at the following URL:</para>

    <literallayout>
    <ulink url="http://www.freedesktop.org/Standards/desktop-entry-spec">http://www.freedesktop.org/Standards/desktop-entry-spec</ulink>
    </literallayout>

    <note>
      <para>Panel launchers and desktop objects also use desktop entry files.
      The desktop entry files for launchers and desktop objects provide the
      same information as for items in a menu. For example, the desktop entry
      files provide the command to run when a user chooses the launcher or
      object.</para>
    </note>
  </sect1>

  <sect1 id="menustructure-14">
    <title>ਡਾਇਰੈਕਟਰੀ ਇੰਦਰਾਜ਼ ਫਾਇਲਾਂ</title>

    <indexterm>
      <primary>ਡਾਇਰੈਕਟਰੀ ਇੰਦਰਾਜ਼ ਫਾਇਲਾਂ</primary>
    </indexterm>

    <indexterm>
      <primary>.directory ਫਾਇਲਾਂ</primary>

      <see>ਡਾਇਰੈਕਟਰੀ ਇੰਦਰਾਜ਼ ਫਾਇਲਾਂ</see>
    </indexterm>

    <para>A <firstterm>directory entry file</firstterm> is a data file that
    provides information about a menu. The directory entry file specifies the
    details for the menu such as a name, a tooltip, and an icon. Directory
    entry files have a <filename>.directory</filename> file extension.</para>

    <para>Directory entry files must reside in the
    <filename>$XDG_DATA_DIRS/desktop-directories</filename> directory. If
    <envar>$XDG_DATA_DIRS</envar> is not set, then the default path is
    <filename>/usr/share</filename> is used. This also implies that user
    specific directory entries may be located at
    <filename>$XDG_DATA_HOME/desktop-directories</filename>
    which is searched first. If <envar>$XDG_DATA_HOME</envar> is not set, then
    the default path <filename>~/.local/share</filename> is used. Directory
    entries are collected from all directories in the
    <envar>$XDG_DATA_DIRS</envar> environment variable. Directories which
    appear first in <envar>$XDG_DATA_DIRS</envar> are given precedence when
    there are several <filename>.directory</filename> files with the same
    name.</para>

    <para>ਹੇਠ ਦਿੱਤੀ ਇੱਕ ਨਮੂਨਾ ਡਾਇਰੈਕਟਰੀ ਇੰਦਰਾਜ਼ ਫਾਇਲ ਹੈ:</para>

    <programlisting>[Desktop Entry]
Name=Graphics
Name[fr]=Graphisme
...
Comment=Graphics applications
Comment[fr]=Applications graphiques
...
Icon=gnome-graphics
Type=Directory
Encoding=UTF-8</programlisting>

    <para><xref linkend="menustructure-TBL-15"/> describes the most important
    keys in directory entry files.</para>

    <table frame="topbot" id="menustructure-TBL-15">
      <title>ਡਾਇਰੈਕਟਰੀ ਇੰਦਰਾਜ਼ ਕੁੰਜੀਆਂ</title>

      <tgroup cols="2" colsep="0" rowsep="0">
        <colspec colname="colspec0" colwidth="27.07*"/>

        <colspec colname="colspec1" colwidth="72.93*"/>

        <thead>
          <row rowsep="1">
            <entry><para>ਡਾਇਰੈਕਟਰੀ ਇੰਦਰਾਜ਼ ਕੁੰਜੀ</para></entry>

            <entry><para>ਵੇਰਵਾ</para></entry>
          </row>
        </thead>

        <tbody>
          <row>
            <entry colname="colspec0" valign="top"><para>
            <literal>ਨਾਂ</literal> </para></entry>

            <entry colname="colspec1" valign="top"><para>Specifies the name of
            the menu. This name is displayed on the menu. </para></entry>
          </row>

          <row>
            <entry colname="colspec0" valign="top"><para>
            <literal>ਟਿੱਪਣੀ</literal> </para></entry>

            <entry colname="colspec1" valign="top"><para>Specifies a short
            description of the menu. The comment is displayed as a tooltip
            when you point to the menu. </para></entry>
          </row>

          <row>
            <entry colname="colspec0" valign="top"><para>
            <literal>ਆਈਕਾਨ</literal> </para></entry>

            <entry colname="colspec1" valign="top"><para>Specifies the
            filename of an icon that represents the menu. Does not specify the
            path to the filename, or the file extension. </para></entry>
          </row>

          <row>
            <entry valign="top"><para> <literal>ਕਿਸਮ</literal> </para></entry>

            <entry valign="top"><para>Specifies the type of menu. The value of
            this key is always <literal>Directory</literal>.</para></entry>
          </row>
        </tbody>
      </tgroup>
    </table>
  </sect1>

  <sect1 id="menustructure-2">
    <title>ਸਿਸਟਮ ਮੇਨੂ ਸੋਧ ਕਰਨੀ</title>

    <anchor id="menustructure-23"/>

    <indexterm>
      <primary>ਮੇਨੂ</primary>

      <secondary>ਸੋਧ ਕਰਨੀ</secondary>
    </indexterm>

    <para>You can edit menu configuration files and menu data files manually
    to customize menus.</para>

    <sect2 id="menustructure-3">
      <title>ਮੇਨੂ ਜੋੜਨਾ</title>

      <anchor id="menustructure-19"/>

      <anchor id="menustructure-20"/>

      <indexterm>
        <primary>ਮੇਨੂ</primary>

        <secondary>ਜੋੜਨਾ</secondary>
      </indexterm>

      <para>To add a menu for all users, perform the following steps:</para>

      <orderedlist>
        <listitem>
          <para>Create a directory entry file for the item that you want to
          add. Place the directory entry file in the
          <filename>$XDG_DATA_DIRS/desktop-directories</filename>
          directory. For more information on directory entry files, see <xref linkend="menustructure-14"/>.</para>
        </listitem>

        <listitem>
          <para>Locate the
          <filename>$XDG_CONFIG_DIRS/menus/applications.menu</filename>
          file.</para>
        </listitem>

        <listitem>
          <para>In the <filename>.menu</filename> file, add a
          <literal>&lt;Menu&gt;</literal> element for the new menu. For more
          information on <filename>.menu</filename> files, see <xref linkend="menustructure-13"/>.</para>
        </listitem>

        <listitem>
          <para>Create a <literal>&lt;Name&gt;</literal> element below
          <literal>&lt;Menu&gt;</literal>. The content of the element should
          contain the name for the menu.</para>
        </listitem>

        <listitem>
          <para>Create a <literal>&lt;Directory&gt;</literal> element below
          <literal>&lt;Menu&gt;</literal>. The content of the element should
          contain the name of the directory entry file.</para>
        </listitem>

        <listitem>
          <para>See <xref linkend="menustructure-4"/> for how to add an item
          to the menu.</para>
        </listitem>
      </orderedlist>

      <para>The next time that users log in, the menu should appear in the
      menu bar.</para>

      <note>
        <title>ਮੇਨੂ ਗੁੰਮ ਹੈ?</title>

        <para>If you did not specify any matching rules in the
        <literal>&lt;Include&gt;</literal> element, or if the rule did not
        match any desktop entries, then you may not see the menu in the menu
        bar.</para>
      </note>
    </sect2>

    <sect2 id="menustructure-4">
      <title>ਇੱਕ ਇਕਾਈ ਮੇਨੂ 'ਚ ਜੋੜਨੀ</title>

      <indexterm>
        <primary>ਮੇਨੂ</primary>

        <secondary>ਇਕਾਈ ਜੋੜਨੀ</secondary>
      </indexterm>

      <para>To add an item to a menu for all users, perform the following
      steps:</para>

      <orderedlist>
        <listitem>
          <para>Create a desktop entry file for the item that you want to add.
          For more information on desktop entry files, see <xref linkend="menustructure-desktopentry"/>.</para>
        </listitem>

        <listitem>
          <para>Place the desktop entry file in the 
          <filename>$XDG_DATA_DIRS/applications</filename> folder.</para>
        </listitem>

        <listitem>
          <para>Locate the
          <filename>$XDG_CONFIG_DIRS/menus/applications.menu</filename>
          file.</para>
        </listitem>

        <listitem>
          <para>Verify that a <literal>&lt;Menu&gt;</literal> element contains
          an <literal>&lt;Include&gt;</literal> element with a matching rule
          that selects the desktop entry file made in step 1.</para>
        </listitem>
      </orderedlist>

      <para>The next time that users log in, the menu item is in the assigned
      location.</para>
    </sect2>

    <sect2 id="menustructure-9">
      <title>Editing the Properties of a Menu</title>

      <indexterm>
        <primary>ਮੇਨੂ</primary>

        <secondary>editing properties of</secondary>
      </indexterm>

      <para>To edit the properties of a menu for all users, perform the
      following steps:</para>

      <orderedlist>
        <listitem>
          <para>Locate the
          <filename>$XDG_CONFIG_DIRS/menus/applications.menu</filename>
          file.</para>
        </listitem>

        <listitem>
          <para>Find the <literal>&lt;Menu&gt;</literal> entry in this file
          that corresponds to the menu you want to modify. Note the filename
          of the directory entry in the <literal>&lt;Directory&gt;</literal>
          element.</para>
        </listitem>

        <listitem>
          <para>Locate the directory entry for this menu. Modify the contents
          to change the properties of the menu. For more information on
          <filename>.directory</filename> files, see <xref linkend="menustructure-14"/>.</para>
        </listitem>
      </orderedlist>
    </sect2>

    <sect2 id="menustructure-10">
      <title>ਇੱਕ ਮੇਨੂ ਇਕਾਈ ਸੋਧਣੀ</title>

      <indexterm>
        <primary>ਮੇਨੂ</primary>

        <secondary>ਮੇਨੂ ਇਕਾਈਆਂ ਸੋਧਣੀਆਂ</secondary>
      </indexterm>

      <para>To edit a menu item, perform the following steps:</para>

      <orderedlist>
        <listitem>
          <para>Locate the desktop entry in the 
          <filename>$XDG_DATA_DIRS/applications</filename>
          directory that corresponds to the menu item.</para>
        </listitem>

        <listitem>
          <para>Edit the desktop entry to change the properties of the menu
          item. For more information on desktop entry files, see <xref linkend="menustructure-desktopentry"/>.</para>
        </listitem>
      </orderedlist>
    </sect2>

    <sect2 id="menustructure-11">
      <title>ਮੇਨੂ 'ਚੋਂ ਇੱਕ ਇਕਾਈ ਹਟਾਉਣੀ</title>

      <indexterm>
        <primary>ਮੇਨੂ</primary>

        <secondary>ਮੇਨੂ ਇਕਾਈ ਹਟਾਉਣੀ</secondary>
      </indexterm>

      <para>To delete an item from a menu for all users:</para>

      <orderedlist>
        <listitem>
          <para>Locate the
          <filename>$XDG_CONFIG_DIRS/menus/applications.menu</filename>
          file.</para>
        </listitem>

        <listitem>
          <para>Find the <literal>&lt;Menu&gt;</literal> element in this file
          that contains the desktop entry you want to delete.</para>
        </listitem>

        <listitem>
          <para>Insert an <literal>&lt;Exclude&gt;</literal> element after the
          closing tag for the <literal>&lt;Include&gt;</literal> element. Make
          sure this is in the <literal>&lt;Menu&gt;</literal> element
          determined in step 2.</para>
        </listitem>

        <listitem>
          <para>Insert the <literal>&lt;Filename&gt;</literal> matching rule
          as a subelement of <literal>&lt;Exclude&gt;</literal> to
          specifically exclude a desktop entry.</para>
        </listitem>
      </orderedlist>

      <para>The next time that users log in, the menu item is not displayed in
      the menu. <xref linkend="menustructure-deleteitem"/> shows how this
      done in the <filename>applications.menu</filename> file. The desktop
      entry for <filename>dasher.desktop</filename> is explicitly excluded
      from showing up in the accessibility menu.</para>

      <example id="menustructure-deleteitem">
        <title>ਮੇਨੂ 'ਚੋਂ ਇੱਕ ਇਕਾਈ ਹਟਾਉਣੀ</title>

        <programlisting>&lt;!-- ... --&gt;

  &lt;Menu&gt;
    &lt;Name&gt;Accessibility&lt;/Name&gt;
    &lt;Directory&gt;Accessibility.directory&lt;/Directory&gt;
    &lt;Include&gt;
      &lt;And&gt;
        &lt;Category&gt;Accessibility&lt;/Category&gt;
        &lt;Not&gt;&lt;Category&gt;Settings&lt;/Category&gt;&lt;/Not&gt;
      &lt;/And&gt;
    &lt;/Include&gt;
    &lt;Exclude&gt;
      &lt;Filename&gt;dasher.desktop&lt;/Filename&gt;
    &lt;/Exclude&gt;
  &lt;/Menu&gt;

&lt;!-- ... --&gt;
</programlisting>
      </example>
    </sect2>
  </sect1>

  <sect1 id="menustructure-usermenus">
    <title>ਉਪਭੋਗੀ ਮੇਨੂ ਸੋਧਣਾ ਅਤੇ ਮੇਨੂ ਮਿਲਾਨ</title>

    <indexterm>
      <primary>ਮੇਨੂ</primary>

      <secondary>ਉਪਭੋਗੀ ਮੇਨੂ ਸੋਧਣੇ</secondary>
    </indexterm>

    <para>You can use the following GNOME Desktop applications to edit menus
    for users:</para>

    <itemizedlist>
      <listitem>
        <para>ਗਨੋਮ ਮੇਨੂ ਸੰਪਾਦਕ</para>
      </listitem>
    </itemizedlist>

    <para>A simple menu editor is available for users to edit their menus. For
    more information, see <ulink url="ghelp:user-guide?goseditmainmenu-1">Working With Menus</ulink> in the
    <ulink url="ghelp:user-guide">GNOME User Guide</ulink>. Alternatively, you
    can manually create and edit a user menu file.</para>

    <para>To manually create a custom menu for a user, the
    <filename>$XDG_CONFIG_HOME/menus/applications.menu</filename>
    must exist. In the case that <envar>$XDG_CONFIG_HOME</envar> is not set,
    the default <filename>~/.config</filename> directory is used. Since this is the
    first location that is searched for the
    <filename>applications.menu</filename> file, it takes precedence over all
    other menu files.</para>

    <para>User menus can contain all the elements described in <xref linkend="menustructure-13"/>. For a complete list of the elements
    allowed, see the <ulink url="http://www.freedesktop.org/wiki/Standards/menu-spec">XDG menu
    specification</ulink>.</para>

    <para>Since user menu files take precedence over the system menu file, it
    will completely replace the system menu unless it explicitly
    <emphasis>merges</emphasis> the system menu. Information on menu merging
    is available in the following subsections.</para>

    <sect2>
      <title>ਸਿਸਟਮ ਮੇਨੂ ਮਿਲਾਨ</title>

      <indexterm>
        <primary>ਮੇਨੂ</primary>

        <secondary>ਸਿਸਟਮ ਮੇਨੂ ਮਿਲਾਨ</secondary>
      </indexterm>

      <para>Often, a user only wants to add or delete menu items in addition
      to the standard system menu. To support single changes like these, it is
      recommended that you use the <literal>&lt;MergeFile&gt;</literal>
      element with the attribute <literal>type="parent"</literal> within the
      user's <filename>applications.menu</filename> file.</para>

      <para>The <literal>&lt;MergeFile&gt;</literal> element allows a menu to
      be merged with the contents of the user's menu file. When you specify
      the attribute <literal>type="parent"</literal>, then the contents of the
      <literal>&lt;MergeFile&gt;</literal> element are ignored and the next
      <filename>applications.menu</filename> file in the
      <filename>$XDG_CONFIG_DIRS/menus</filename> directory is used for
      merging.</para>

      <note>
        <title>ਪੁਰਾਣੀਆਂ ਹਦਾਇਤਾਂ</title>

        <para>Older specifications did not include the <literal>type</literal>
        attribute and simply required the location of the menu file to be
        merged as the content of the <literal>&lt;MergeFile&gt;</literal>
        element. As a result, you may still see a location specified in the
        contents of <literal>&lt;MergeFile&gt;</literal>, even when
        <literal>type="parent"</literal>.</para>
      </note>

      <para>The merging is performed as follows:</para>

      <itemizedlist>
        <listitem>
          <para>The children of the root <literal>&lt;Menu&gt;</literal>
          element in the merged menu file<footnote>
              <para>Merged menu file refers to the next
              <filename>applications.menu</filename> in the
              <filename>$XDG_CONFIG_DIRS/menus</filename> directory.</para>
            </footnote> are substituted for the
          <literal>&lt;MergeFile&gt;</literal> element in the base menu
          file.</para>
        </listitem>

        <listitem>
          <para>All child <literal>&lt;Menu&gt;</literal> elements with the
          same name are consolidated into a single
          <literal>&lt;Menu&gt;</literal> element. This is by done appending
          all child elements of each <literal>&lt;Menu&gt;</literal> element
          with the same name into the <emphasis>last</emphasis> occurrence of
          the menu element.</para>
        </listitem>
      </itemizedlist>

      <para><xref linkend="menustructure-systemmerge"/> shows an example of a
      user menu file explicitly merging the system menu file.</para>

      <example id="menustructure-systemmerge">
        <title>ਸਿਸਟਮ ਮੇਨੂ ਮਿਲਾਨ</title>

        <programlisting>&lt;!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
 "http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd"&gt;

&lt;Menu&gt;
  &lt;Name&gt;Applications&lt;/Name&gt;
  &lt;MergeFile type="parent"&gt;/etc/xdg/menus/applications.menu&lt;/MergeFile&gt;
  &lt;Menu&gt;
    &lt;Name&gt;Accessibility&lt;/Name&gt;
    &lt;Exclude&gt;
      &lt;Filename&gt;dasher.desktop&lt;/Filename&gt;
    &lt;/Exclude&gt;
  &lt;/Menu&gt;
&lt;/Menu&gt;
</programlisting>
      </example>
    </sect2>

    <sect2>
      <title>Merging Arbitrary Menus</title>

      <indexterm>
        <primary>ਮੇਨੂ</primary>

        <secondary>merging arbitrary menus</secondary>
      </indexterm>

      <para>Arbitrary menu files can be merged in much the same way as system
      menus. The difference is that the <literal>type</literal> attribute must
      be set to <literal>path</literal> or must be excluded from the
      <literal>&lt;MergeFile&gt;</literal> element in order to do this type of
      merge.</para>

      <para>The merge is performed in the same way except that the location of
      the <emphasis>merged menu file</emphasis> is specified in the contents
      of the <literal>&lt;MergeFile&gt;</literal> element.</para>
    </sect2>
  </sect1>
</chapter>

<chapter id="themes-0">
  <title>ਸਰੂਪ (ਥੀਮ) ਇੰਸਟਾਲ ਕਰਨੇ</title>
  <highlights>
    <para>This chapter describes themes, the theme settings that are
available in the GNOME Desktop, how to install options for theme settings,
and how to create a custom option.</para>
  </highlights>
  <sect1 id="themes-1">
    <title>ਸਰੂਪਾਂ ਨਾਲ ਜਾਣ ਪਛਾਣ</title>
    <indexterm>
      <primary>ਸਰੂਪ</primary>
      <secondary>ਜਾਣ ਪਛਾਣ</secondary>
    </indexterm>
    <para>A theme is a group of coordinated settings that specifies the visual
appearance of a part of the GNOME Desktop. Users can choose themes to change
the appearance of the GNOME Desktop.</para>
    <para>A theme contains settings that affect different parts of the GNOME Desktop,
as follows:</para>
    <variablelist>
      <varlistentry>
        <term>ਕੰਟਰੋਲ</term>
        <listitem>
          <para><indexterm><primary>themes</primary><secondary>controls options</secondary><tertiary>introduction</tertiary></indexterm><indexterm><primary>GTK+ themes</primary><see>themes, controls
options</see></indexterm>The controls setting for a theme determines the visual
appearance of windows, panels, and applets. The controls setting also determines
the visual appearance of the GNOME-compliant interface items that appear on
windows, panels, and applets, such as menus, icons, and buttons. Some of the
controls setting options that are available are designed for special accessibility
needs. Users can choose an option for the controls setting from the <guilabel>Controls</guilabel> tabbed section in the <application>Theme</application>
preference tool.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>ਝਰੋਖਾ ਫਰੇਮ</term>
        <listitem>
          <para><indexterm><primary>themes</primary><secondary>window frame options</secondary><tertiary>introduction</tertiary></indexterm><indexterm><primary>Metacity themes</primary><see>themes, window frame options</see></indexterm>The window frame setting for
a theme determines the appearance of the frames around windows only. Users
can choose an option for the window frame setting from the <guilabel>Window
Border</guilabel> tabbed section in the <application>Theme</application> preference
tool.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>ਆਈਕਾਨ</term>
        <listitem>
          <para><indexterm><primary>themes</primary><secondary>icons options</secondary><tertiary>introduction</tertiary></indexterm><indexterm><primary>icon themes</primary><see>themes, icons options</see></indexterm>The icon setting for a theme determines the appearance of
the icons on panels and the desktop background. Users can choose an option
for the icon setting from the <guilabel>Icons</guilabel> tabbed section in
the <application>Theme</application> preference tool.</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </sect1>
  <sect1 id="themes-17">
    <title>ਸਰੂਪ Index ਫਾਇਲ</title>
    <para>Each theme has an index file which defines the characteristics of the
theme. The name of the index file is <filename>/usr/share/themes/<replaceable>theme-name</replaceable>/index.theme</filename>. </para>
    <para>The following is a sample theme index file:</para>
    <programlisting>[Desktop Entry]
Type=X-GNOME-Metatheme
Name=High Contrast Large
Name[es]=Alto contraste grande
Comment=Large black-on-white text and icons
Comment[es]=Textos e iconos grandes en negro sobre blanco
Encoding=UTF-8

[X-GNOME-Metatheme]
GtkTheme=HighContrastLargePrint
IconTheme=HighContrast
MetacityTheme=Atlanta
ApplicationFont=sans 18
</programlisting>
    <para>The following table describes the keys in theme index files:</para>
    <table frame="topbot" id="themes-TBL-18">
      <title>Keys in Theme Index Files</title>
      <tgroup cols="2" colsep="0" rowsep="0">
        <colspec colname="colspec0" colwidth="33*"/>
        <colspec colname="colspec1" colwidth="67*"/>
        <thead>
          <row rowsep="1">
            <entry>
              <para>Index ਫਾਇਲ ਕੁੰਜੀ</para>
            </entry>
            <entry>
              <para>ਵੇਰਵਾ</para>
            </entry>
          </row>
        </thead>
        <tbody>
          <row>
            <entry colname="colspec0" valign="top">
              <para>
                <literal>ਕਿਸਮ</literal>
              </para>
            </entry>
            <entry colname="colspec1" valign="top">
              <para>Specifies that this theme determines
the appearance of several theme options, such as controls, window frames,
and icons.</para>
            </entry>
          </row>
          <row>
            <entry colname="colspec0" valign="top">
              <para>
                <literal>ਨਾਂ</literal>
              </para>
            </entry>
            <entry colname="colspec1" valign="top">
              <para>The name of the theme. This is
the name of the theme that is displayed in the <application>Theme</application>
preference tool.</para>
            </entry>
          </row>
          <row>
            <entry colname="colspec0" valign="top">
              <para>
                <literal>ਟਿੱਪਣੀ</literal>
              </para>
            </entry>
            <entry colname="colspec1" valign="top">
              <para>A brief description of the theme.
This is the text that is displayed under the name of the theme in the <application>Theme</application> preference tool.</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <literal>GtkTheme</literal>
              </para>
            </entry>
            <entry valign="top">
              <para>Corresponds to the controls setting in the <application>Theme</application> preference tool. Specifies which controls setting option
to apply to windows, panels, and applets.</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <literal>IconTheme</literal>
              </para>
            </entry>
            <entry valign="top">
              <para>Corresponds to the icons setting in the <application>Theme</application> preference tool. Specifies which icons setting option
to apply to panels and the desktop background.</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <literal>MetacityTheme</literal>
              </para>
            </entry>
            <entry valign="top">
              <para>Corresponds to the window frame setting in the <application>Theme</application> preference tool. Specifies which window frame setting
option to apply to windows.</para>
            </entry>
          </row>
          <row>
            <entry colname="colspec0" valign="top">
              <para>
                <literal>ApplicationFont</literal>
              </para>
            </entry>
            <entry colname="colspec1" valign="top">
              <para>Corresponds to the application font setting in the <application>Font</application>
preference tool.</para>
            </entry>
          </row>
        </tbody>
      </tgroup>
    </table>
  </sect1>
  <sect1 id="themes-3">
    <title>To Install a New Controls Option</title>
    <indexterm>
      <primary>ਸਰੂਪ</primary>
      <secondary>ਕੰਟਰੋਲ ਚੋਣਾਂ</secondary>
      <tertiary>ਇੰਸਟਾਲ ਕਰਨਾ</tertiary>
    </indexterm>
    <para>You can add a new option
for the controls setting in the <application>Theme</application> preference
tool. Controls options reside in the <filename>/usr/share/themes</filename>
directory. The typical structure of a controls option in the file system is
as follows:</para>
    <variablelist>
      <varlistentry>
        <term>ਚੋਣ ਫਾਇਲ</term>
        <listitem>
          <para>
            <filename>/usr/share/themes/<replaceable>option-name</replaceable>/gtk-2.0/gtkrc</filename>
          </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>ਚਿੱਤਰ ਫਾਇਲਾਂ</term>
        <listitem>
          <para>
            <filename>/usr/share/themes/<replaceable>option-name</replaceable>/pixmaps/*.*</filename>
          </para>
        </listitem>
      </varlistentry>
    </variablelist>
    <para>Typically, a new option for the controls setting is supplied
as a <filename>.tar.gz</filename> file. To install the new controls option,
unzip the <filename>.tar.gz</filename> file, then untar the <filename>.tar</filename> file into the <filename>/usr/share/themes</filename> directory.</para>
    <para>Users can install their own options for the controls setting. If a user
installs an option for the controls setting, the option is stored in the <filename>$HOME/.themes</filename> directory.</para>
  </sect1>
  <sect1 id="themes-5">
    <title>To Install a New Window Frame Option</title>
    <indexterm>
      <primary>ਸਰੂਪ</primary>
      <secondary>window frame options</secondary>
      <tertiary>ਇੰਸਟਾਲ ਕਰਨਾ</tertiary>
    </indexterm>
    <para>You can add a new option
for the window frame setting in the <application>Theme</application> preference
tool. Window frame options reside in the <filename>/usr/share/themes/<replaceable>option-name</replaceable>/metacity-1</filename> directory. The typical structure
of a window frame option in the file system is as follows:</para>
    <variablelist>
      <varlistentry>
        <term>ਚੋਣ ਫਾਇਲ</term>
        <listitem>
          <para>
            <filename>/usr/share/themes/<replaceable>option-name</replaceable>/metacity-1/metacity-theme-1.xml</filename>
          </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>ਚਿੱਤਰ ਫਾਇਲਾਂ</term>
        <listitem>
          <para>
            <filename>/usr/share/themes/<replaceable>option-name</replaceable>/metacity-1/*.*</filename>
          </para>
        </listitem>
      </varlistentry>
    </variablelist>
    <para>Typically, a new option for the window frame setting
is supplied as a <filename>.tar.gz</filename> file. To install the new window
frame option, unzip the <filename>.tar.gz</filename> file, then untar the <filename>.tar</filename> file into the <filename>/usr/share/themes</filename> directory.</para>
    <para>Users can install their own options for the window frame setting. If
a user installs an option for the window frame setting, the option is stored
in the <filename>$HOME/.themes</filename> directory.</para>
  </sect1>
  <sect1 id="themes-16">
    <title>To Install a New Icons Option</title>
    <indexterm>
      <primary>ਸਰੂਪ</primary>
      <secondary>ਆਈਕਾਨ ਚੋਣਾਂ</secondary>
      <tertiary>ਇੰਸਟਾਲ ਕਰਨਾ</tertiary>
    </indexterm>
    <para>You can add a new option for the icons
setting in the <application>Theme</application> preference tool. Icons options
reside in the <filename>/usr/share/icons/<replaceable>option-name</replaceable></filename>
directory. The typical structure of an icons option in the file system is
as follows:</para>
    <variablelist>
      <varlistentry>
        <term>ਚੋਣ ਫਾਇਲ</term>
        <listitem>
          <para>
            <filename>/usr/share/icons/<replaceable>option-name</replaceable></filename>
          </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>ਚਿੱਤਰ ਫਾਇਲਾਂ</term>
        <listitem>
          <para>
            <filename>/usr/share/icons/<replaceable>option-name</replaceable>/icons/*.*</filename>
          </para>
        </listitem>
      </varlistentry>
    </variablelist>
    <para>Typically, a new option for the icons setting is supplied
as a <filename>.tar.gz</filename> file. To install the new icons option, unzip
the <filename>.tar.gz</filename> file, then untar the <filename>.tar</filename>
file into the <filename>/usr/share/icons</filename> directory.</para>
    <para>Users can install their own options for the icons setting. If a user
installs an option for the icons setting, the option is stored in the <filename>$HOME/.icons/<replaceable>option-name</replaceable></filename> directory.</para>
  </sect1>
  <sect1 id="themes-11">
    <title>Installing Icons for Themes</title>
    <indexterm>
      <primary>ਸਰੂਪ</primary>
      <secondary>installing icons</secondary>
    </indexterm>
    <para>The GNOME Desktop provides several themes that are designed
for users with special visual needs. For example, some of the themes are designed
for users with low vision. Several versions of icons might be required so
that the icon can be displayed properly in each theme.</para>
    <para>You might need to install a new icon for an application. When you install
a new icon, you must create several versions of the icon, so that the icon
displays correctly in the themes. You must create several versions of the
following types of icon:</para>
    <itemizedlist>
      <listitem>
        <para>Icons that are used within applications in the GNOME Desktop.</para>
      </listitem>
      <listitem>
        <para>Icons that are used internally by GTK+ applications, or GTK+
stock icons.</para>
      </listitem>
    </itemizedlist>
    <para>When you install a new icon, you must create several versions of the
icon, so that the icon displays correctly in the themes. You can create the
icons in several formats, for example Portable Network Graphic (PNG) format.
The suggested size of icons for the desktop environment is 48 pixels by 48
pixels. At this size, most themes can rescale the icons.</para>
    <para>When you install a new icon, create the following 48 pixel by 48 pixel
versions of the icon:</para>
    <itemizedlist>
      <listitem>
        <para>ਨਿਯਮਤ ਆਈਕਾਨ</para>
      </listitem>
      <listitem>
        <para>Low contrast icon</para>
      </listitem>
      <listitem>
        <para>High contrast icon</para>
      </listitem>
      <listitem>
        <para>Inverse high contrast icon</para>
      </listitem>
    </itemizedlist>
    <para>If possible, create 16 pixel by 16 pixel versions of the each of the
icons above also, for themes that do not require large print.</para>
    <para>Install the icons to the image files location that is specified for
the theme in <xref linkend="themes-3"/> or <xref linkend="themes-5"/>. For example,
to add icons to the HighContrastLargePrint theme, add the icons to the <filename>/usr/share/themes/HighContrastLargePrint/pixmaps</filename> directory. Add
references to the icons to the relevant theme files. For example, to add icons
to the HighContrastLargePrint theme, add references to the icons to the <filename>/usr/share/themes/HighContrastLargePrint/gtk-2.0/gtkrc</filename> file. Modify
the <filename>gtkrc</filename> file for the theme to associate the icon with
a GTK stock icon identifier.</para>
    <para>For more information on how to create icons for application launchers
and for panels, see <ulink url="http://www.freedesktop.org/Standards/icon-theme-spec">http://www.freedesktop.org/Standards/icon-theme-spec</ulink>.</para>
  </sect1>
  <sect1 id="themes-15">
    <title>To Create a Custom Controls Option</title>
    <indexterm>
      <primary>ਸਰੂਪ</primary>
      <secondary>ਕੰਟਰੋਲ ਚੋਣਾਂ</secondary>
      <tertiary>creating custom</tertiary>
    </indexterm>
    <para>If the options for the
controls setting are not suitable for the needs of your users, you can create
a custom controls option. To create a custom controls option, perform the
following steps:</para>
    <orderedlist>
      <listitem>
        <para>Create a directory structure for the option in the <filename>/usr/share/themes</filename> directory. Use the same directory structure that
other options use. For example, to create an option that is called SmallPrint,
create the following directories:</para>
        <itemizedlist>
          <listitem>
            <para>
              <filename>/usr/share/themes/SmallPrint</filename>
            </para>
          </listitem>
          <listitem>
            <para>
              <filename>/usr/share/themes/SmallPrint/gtk-2.0</filename>
            </para>
          </listitem>
        </itemizedlist>
      </listitem>
      <listitem>
        <para>Locate the <filename>gtkrc</filename> file that is closest
to meeting the needs of your users. Copy the file to the <filename>gtk-2.0</filename> directory of your new option.</para>
      </listitem>
      <listitem>
        <para>Open the <filename>gtkrc</filename> file in a text editor,
 and modify the attributes of the interface elements as required. </para>
      </listitem>
      <listitem>
        <para>If the new option includes images, install the images for
the new option in the <filename>pixmaps</filename> directory of your new option.
If the new option uses images from another option, you do not need to create
copies of the images for the new option. Instead, ensure that the reference
to the images in the <literal>pixmap_path</literal> entry in the <filename>gtkrc</filename> file is correct.</para>
      </listitem>
    </orderedlist>
    <para>Users can now choose the new option for the controls setting.</para>
    <para>For more information on <filename>gtkrc</filename> files, see <ulink url="http://developer.gnome.org/doc/API/2.0/gtk/index.html">http://developer.gnome.org/doc/API/2.0/gtk/index.html</ulink>.</para>
  </sect1>
</chapter>

<chapter id="fontconfig-0">
  <title>Configuring Fonts</title>
  <highlights>
    <para>This chapter describes how to configure fonts in the GNOME
Desktop.</para>
  </highlights>
  <sect1 id="fontconfig-1">
    <title>Introduction to Configuring Fonts</title>
    <indexterm>
      <primary>configuring fonts</primary>
      <see>ਫੋਂਟ</see>
    </indexterm>
    <indexterm>
      <primary>fontconfig</primary>
      <see>ਫੋਂਟ</see>
    </indexterm>
    <indexterm>
      <primary>ਫੋਂਟ</primary>
      <secondary>ਜਾਣ ਪਛਾਣ</secondary>
    </indexterm>
    <para>GNOME Desktop uses the <literal>fontconfig</literal> font configuration and
customization library. The <literal>fontconfig</literal> library can use all
kinds of fonts, including PostScript Type 1 fonts and TrueType fonts.</para>
    <para>The <literal>fontconfig</literal> library provides a list of all the
fonts available on a GNOME Desktop system. To compile this list, <literal>fontconfig</literal> searches the directories listed in the <filename>/etc/fonts/fonts.conf</filename> file. To view all the fonts available on a system, access the <literal>fonts:///</literal> location in the file manager on the system.</para>
    <para>For more information about the <literal>fontconfig</literal> library,
see the following URL: </para>
    <literallayout>
      <ulink url="http://freedesktop.org/software/fontconfig">http://freedesktop.org/software/fontconfig</ulink>
    </literallayout>
  </sect1>
  <sect1 id="fontconfig-4">
    <title>Font Substitution</title>
    <indexterm>
      <primary>ਫੋਂਟ</primary>
      <secondary>substitution</secondary>
    </indexterm>
    <para>The <literal>fontconfig</literal> library performs font substitution
when either entire fonts, or individual characters, are not present. If the
system needs to display a font that is not available, <literal>fontconfig</literal> attempts to display another, similar font. For example, if a web
page requests to display the Verdana font, and that font is not installed
on the system, <literal>fontconfig</literal> displays a similar font, such
as Helvetica. The list of similar fonts is defined in the <filename>/etc/fonts/fonts.conf</filename> file. </para>
    <para>If the system needs to display a character that is not present in the
selected font, <literal>fontconfig</literal> attempts to display the character
in another, similar font. For example, you might select Bitstream Vera Sans
as the font for the Text Editor application. The Bitstream Vera font family
does not include Cyrillic characters. If you open a document which contains
a Cyrillic character, Text Editor uses a similar font that includes Cyrillic
characters to display the character.</para>
    <para>The <literal>fontconfig</literal> library also defines aliases for fonts,
for example, <literal>serif</literal>, <literal>sans-serif</literal>, and <literal>monospace</literal>. When you select one of the aliases for a font, the system
uses the first font that is defined for that alias in the <filename>/etc/fonts/fonts.conf</filename>. </para>
  </sect1>
  <sect1 id="fontconfig-2">
    <title>ਸਭ ਉਪਭੋਗੀਆਂ ਲਈ ਫੋਂਟ ਜੋੜਨੇ</title>
    <indexterm>
      <primary>ਫੋਂਟ</primary>
      <secondary>ਸਭ ਉਪਭੋਗੀਆਂ ਲਈ ਫੋਂਟ ਜੋੜਨੇ</secondary>
    </indexterm>
    <para>To add a font for all users, perform the following steps:</para>
    <orderedlist>
      <listitem>
        <para>Copy the font file to one of the directories in the <filename>/etc/fonts/fonts.conf</filename> file. Typically, fonts are stored in the <filename>/usr/share/fonts/</filename> directory.</para>
      </listitem>
      <listitem>
        <para>The <literal>fontconfig</literal> library updates the list
of fonts automatically. If the list of fonts is not updated, run the following
command:</para>
        <screen><userinput>fc-cache <replaceable>ਡਾਇਰੈਕਟਰੀ ਨਾਂ</replaceable></userinput></screen>
      </listitem>
    </orderedlist>
  </sect1>
  <sect1 id="fontconfig-3">
    <title>To Add a Font for an Individual User</title>
    <indexterm>
      <primary>ਫੋਂਟ</primary>
      <secondary>adding for individual users</secondary>
    </indexterm>
    <para>To add a font for an individual users, perform
the following steps:</para>
    <orderedlist>
      <listitem>
        <para>Copy the font file to the <filename>$HOME/.fonts</filename>
directory of the user. If you drag the font file to the <literal>fonts:///</literal> location in the file manager, the font file is copied to the <filename>$HOME/.fonts</filename> directory.</para>
      </listitem>
      <listitem>
        <para>The <literal>fontconfig</literal> library updates the list
of fonts automatically. If the list of fonts is not updated, run the following
command:</para>
        <screen><userinput>fc-cache <replaceable>ਡਾਇਰੈਕਟਰੀ ਨਾਂ</replaceable></userinput></screen>
      </listitem>
    </orderedlist>
  </sect1>
</chapter>


<chapter id="mimetypes-0">
  <title>MIME ਕਿਸਮਾਂ</title>
  <anchor id="mimetypes-TBL-3"/>
  <anchor id="mimetypes-TBL-6"/>
  <anchor id="mimetypes-TBL-8"/>

  <highlights>
    <para>This chapter describes how applications detect MIME types, how to
    register MIME types, and how to add applications to the GNOME
    Desktop.</para>
  </highlights>

  <para>The purpose of this chapter is to make it easy for an administrator to
  understand how to configure different parts of the MIME database and give an
  general overview of the MIME system. Therefore we will
  <emphasis>not</emphasis> attempt to go into details where it is not
  necessary. For the gory details, it is recommended that you refer to the
  <ulink url="http://www.freedesktop.org/Standards/shared-mime-info-spec">XDG
  shared mime info specification</ulink>.</para>

  <sect1 id="mimetypes-intro">
    <title>Introduction to MIME Types</title>
    <anchor id="mimetypes-1"/>

    <indexterm>
      <primary>MIME ਕਿਸਮਾਂ</primary>

      <secondary>ਜਾਣ ਪਛਾਣ</secondary>
    </indexterm>

    <para>A <firstterm>Multipurpose Internet Mail Extension</firstterm>
    [<acronym>MIME</acronym>] type identifies the format of a file.
    Applications such as Internet browsers and email applications use the MIME
    type of a file to decide which actions to perform on it. For example, an
    email application can use the MIME type to detect the format of an
    attachment and choose an appropriate viewer for the file, such as opening
    a text document with <application>gedit</application>.</para>

    <para>As another example, the <application>Nautilus</application> file
    manager needs to know the MIME type of a file to perform the following
    tasks:</para>

    <itemizedlist>
      <listitem>
        <para>Open the file in an appropriate application.</para>
      </listitem>

      <listitem>
        <para>Display a string that describes the type of file.</para>
      </listitem>

      <listitem>
        <para>Display an appropriate icon to represent the file.</para>
      </listitem>

      <listitem>
        <para>Display a list of other applications that can open the
        file.</para>
      </listitem>
    </itemizedlist>

    <para>MIME types were originally proposed as a standard for identifying
    the message body of an e-mail message. Now, many systems use MIME types to
    identify the format of arbitrary files on the file system. MIME types are
    composed of a top-level <emphasis>media type</emphasis> followed by a
    <emphasis>subtype identifier</emphasis>, separated by a forward slash
    character, <quote><literal>/</literal></quote>. One example of a MIME type
    is <literal>image/jpeg</literal>. The media type in this example is
    <quote><literal>image</literal></quote> and the subtype identifier is
    <quote><literal>jpeg</literal></quote>. The top-level media type is meant
    to be a general categorization about the content of the file, while the
    subtype identifer is meant to specifically identify the format of the
    file.</para>

    <para>There are eight media types currently blessed by the
    <acronym>IANA</acronym> [Internet Assigned Naming Authority]. These eight
    media types are <simplelist type="inline">
        <member>ਕਾਰਜ</member>

        <member>ਆਡੀਓ</member>

        <member>ਚਿੱਤਰ</member>

        <member>ਸੁਨੇਹਾ</member>

        <member>ਮਾਡਲ</member>

        <member>multipart</member>

        <member>ਪਾਠ</member>

        <member>ਵੀਡਿਓ</member>
      </simplelist>. Many subtypes exist for each media type; for more
    information, see <ulink url="http://www.iana.org/assignments/media-types/">MIME Media
    Types</ulink> at the <ulink url="http://www.iana.org/">IANA</ulink> web
    site.</para>

    <para>Implementation of MIME types in GNOME follows the <ulink url="http://www.freedesktop.org/Standards/shared-mime-info-spec">XDG
    shared mime info specification</ulink>. This specification provides the
    following advantages:</para>

    <itemizedlist>
      <listitem>
        <para>Standard locations for all MIME related files.</para>
      </listitem>

      <listitem>
        <para>A standard way for applications to register information about a
        new MIME type.</para>
      </listitem>

      <listitem>
        <para>A standard way to retrieve the MIME type for a file.</para>
      </listitem>

      <listitem>
        <para>A standard way to retrieve information about a MIME type.</para>
      </listitem>
    </itemizedlist>

    <para>The rest of the chapter describes the files and directories that
    make up the MIME database, details about source XML files, how to create
    or modify MIME types, how to register applications as handlers for certain
    MIME types and finally, how to add an application to the GNOME
    desktop.</para>
  </sect1>

  <sect1 id="mimetypes-database">
    <title>MIME ਡਾਟਾਬੇਸ</title>
    <anchor id="mimetypes-4"/>
    <anchor id="mimetypes-5"/>

    <indexterm>
      <primary>MIME ਕਿਸਮਾਂ</primary>

      <secondary>ਡਾਟਾਬੇਸ</secondary>
    </indexterm>

    <para>The MIME database is a collection of files that make up:</para>

    <itemizedlist>
      <listitem>
        <para>The set of known MIME types</para>
      </listitem>

      <listitem>
        <para>The method for determing the MIME type of a file</para>
      </listitem>

      <listitem>
        <para>Meta information regarding a MIME type, such as a human readable
        description to use when displaying files of this type.</para>
      </listitem>
    </itemizedlist>

    <sect2 id="mimetypes-location">
      <title>ਟਿਕਾਣਾ</title>

      <para>As an administrator, the most important and basic step to
      understanding the MIME system is learning the locations where these
      files are stored. Since the <ulink url="http://www.freedesktop.org/Standards/shared-mime-info-spec">XDG
      shared mime info specification</ulink> was drafted by the X Desktop
      Group, it also makes use of the <ulink url="http://www.freedesktop.org/wiki/Standards/basedir-spec">XDG base
      directory specification</ulink>. It is highly recommended that you
      familiarize yourself with this specification, as it is also important
      for other system administration tasks such as editing menus. A brief
      summary of the directory locations as pertaining to the MIME
      specification is given below.</para>

      <para>The MIME database is created from the set of files located in the
      <filename>$XDG_DATA_HOME/mime</filename> and
      <filename>$XDG_DATA_DIRS/mime</filename> directories. If
      these environment variables are unset, then they default to the values
      <filename>~/.local/share</filename> and
      <filename>/usr/local/share:/usr/share</filename> respectively. As can be
      seen from the default value for <envar>$XDG_DATA_DIRS</envar> , each
      environment variable is actually a colon separated list of directories.
      The user's database at
      <filename>$XDG_DATA_HOME/mime</filename> has precedence
      over the system database at
      <filename>$XDG_DATA_DIRS/mime</filename> when conflicting
      definitions are encountered. Similar to the <citetitle>XDG shared mime
      specification</citetitle>, we will refer to this set of directories as
      <literal>&lt;MIME&gt;</literal> in the rest of this document.</para>

      <para>For example, assuming default paths for the environment variables,
      <quote>Load
      <filename>&lt;MIME&gt;/text/plain.xml</filename></quote>
      means to load the following files:</para>

      <itemizedlist>
        <listitem>
          <para><filename>~/.local/share/mime/text/plain.xml</filename></para>
        </listitem>

        <listitem>
          <para><filename>/usr/local/share/mime/text/plain.xml</filename></para>
        </listitem>

        <listitem>
          <para><filename>/usr/share/mime/text/plain.xml</filename></para>
        </listitem>
      </itemizedlist>
    </sect2>

    <sect2 id="mimetypes-contents">
      <title>ਪ੍ਰਸੰਗ</title>

      <para>The following is a list of directories and files that are found
      inside the MIME database along with brief descriptions:</para>

      <variablelist>
        <varlistentry>
          <term><filename>&lt;MIME&gt;/packages/</filename></term>

          <listitem>
            <para>This directory contains any number of XML files, each of
            which describe a collection of MIME types. By default, the
            <filename>freedesktop.org.xml</filename> file is installed in the
            <filename>/usr/share/mime/packages</filename> directory. This file
            contains all the default MIME types that are widely used and
            recognized.</para>

            <para>Applications which provide information about new MIME types
            are to install a <emphasis>single</emphasis> new XML file here.
            Depending on the prefix where the application is installed, it
            will create the file in the <filename>/mime/package</filename>
            subdirectory of one of the directories in
            <envar>$XDG_DATA_HOME:$XDG_DATA_DIRS</envar>. For example, an
            application installed to <filename>/usr/bin</filename> should
            install a new source XML file to the
            <filename>/usr/share/mime/packages</filename> directory. For more
            information about the XML files in the
            <filename>packages</filename> directory, please see <xref linkend="mimetypes-source-xml"/>.</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><filename>&lt;MIME&gt;/<replaceable>MEDIA</replaceable>/<replaceable>SUBTYPE</replaceable>.xml</filename></term>

          <listitem>
            <para>These directories and files are automatically generated from
            the collection of source XML files in the
            <filename>&lt;MIME&gt;/packages/</filename> subdirectory by the
            <application>update-mime-database</application> application. For
            example, for each <literal>mime-type</literal> element in the
            <filename>/usr/share/mime/packages/freedesktop.org.xml</filename>
            file, a directory is created at
            <filename>/usr/share/mime/</filename> with the <emphasis>media
            type</emphasis> of the MIME type. An XML file is created in that
            directory with the <emphasis>subtype identifier</emphasis> of that
            MIME type as well. The contents of the created XML file include
            comments (and translations for them), subclasses designations and
            aliases.</para>

            <example>
              <title>ਜਿਵੇਂ: <filename>/usr/share/mime/text/plain.xml</filename> ਫਾਇਲ</title>

              <para><programlisting>&lt;?xml version='1.0' encoding='utf-8'?&gt;
&lt;mime-type xmlns="http://www.freedesktop.org/standards/shared-mime-info" type="text/plain"&gt;
&lt;!--Created automatically by update-mime-database. DO NOT EDIT!--&gt;
  &lt;comment&gt;plain text document&lt;/comment&gt;
  &lt;!-- possibly more translations --&gt;
  &lt;comment xml:lang="es"&gt;documento de texto sencillo&lt;/comment&gt;
  &lt;comment xml:lang="eu"&gt;testu soileko dokumentua&lt;/comment&gt;
  &lt;comment xml:lang="fi"&gt;perustekstiasiakirja&lt;/comment&gt;
  &lt;comment xml:lang="fr"&gt;document plein texte&lt;/comment&gt;
  &lt;!-- possibly more translations --&gt;
&lt;/mime-type&gt;
</programlisting>This file is generated by the
              <application>update-mime-database</application> application,
              using the default source XML file
              <filename>freedesktop.org.xml</filename>.</para>
            </example>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><filename>&lt;MIME&gt;/globs</filename></term>

          <listitem>
            <para>Contains one line with a MIME type and a glob pattern,
            separated by a colon. Files which match the glob pattern are
            resolved to the MIME type specified before the colon. There are
            special rules about how filenames are matched by the glob pattern;
            for more details see the <citetitle>XDG shared mime
            specification</citetitle>.</para>

            <para>This file is also generated by the
            <application>update-mime-database</application> application, using
            the default source XML file
            <filename>freedesktop.org.xml</filename>.</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><filename>&lt;MIME&gt;/magic</filename></term>

          <listitem>
            <para>A binary file which contains information on how to resolve
            MIME types by <quote>sniffing</quote> the content of the file.
            This is generally a set of one or more rules such as <quote>check
            for the string <literal>%PDF- </literal>at byte offset 0 in the
            file; if found, assign it the MIME type
            <literal>application/pdf</literal></quote>.</para>

            <para>This file is also generated by the
            <application>update-mime-database</application>
            application.</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><filename>&lt;MIME&gt;/XMLnamespaces</filename></term>

          <listitem>
            <para>Contains a mapping of XML namespaces to MIME types. Each
            line contains three fields, the namespace, the localName and the
            MIME type. Each field is separated by a space. If the localName is
            empty, then there are two spaces between the namespace and the
            MIME type.</para>

            <para>This file is also generated by the
            <application>update-mime-database</application>
            application.</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><filename>&lt;MIME&gt;/aliases</filename></term>

          <listitem>
            <para>Contains a list of aliases for each MIME type. An alias is
            simply a MIME type that is sometimes known as another type. For
            each line in this file there are two fields: the first field is
            the alias name, and the second field is the MIME type. The fields
            are separated by a space.</para>

            <para>This file is also generated by the
            <application>update-mime-database</application>
            application.</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term><filename>&lt;MIME&gt;/subclasses</filename></term>

          <listitem>
            <para>Contains a list of subclassed MIME types and their
            <quote>parent</quote> MIME type. From the <citetitle>XDG shared
            mime specification:</citetitle><blockquote>
                <para>A type is a subclass of another type if any instance of
                the first type is also an instance of the second. For example,
                all image/svg files are also text/xml, text/plain and
                application/octet-stream files. Subclassing is about the
                format, rather than the catagory of the data (for example,
                there is no 'generic spreadsheet' class that all spreadsheets
                inherit from).</para>
              </blockquote>The format of this file is similar to the
            <filename>aliases</filename> file. Each line contains two fields,
            where the first field is the subclassed MIME type and the second
            field is the parent MIME type. Each field is separated by a
            space.</para>

            <para>This file is also generated by the
            <application>update-mime-database</application>
            application.</para>
          </listitem>
        </varlistentry>
      </variablelist>
    </sect2>

    <sect2 id="mimetypes-refresh">
      <title>Refreshing the MIME Database</title>

      <para>Understanding how to refresh the MIME database is important for
      administrators who wish to add new MIME types to the system, or
      otherwise modify information about a MIME type. The application
      <application>update-mime-database</application> is intended for this
      purpose.</para>

      <para>For example, if an application installs information about a new
      MIME type to <filename>/usr/share/mime/packages/diff.xml</filename>,
      then <application>update-mime-database</application> must be called with
      the parameter <filename>/usr/share/mime</filename>.</para>

      <screen><prompt>#</prompt> <userinput>update-mime-database /usr/share/mime</userinput>
<computeroutput>***
* Updating MIME database in /usr/share/mime...
***
</computeroutput></screen>

      <para>The MIME database is refreshed by scanning all the source XML
      files in the directory
      <filename>&lt;MIME&gt;/packages</filename>.</para>
    </sect2>
  </sect1>

  <sect1 id="mimetypes-source-xml">
    <title>ਸਰੋਤ XML ਫਾਇਲਾਂ</title>
    <anchor id="mimetypes-11"/>
    <anchor id="mimetypes-12"/>
    <anchor id="mimetypes-2"/>

    <indexterm>
      <primary>MIME ਕਿਸਮਾਂ</primary>

      <secondary>ਸਰੋਤ XML ਫਾਇਲਾਂ</secondary>
    </indexterm>

    <para>Located in the <filename>&lt;MIME&gt;/packages</filename> directory,
    these XML files provide all the information regarding MIME types that is
    installed into the database by the
    <application>update-mime-database</application> application. There are a
    few rules about the XML file itself:</para>

    <itemizedlist>
      <listitem>
        <para>It must specify the namespace as
        <quote><literal>http://www.freedesktop.org/standards/shared-mime-info</literal></quote></para>
      </listitem>

      <listitem>
        <para>The root element must be <literal>mime-info</literal></para>
      </listitem>

      <listitem>
        <para>Zero or more <literal>mime-type</literal> elements can be
        specified as children of the <literal>mime-info</literal> element. The
        <literal>type</literal> attribute is used to specify the MIME type
        that is being defined.</para>
      </listitem>
    </itemizedlist>

    <para>By default, the <filename>freedesktop.org.xml</filename> file is
    installed to the <filename>packages</filename> directory in one of the
    <filename>&lt;MIME&gt;</filename> paths (usually
    <filename>/usr/share/mime/packages</filename>).</para>

    <para><xref linkend="mimetypes-mimeinfo-elements"/> gives a brief
    description for each of the elements that can occur as children to the
    <literal>mime-type</literal> element.</para>

    <table frame="topbot" id="mimetypes-mimeinfo-elements">
      <title>Child elements of <literal>&lt;mime-info&gt;</literal></title>

      <tgroup cols="2" colsep="0" rowsep="0">
        <colspec colwidth="44.90*"/>

        <colspec colwidth="59.10*"/>

        <thead>
          <row rowsep="1">
            <entry>Element (and attributes)</entry>

            <entry>ਵੇਰਵਾ</entry>
          </row>
        </thead>

        <tbody>
          <row>
            <entry><literal>&lt;glob pattern="<replaceable>*.xyz</replaceable>"&gt;</literal></entry>

            <entry>This element specifies a glob pattern against filenames. If
            the filename matches, then it is assigned the MIME type of the
            parent <literal>mime-type</literal> element. The
            <literal>pattern</literal> attribute is mandatory.</entry>
          </row>

          <row>
            <entry><literal>&lt;magic priority="<replaceable>50</replaceable>"&gt;</literal></entry>

            <entry>This element contains a list of <literal>match</literal>
            elements as its children. The <literal>priority</literal>
            attribute is optional, and specifies a priority between 0 and 100,
            with 100 being the highest matching priority. Each child
            <literal>match</literal> element has three required attributes:
            <simplelist type="inline">
                <member><literal>type</literal></member>

                <member><literal>offset</literal></member>

                <member><literal>value</literal></member>
              </simplelist> and a fourth optional attribute,
            <literal>mask</literal>. For details on these attributes, see the
            <ulink url="http://www.freedesktop.org/Standards/shared-mime-info-spec">XDG
            shared mime info specification</ulink>.</entry>
          </row>

          <row>
            <entry><literal>&lt;alias type="<replaceable>media</replaceable>/<replaceable>subtype</replaceable>"&gt;</literal></entry>

            <entry>This element defines an alias for the parent
            <literal>mime-type</literal> element. An alias is simply a MIME
            type that is sometimes known as another type. For example,
            <literal>application/x-pdf</literal> is an alias for the MIME type
            <literal>application/pdf</literal>.</entry>
          </row>

          <row>
            <entry><literal>&lt;sub-class-of type="<replaceable>media</replaceable>/<replaceable>subtype</replaceable>"&gt;</literal></entry>

            <entry>This element defines the parent
            <literal>mime-type</literal> element as a subclass of the MIME
            type specified in the <literal>type</literal> attribute. For
            example, <literal>image/svg</literal> is a sub class of the MIME
            type <literal>text/xml</literal>, <literal>text/plain</literal>,
            and <literal>application/octet-stream</literal>.</entry>
          </row>

          <row>
            <entry><literal>&lt;comment xml:lang="<replaceable>locale</replaceable>"&gt;</literal></entry>

            <entry>This element provides a human readable description for the
            MIME type. There can be zero or more occurrences of this element
            as long as each one contains a unique value for the
            <literal>xml:lang</literal> attribute.</entry>
          </row>

          <row>
            <entry><literal>&lt;root-XML namespaceURI="<replaceable>namespace</replaceable>" localName=""&gt;</literal></entry>

            <entry>If a file is determined to an XML file, then this element
            helps to further classify it through the use of the
            <literal>namespaceURI</literal> and <literal>localName</literal>
            attributes, both of which are required. The attribute
            <literal>namespaceURI</literal> is the namespace of the document,
            and <literal>localName</literal> is the name of the root element
            for the document. If <literal>localName</literal> is present but
            its value is empty, then the root element may have any name, but
            the namespace must still match.</entry>
          </row>
        </tbody>
      </tgroup>
    </table>

    <para>The easiest way to understand these files is to take a look at an
    example. Borrowing from the <citetitle>XDG shared mime
    specification</citetitle>, <xref linkend="mimetypes-source-xml-example"/>
    displays the contents of a source XML file called
    <filename>diff.xml</filename>. This example defines the MIME type
    <literal>text/x-diff</literal>. There are multiple
    <literal>comment</literal> elements which give a human readable name to
    the MIME type in a number of different languages. This MIME type has both
    rules for matching through glob patterns <emphasis>and</emphasis> through
    the use of content <quote>sniffing</quote> (better known as
    <filename>magic</filename> rules). Any file with the extension
    <literal>.diff</literal> or <filename>.patch</filename> will resolve to
    this MIME type. Additionally any file whose contents start with the
    strings specified in the <literal>value</literal> attributes of the
    <literal>match</literal> element, will resolve to the
    <literal>text/x-diff</literal> MIME type.</para>

    <para>The order in which glob patterns and magic rules apply is beyond the
    scope of this document. For details on this, see the <ulink url="http://www.freedesktop.org/Standards/shared-mime-info-spec">XDG
    shared mime info specification</ulink>.</para>

    <example id="mimetypes-source-xml-example">
      <title>Example of a source XML file:
      <filename>diff.xml</filename></title>

      <programlisting>&lt;?xml version='1.0'?&gt;
&lt;mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'&gt;
  &lt;mime-type type="text/x-diff"&gt;
    &lt;comment&gt;Differences between files&lt;/comment&gt;
    &lt;comment xml:lang="af"&gt;verskille tussen lêers&lt;/comment&gt;
    &lt;!-- more translated comment elements --&gt;
    &lt;magic priority="50"&gt;
      &lt;match type="string" offset="0" value="diff\t"/&gt;
      &lt;match type="string" offset="0" value="***\t"/&gt;
      &lt;match type="string" offset="0" value="Common subdirectories: "/&gt;
    &lt;/magic&gt;
    &lt;glob pattern="*.diff"/&gt;
    &lt;glob pattern="*.patch"/&gt;
  &lt;/mime-type&gt;
&lt;/mime-info&gt;</programlisting>
    </example>
  </sect1>

  <sect1 id="mimetypes-modifying">
    <title>Modifying MIME types</title>

    <indexterm>
      <primary>MIME ਕਿਸਮਾਂ</primary>

      <secondary>verifying changes</secondary>
    </indexterm>

    <indexterm>
      <primary>MIME ਕਿਸਮਾਂ</primary>

      <secondary>modifying</secondary>
    </indexterm>

    <para>You should never directly modify the source XML files that are
    installed to the <filename>&lt;MIME&gt;/packages</filename> directory by
    applications. Instead, modify the <filename>Overrides.xml</filename> file.
    This file has precedence over all other source XML files installed into
    the same <filename>packages</filename> directory. If you are an
    application author, then this rule does not apply. You should create a new
    source XML file and place it in the proper
    <filename>&lt;MIME&gt;/packages</filename> directory (your
    <filename>Makefile</filename> will take care of this, of course).</para>

    <para>You can modify the MIME database for all users on the system or for
    a particular user depending on the location of the file you change. To
    modify the database for all users, make changes to the file
    <filename>Overrides.xml</filename> in the
    <filename>$XDG_DATA_DIRS/mime/packages</filename>
    directory. To modify the database for a single user, make changes to the
    file <filename>Overrides.xml</filename> in the
    <filename>$XDG_DATA_HOME/mime/packages</filename>
    directory.</para>

    <para>After changes are made, you must always run the
    <application>update-mime-database</application> application, with the
    directory location of the MIME database as the first parameter.</para>

    <sect2 id="mimetypes-addmodify">
      <title>Adding or Modifying MIME types</title>

      <para>To add one or more MIME types for all users:</para>

      <orderedlist>
        <listitem>
          <para>Create or modify an existing
          <filename>Overrides.xml</filename> source XML file, containing the
          definitions for the MIME types. For more information, see <xref linkend="mimetypes-source-xml"/>.</para>
        </listitem>

        <listitem>
          <para>Place the <filename>Overrides.xml</filename> file in the
          <filename>/usr/share/mime/packages</filename> directory.</para>
        </listitem>

        <listitem>
          <para>Update the MIME database by running
          <application>update-mime-database</application> using the system
          account.<screen><userinput>update-mime-database /usr/share/mime</userinput></screen></para>
        </listitem>
      </orderedlist>

      <para>To add one or more MIME types for a single user, follow the same
      steps, except place your <filename>Overrides.xml</filename> file in the
      <filename>~/.local/share/mime/packages</filename> directory.
      Additionally, call <application>update-mime-database</application> with
      <filename>~/.local/share/mime/packages</filename> as the first
      parameter.</para>
    </sect2>

    <sect2 id="mimetypes-verifying">
      <title>Verifying Changes</title>
      <anchor id="mimetypes-10"/>

      <para>After you have made a change to the MIME database and refreshed
      its contents, you can verify that the change has taken effect using the
      <application>gnomevfs-info</application> application. This application
      prints the MIME type and other useful information about a file.</para>

      <para>Running <application>gnomevfs-info</application> on a SVG file
      gives you the output shown below. You'll notice the default application
      for this MIME type is <filename>eog.desktop</filename>; We will discuss
      default applications in <xref linkend="mimetypes-registering"/>.</para>

      <screen><prompt>$</prompt> <userinput>gnomevfs-info mime-diagram.svg</userinput>
<computeroutput>Name              : mime-diagram.svg
Type              : Regular
MIME type         : image/svg+xml
Default app       : eog.desktop
Size              : 14869
Blocks            : 32
I/O block size    : 4096
Local             : YES
SUID              : NO
SGID              : NO
Sticky            : NO
Permissions       : 600644
Link count        : 1
UID               : 1000
GID               : 100
Access time       : Wed Feb 22 18:24:47 2006
Modification time : Wed Feb 22 18:24:42 2006
Change time       : Wed Feb 22 18:24:42 2006
Device #          : 775
Inode #           : 297252
Readable          : YES
Writable          : YES
Executable        : NO</computeroutput>
<prompt>$</prompt>
</screen>

      <para><xref linkend="mimetypes-newtype-example"/> walks through the steps of
      creating a new MIME type and then verifying the changes using
      <application>gnomevfs-info</application>.</para>
    </sect2>

    <sect2 id="mimetypes-newtype-example">
      <title><literal>application/x-newtype</literal> ਉਦਾਹਰਨ</title>

      <para>To create (or override) a MIME type and verify the changes:</para>

      <orderedlist>
        <listitem>
          <para>Make a new, empty file in your home directory called
          <filename>testing.xyz</filename>.</para>
        </listitem>

        <listitem>
          <para>Use <application>gnomevfs-info</application> on the file to
          find out the MIME type.The MIME type for this file should be
          detected as <literal>text/plain</literal> because there are not any
          glob patterns or magic rules that match it<footnote>
              <para>When no glob patterns or magic rules match a file, then it
              is resolved to the MIME type <literal>text/plain</literal> if it
              contains textual data or
              <literal>application/octet-stream</literal> for binary data. If
              the file is empty, then it defaults to
              <literal>text/plain</literal>.</para>
            </footnote>.</para>
        </listitem>

        <listitem>
          <para>Create (or modify) the <filename>Overrides.xml</filename> file
          as described in <xref linkend="mimetypes-addmodify"/> with the
          contents given in <xref linkend="mimetypes-overrides-xml"/>.</para>
        </listitem>

        <listitem>
          <para>Refresh the database using
          <application>update-mime-database</application>.</para>
        </listitem>

        <listitem>
          <para>Use <application>gnomevfs-info</application> to verify that
          your change has taken effect. You should see the MIME type for the
          <filename>testing.xyz</filename> file resolved as
          <literal>application/x-newtype</literal>.</para>

          <screen><prompt>$</prompt> <userinput>gnomevfs-info testing.xyz | grep MIME
</userinput><computeroutput>MIME type         : application/x-newtype
</computeroutput><prompt>$</prompt></screen>
        </listitem>
      </orderedlist>

      <example id="mimetypes-overrides-xml">
        <title><filename>Overrides.xml</filename> ਫਾਇਲ</title>

        <programlisting>&lt;?xml version='1.0' encoding='utf-8'?&gt;
&lt;mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"&gt;
  &lt;mime-type type="application/x-newtype"&gt;&lt;comment&gt;new mime type&lt;/comment&gt;&lt;glob pattern="*.xyz"/&gt;&lt;/mime-type&gt;
&lt;/mime-info&gt;</programlisting>
      </example>
    </sect2>
  </sect1>

  <sect1 id="mimetypes-registering">
    <title>Registering Applications for MIME Types</title>

    <anchor id="mimetypes-7"/>

    <indexterm>
      <primary>MIME ਕਿਸਮਾਂ</primary>

      <secondary>registering applications for</secondary>
    </indexterm>

    <indexterm>
      <primary>ਕਾਰਜ</primary>

      <secondary>ਰਜਿਸਟਰੀ</secondary>
    </indexterm>

    <para>Registering applications to handle MIME types is fairly
    straightforward. Applications are registered by creating a
    <literal>MimeType</literal> key in their <filename>.desktop</filename>
    entry file and listing each MIME type separated by a semicolon. The
    <literal>MimeType</literal> key should only be used in
    <filename>.desktop</filename> files whose <literal>Type</literal> key has
    the value <quote><literal>Application</literal></quote>. For more
    information on <filename>.desktop</filename> files, see <xref linkend="menustructure-desktopentry"/>.</para>

    <para>After creating or modifying a <filename>.desktop</filename> entry
    file, you must update the application database using the
    <application>update-desktop-database</application> application (very
    similar to <application>update-mime-database</application>, except it does not take a
    parameter). This will create a
    <filename>mimeinfo.cache</filename> file in the
    <filename>applications</filename> subdirectory for each directory in
    <filename>$XDG_DATA_HOME:$XDG_DATA_DIRS</filename>.
    The cache file is necessary so that all the <filename>.desktop</filename>
    files do not need to be scanned for just the <literal>MimeType</literal>
    key, as this causes unnecessary disk I/O.</para>

    <para>Default applications to use for specific MIME types should be
    specified in a file called <filename>defaults.list</filename>. This file
    is located in the <filename>applications</filename> subdirectory for each
    directory in <envar>$XDG_DATA_HOME</envar> and
    <envar>$XDG_DATA_DIRS</envar>. The format for this file consists of the
    MIME type, the <literal>=</literal> symbol and the Desktop File ID (which
    is the filename for the desktop entry file). <xref linkend="mimetypes-registering-example"/> is a short example of a
    <filename>defaults.list</filename> file in a user's
    <filename>~/.local/share/applications</filename> directory.</para>

    <example id="mimetypes-registering-example">
      <title>A User's <filename>defaults.list</filename> file</title>

      <programlisting>[Default Applications]
application/pdf=evince.desktop
text/html=epiphany.desktop
text/plain=gedit.desktop
image/jpeg=eog.desktop
image/png=eog.desktop
text/xml=gedit.desktop
</programlisting>
    </example>

    <note>
      <title>XDG Desktop Entry Specification</title>

      <para>How to register MIME types for applications is part of the <ulink url="http://www.freedesktop.org/wiki/Standards/desktop-entry-spec">XDG desktop entry specification</ulink>, rather than the
      <ulink url="http://www.freedesktop.org/Standards/shared-mime-info-spec">XDG
      shared mime info specification</ulink>.</para>
    </note>
  </sect1>

  <sect1 id="mimetypes-9">
    <title>Adding an Application to the GNOME Desktop</title>

    <indexterm>
      <primary>MIME ਕਿਸਮਾਂ</primary>

      <secondary>ਕਾਰਜ ਜੋੜਨੇ</secondary>
    </indexterm>

    <indexterm>
      <primary>ਕਾਰਜ</primary>

      <secondary>ਜੋੜਨਾ</secondary>
    </indexterm>

    <para>To add an application to the GNOME Desktop, perform the following
    steps:</para>

    <orderedlist>
      <listitem>
        <para>Add a menu item for the application. For more information on how
        to add an item to a menu, see <xref linkend="menustructure-2"/>.</para>
      </listitem>

      <listitem>
        <para>Add an icon for the application to
        <filename>/usr/share/icons/<replaceable>theme-name</replaceable>/<replaceable>icon-size</replaceable>/apps</filename>.
        For more information on icons and themes, see <xref linkend="themes-11"/>.</para>
      </listitem>

      <listitem>
        <para>If the application uses a new MIME type, add a source XML file
        to the MIME database. For more information, see <xref linkend="mimetypes-modifying"/>.</para>
      </listitem>

      <listitem>
        <para>If the application uses a new MIME type, add an icon for the
        MIME type to
        <filename>/usr/share/icons/<replaceable>theme-name</replaceable>/<replaceable>icon-size</replaceable>/mimetypes</filename>.
        For more information on icons and themes, see <xref linkend="themes-0"/>.</para>
      </listitem>

      <listitem>
        <para>To associate the application with a MIME type, include a
        <literal>MimeType</literal> key in your <filename>.desktop</filename>
        file. For more information, see <xref linkend="mimetypes-registering"/>.</para>
      </listitem>
    </orderedlist>
  </sect1>
</chapter>

<chapter id="screensavers-0">
  <title>Setting Screensavers</title>
  <highlights>
    <para>This chapter describes how to set preferences for the screensaver.
This chapter also provides information on how to modify the displays that
are available for the screensaver.</para>
  </highlights>
  <sect1 id="screensavers-1">
    <title>Introduction to Screensavers</title>
    <indexterm>
      <primary>ਸਕਰੀਨ-ਸੇਵਰ</primary>
      <secondary>ਜਾਣ ਪਛਾਣ</secondary>
    </indexterm>
    <indexterm>
      <primary>ਗਨੋਮ-ਸਕਰੀਨਸੇਵਰ</primary>
      <see>ਸਕਰੀਨ-ਸੇਵਰ</see>
    </indexterm>
    <para>A <firstterm>screensaver</firstterm> is an application that
replaces the image on a screen when the screen is not in use. The screensaver
application for the GNOME Desktop is <application>gnome-screensaver</application>.
The following sections describe how to set preferences for the <application>gnome-screensaver</application> application, and how to change the themes that
are available for the screensaver.</para>
  </sect1>
  <sect1 id="screensavers-2">
    <title>Setting Screensaver Preferences</title>
    <indexterm>
      <primary>ਸਕਰੀਨ-ਸੇਵਰ</primary>
      <secondary>setting preferences</secondary>
    </indexterm>
    <para>All screensaver preferences and settings are stored in <application>GConf</application>.</para>
    <para>To modify screensaver application preferences, users can use the <application>Screensaver</application> preference tool.  For information on screensaver preferences, see <citetitle>GNOME Desktop User's Guide</citetitle>.</para>
    <para>Users can also run the command <command>/usr/bin/gnome-screensaver-preferences</command> to open
the <guilabel>Screensaver Preferences</guilabel> dialog.</para>
    <para>To set default screensaver settings and policy for all users, modify the screensaver settings in the Default GConf Configuration Source.</para>
    <para>To set mandatory screensaver settings and policy for all users, modify the screensaver settings in the Mandatory GConf Configuration Source.</para>
  </sect1>
  <sect1 id="screensavers-3">
    <title>Modifying Screensaver Themes</title>
    <indexterm>
      <primary>ਸਕਰੀਨ-ਸੇਵਰ</primary>
      <secondary>modifying screensaver themes</secondary>
    </indexterm>
    <para>The screensaver application allows users
to choose one or more <firstterm>screensaver themes</firstterm>. A screensaver
theme is an application that displays images on the screen of the user when
the screen is not in use. The available screensaver themes are listed in the <application>Screensaver</application> preference tool.</para>
    <para>To add a new screensaver theme, copy the executable file for the <firstterm>screensaver theme engine</firstterm> to somewhere in your PATH or into the
screensaver theme engine executable directory.  The screensaver theme engine executable directory for your system can be determined using the following command:
<screen><userinput>pkg-config --variable=privlibexecdir gnome-screensaver</userinput></screen>

Next, add a <filename>.desktop</filename> file for the theme into the screensaver themes directory.  The screensaver themes directory for your system
can be determined using the following command:
<screen><userinput>pkg-config --variable=themesdir gnome-screensaver</userinput></screen>

In the Exec field of the <filename>.desktop</filename> file include any arguments that are required to run the screensaver
theme on the whole screen, rather than in a window.  For example, some legacy screensaver theme engines may require you 
to include the <literal>-root</literal> option to display the screensaver
display on the whole screen.</para>
    <para>The <application>Screensaver</application> infrastructure implements themes according to the <ulink url="http://www.freedesktop.org/wiki/Standards/menu-spec">XDG menu
    specification</ulink>. By supporting this specification, GNOME allows you
    to:</para>

    <itemizedlist>
      <listitem>
        <para>Customize the themes easily. You can edit a small number
        of files to customize the available themes. You do not need to modify
        your applications or move files.</para>
      </listitem>

      <listitem>
        <para>Install themes easily. You do not need to provide
        information about the system when you install
        the themes.</para>
      </listitem>

      <listitem>
        <para>Configure the system so that users cannot modify the themes.</para>
      </listitem>
    </itemizedlist>

  <para>For more information, see <xref linkend="menustructure-0"/>.</para>

  </sect1>
</chapter>

<chapter id="sessions-0">
  <title>ਸ਼ੈਸ਼ਨ ਪਰਬੰਧ</title>
  <highlights>
    <para>This chapter introduces session management, and describes
how to set session defaults. The chapter also contains information on sessions
and login scripts.</para>
  </highlights>
  <sect1 id="sessions-1">
    <title>Introduction to Sessions</title>
    <indexterm>
      <primary>ਸ਼ੈਸ਼ਨ</primary>
      <secondary>ਜਾਣ ਪਛਾਣ</secondary>
    </indexterm>
    <para>A session occurs between the time that a user logs in to
the GNOME Desktop and the time that the user logs out. The session manager
starts after the <application>Login Manager</application> authenticates the
user. The session manager enables the user to manage the session. For example,
a user can save the state of a session and return to that session the next
time that the user logs in. </para>
    <para>At a minimum, the following applications run in a session:</para>
    <itemizedlist>
      <listitem>
        <para>The session manager, <command>gnome-session</command>.</para>
      </listitem>
      <listitem>
        <para>The <application>GConf</application> X settings daemon, <command>gnome-settings-daemon</command>.</para>
      </listitem>
      <listitem>
        <para>The <application>gnome-panel</application> application, which
runs the panels in the GNOME Desktop.</para>
      </listitem>
      <listitem>
        <para>The <application>Metacity</application> window manager.</para>
      </listitem>
    </itemizedlist>
  </sect1>
  <sect1 id="sessions-3">
    <title>Setting Session Defaults</title>
    <indexterm>
      <primary>ਸ਼ੈਸ਼ਨ</primary>
      <secondary>setting defaults</secondary>
    </indexterm>
    <para>The following table lists the files that contain default
session information:</para>
    <informaltable frame="topbot">
      <tgroup cols="2" colsep="0" rowsep="0">
        <colspec colwidth="51.80*"/>
        <colspec colwidth="48.20*"/>
        <thead>
          <row rowsep="1">
            <entry>
              <para>ਫਾਇਲ</para>
            </entry>
            <entry>
              <para>ਵੇਰਵਾ</para>
            </entry>
          </row>
        </thead>
        <tbody>
          <row>
            <entry valign="top">
              <para>
                <filename>/usr/share/gnome/default.session</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>Default session file.
Default session details are stored in this file.</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>$HOME/.gnome2/session</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>User session file. When a user modifies the session,
the details are stored in this file.</para>
            </entry>
          </row>
        </tbody>
      </tgroup>
    </informaltable>
<!--The last row does not appear to be true in Mercury - check.-->
    <para>To set default session details for all users, modify the default session
file. </para>
    <para>To restore the default session settings for a user, delete the session
file from the home directory of the user. If no user session file is present,
the default settings in <filename>/usr/share/gnome/default.session</filename>
are used. </para>
    <para>To save the current session as the default session, users can run the <command>gnome-session-save</command> command. </para>
  </sect1>
</chapter>

<chapter id="help-0">
  <title>ਸਹਾਇਤਾ ਸਿਸਟਮ</title>
  <highlights>
    <para>This chapter describes the Help system in the GNOME Desktop.</para>
  </highlights>
  <sect1 id="help-1">
    <title>ਸਹਾਇਤਾ ਸਿਸਟਮ ਨਾਲ ਜਾਣ ਪਛਾਣ</title>
    <indexterm>
      <primary>ਆਨਲਾਇਨ ਸਹਾਇਤਾ</primary>
      <see>ਸਹਾਇਤਾ</see>
    </indexterm>
    <indexterm>
      <primary>ਸਹਾਇਤਾ</primary>
      <secondary>ਜਾਣ ਪਛਾਣ</secondary>
    </indexterm>
    <para>The GNOME Desktop displays help in the <application>Yelp</application> Help
browser. For more information, see <ulink url="ghelp:user-guide?yelp">Yelp Help Browser</ulink> in the
<ulink url="ghelp:user-guide">GNOME Desktop User Guide</ulink>.</para>
<para>The source documents for the help are XML files. The XML files are
written to the DocBook XML Version 4.1.2 document type definition (DTD). The
DocBook XML files are converted to HTML using stylesheets installed with <application>
gnome-doc-utils</application> and the HTML is displayed in the
help browser. For more information on DocBook XML, see the following URL:</para>
    <literallayout>
      <ulink url="http://www.oasis-open.org/docbook/xml/">http://www.oasis-open.org/docbook/xml</ulink>
    </literallayout>
    <para>The Help system uses <firstterm>Open Source Metadata Framework</firstterm>
(OMF) files, and a cataloging system. The next sections describe OMF files
and the cataloging system.</para>
  </sect1>
  <sect1 id="help-3">
    <title>OMF ਫਾਇਲਾਂ</title>
    <indexterm>
      <primary>.omf ਫਾਇਲਾਂ</primary>
      <see>OMF ਫਾਇਲਾਂ</see>
    </indexterm>
    <indexterm>
      <primary>ਸਹਾਇਤਾ</primary>
      <secondary>OMF ਫਾਇਲਾਂ</secondary>
    </indexterm>
    <indexterm>
      <primary>OMF ਫਾਇਲਾਂ</primary>
    </indexterm>
    <para>The XML file for each manual
has an associated OMF file. The OMF file contains information about the manual
that is used by the Help browser. OMF files have a <filename>.omf</filename>
extension.</para>
    <para>When you install an application, the installation process installs an
OMF file to a directory of OMF files. If a Help document has an associated
OMF file in an OMF file directory, the Help document is displayed in the Help
browser.</para>
    <para>OMF files contain information about Help documents such as the following:</para>
    <itemizedlist>
      <listitem>
        <para>The location of the XML file for the Help document</para>
      </listitem>
      <listitem>
        <para>ਸਹਾਇਤਾ ਦਸਤਾਵੇਜ਼ ਦਾ ਟਾਇਟਲ ਹੈ</para>
      </listitem>
      <listitem>
        <para>A subject category to which the Help document belongs</para>
      </listitem>
    </itemizedlist>
    <para>For more information on how to create OMF files, please see 
    <ulink url="ghelp:writing_scrollkeeper_omf_files">Writing Scrollkeeper 
OMF Files</ulink>.</para>
  </sect1>
  <sect1 id="help-2">
    <title>ScrollKeeper Cataloging System</title>
    <indexterm>
      <primary>ਸਹਾਇਤਾ</primary>
      <secondary>ScrollKeeper cataloging system</secondary>
    </indexterm>
    <indexterm>
      <primary>ScrollKeeper cataloging system</primary>
    </indexterm>
    <para><application>ScrollKeeper</application> is a cataloging
system for documentation.  Its primary function is to manage the information in 
OMF files for the help browser.  When you install an application, the 
OMF file is copied to the <filename>
<replaceable>$prefix</replaceable>/share/omf/<replaceable>&lt;application-name&gt;</replaceable>
</filename> directory.
</para>

    <para><application>ScrollKeeper</application> builds a table of contents from the
collection of OMF files in the directories specified in 
<filename><replaceable>$prefix</replaceable>/etc/scrollkeeper.conf</filename> file. 
This file usually consists of a single line with the <varname>OMF_DIR</varname> 
set to a comma separated list of directories to recursively search.</para>

    <programlisting>OMF_DIR=/usr/share/omf:/usr/local/share/omf:/opt/gnome2/share/omf:/opt/kde/omf
</programlisting>

    <para><application>ScrollKeeper</application> contains a hierarchy of subject
categories to which a help document can belong. The subject category of the document 
in the OMF file determines the location of the document in the table of contents presented
by the help browser.</para>

    <para>The hierarchy of subject categories is defined in the file
<filename>
<replaceable>$prefix</replaceable>/scrollkeeper/Templates/<replaceable>&lt;lang&gt;</replaceable>/scrollkeeper_cl.xml</filename>. 
The subject category of a document must correspond to a category specified in this file.</para>

    <para>For more information on the <application>Scrollkeeper</application> system,
visit the website at 
<ulink url="http://scrollkeeper.sourceforge.net/">http://scrollkeeper.sourceforge.net/</ulink>.
</para>

    <note>
      <para>If the help document XML file is moved to a new location, then
the location in the OMF file needs to be updated.</para>
    </note>
  </sect1>
</chapter>

<chapter id="performance-0">
  <title>ਕਾਰਜ-ਕੁਸ਼ਲਤਾ ਸੁਧਾਰਨੀ</title>
  <highlights>
    <para>This chapter describes how to improve the performance of
the GNOME Desktop.</para>
  </highlights>
  <sect1 id="performance-1">
    <title>Introduction to Improving Performance</title>
    <indexterm>
      <primary>performance, improving</primary>
      <secondary>ਜਾਣ ਪਛਾਣ</secondary>
    </indexterm>
    <para>This chapter lists several preferences whose
settings you can change to improve the performance of the GNOME Desktop. You
can use the <command>gconftool-2</command> command to set values for preferences
for users. The example commands in this chapter show how to set values in
the user configuration source.</para>
    <para>You can also use the <literal>--direct</literal> and <literal>--config-source</literal> options to set mandatory values or default values for preferences.
You can also use the <command>gconftool-2</command> command in a script to
set the values of many preferences. For more information on the  <command>gconftool-2</command> command and the options that are  available with the
command, see <xref linkend="gconf-0"/>.</para>
  </sect1>
  <sect1 id="performance-8">
    <title>Reducing CPU Usage</title>
    <indexterm>
      <primary>performance, improving</primary>
      <secondary>CPU ਵਰਤੋਂ ਸੁਧਾਰਨੀ</secondary>
    </indexterm>
    <indexterm>
      <primary>ਘਟਾਉਣੀ</primary>
      <secondary>CPU ਵਰਤੋਂ</secondary>
    </indexterm>
    <indexterm>
      <primary>CPU ਵਰਤੋਂ</primary>
      <secondary>ਘਟਾਉਣੀ</secondary>
    </indexterm>
    <para>This section describes preferences that
you can set to reduce CPU usage by the GNOME Desktop. </para>
    <sect2 id="performance-3">
      <title>To Use Theme Options Which Require Less CPU Resources</title>
      <indexterm>
        <primary>ਸਰੂਪ</primary>
        <secondary>window frame options</secondary>
        <tertiary>ਅਤੇ CPU ਵਰਤੋਂ</tertiary>
      </indexterm>
      <indexterm>
        <primary>ਸਰੂਪ</primary>
        <secondary>ਅਤੇ CPU ਵਰਤੋਂ</secondary>
      </indexterm>
      <para>Some window frame theme
options load image files to draw the window frame. Other options use simpler
techniques to draw the window frame.</para>
      <para>The Crux window frame option loads image files, and can be slow on systems
with limited CPU resources. To reduce CPU usage, use one of the following
window frame options: </para>
      <itemizedlist>
        <listitem>
          <para>ਅਟਲਾਂਟਾ</para>
        </listitem>
        <listitem>
          <para>ਇਸਕੋ</para>
        </listitem>
      </itemizedlist>
      <para>The following window frame options also use less CPU resources than
Crux:</para>
      <itemizedlist>
        <listitem>
          <para>AgingGorilla</para>
        </listitem>
        <listitem>
          <para>Bright</para>
        </listitem>
        <listitem>
          <para>Metabox</para>
        </listitem>
      </itemizedlist>
      <note>
        <para>Metabox does not work well with inverse controls options such
as HighContrastInverse. Use Atlanta with inverse controls options.</para>
      </note>
      <para><indexterm><primary>themes</primary><secondary>window frame options</secondary><tertiary>changing</tertiary></indexterm>To change the window
frame theme option, run the following command: </para>
      <screen><userinput>gconftool-2 \
--type string \
--set /apps/metacity/general/theme <replaceable>option-name</replaceable></userinput></screen>
      <para>For example, to use Atlanta, run the following command:</para>
      <screen><userinput>gconftool-2 \
--type string \
--set /apps/metacity/general/theme Atlanta</userinput></screen>
      <para>Alternatively, users can use the <application>Theme</application> preference
tool to select the appropriate option.</para>
      <tip>
        <para>You can use the <application>Metacity Theme Viewer</application>
to measure the performance of a window frame option, and to preview the option.
To start <application>Metacity Theme Viewer</application>, use the following
command:</para>
        <screen><userinput>metacity-theme-viewer <replaceable>option-name</replaceable></userinput></screen>
        <para>For example, to measure the performance of Atlanta and preview Atlanta,
run the following command: </para>
        <screen><userinput>metacity-theme-viewer Atlanta</userinput></screen>
      </tip>
    </sect2>
    <sect2 id="performance-2">
      <title>To Reduce CPU Usage by Turning Off Display of Icons in Menus</title>
      <indexterm>
        <primary>icons, in menus</primary>
        <see>menu icons</see>
      </indexterm>
      <indexterm>
        <primary>menu icons</primary>
        <secondary>ਅਤੇ CPU ਵਰਤੋਂ</secondary>
      </indexterm>
      <indexterm>
        <primary>menu icons</primary>
        <secondary>turning off</secondary>
      </indexterm>
      <para>Some items in menus display an icon beside the
item. To turn off this feature, run the following command: </para>
      <screen><userinput>gconftool-2 \
--type bool \
--set /desktop/gnome/interface/menus_have_icons false</userinput></screen>
      <para>Alternatively, users can use the <application>Menus &amp; Toolbars</application>
preference tool to deselect the <guilabel>Show icons in menus</guilabel> option.</para>
    </sect2>
    <sect2 id="performance-6">
      <title>To Reduce CPU Usage by Turning Off the Splash Screen</title>
      <indexterm>
        <primary>splash screen</primary>
        <secondary>ਅਤੇ CPU ਵਰਤੋਂ</secondary>
      </indexterm>
      <para>By default, when users log in to the desktop environment,
a splash screen is displayed. Icons are displayed on the splash screen while
the user logs in. You can turn off the splash screen to reduce CPU usage during
login. </para>
      <para><indexterm><primary>splash screen</primary><secondary>turning off</secondary></indexterm>To turn off the splash screen, run the following command:</para>
      <screen><userinput>gconftool-2 \
--type bool \
--set /apps/gnome-session/options/show_splash_screen false</userinput></screen>
      <para>Alternatively, users can use the <application>Sessions</application>
preference tool to deselect the <guilabel>Show splash screen on login</guilabel>
option.</para>
    </sect2>
    <sect2 id="performance-4">
      <title>To Reduce CPU Usage by Turning Off Panel Animation</title>
      <indexterm>
        <primary>ਪੈਨਲ</primary>
        <secondary>animation, turning off</secondary>
      </indexterm>
      <para>When users show or hide panels, the panels can show or hide
in an animated style. To turn off panel animation, run the following command: </para>
      <screen><userinput>gconftool-2 \
--type bool \
--set /apps/panel/global/enable_animations false</userinput></screen>
      <para>Alternatively, users can use the <application>Panel</application> preference
tool to deselect the <guilabel>Drawer and panel animation</guilabel> option.</para>
    </sect2>
    <sect2 id="performance-7">
      <title>ਫਾਇਲ ਮੈਨੇਜਰ ਦੀ ਪ੍ਰਫਾਰਮੈਂਸ ਸੁਧਾਰਨੀ</title>
      <indexterm>
        <primary>ਨਟੀਲਸ</primary>
        <see>ਫਾਇਲ ਮੈਨੇਜਰ</see>
      </indexterm>
      <para>The <application>Nautilus</application> file manager includes some features
that you can modify to improve performance.</para>
      <sect3 id="performance-9">
        <title>To Modify Performance Preferences</title>
        <indexterm>
          <primary>ਫਾਇਲ ਮੈਨੇਜਰ</primary>
          <secondary>modifying performance
preferences</secondary>
        </indexterm>
        <para>The file manager includes performance-related
preferences. Each performance preference can take one of three values. The
values are described in the following table:</para>
        <informaltable frame="topbot">
          <tgroup cols="2" colsep="0" rowsep="0">
            <colspec colwidth="34.46*"/>
            <colspec colwidth="65.54*"/>
            <thead>
              <row rowsep="1">
                <entry>
                  <para>ਮੁੱਲ</para>
                </entry>
                <entry>
                  <para>ਵੇਰਵਾ</para>
                </entry>
              </row>
            </thead>
            <tbody>
              <row>
                <entry valign="top">
                  <para>
                    <literal>ਹਮੇਸ਼ਾਂ</literal>
                  </para>
                </entry>
                <entry valign="top">
                  <para>Performs the action for both local files, and files on
other file systems.</para>
                </entry>
              </row>
              <row>
                <entry valign="top">
                  <para>
                    <literal>local_only</literal>
                  </para>
                </entry>
                <entry valign="top">
                  <para>Performs the action for local files only. When you
set a performance preference to <literal>local_only</literal>, the CPU usage
is reduced.</para>
                </entry>
              </row>
              <row>
                <entry valign="top">
                  <para>
                    <literal>ਕਦੇ ਨਹੀਂ</literal>
                  </para>
                </entry>
                <entry valign="top">
                  <para>Never performs the action. When you set a performance preference
to never, the CPU usage and the network traffic are reduced.</para>
                </entry>
              </row>
            </tbody>
          </tgroup>
        </informaltable>
        <para>The following table describes the performance preferences for the file
manager. For the fastest performance, set the value of the preferences to <literal>never</literal>.</para>
        <informaltable frame="topbot">
          <tgroup cols="2" colsep="0" rowsep="0">
            <colspec colwidth="43.34*"/>
            <colspec colwidth="56.66*"/>
            <thead>
              <row rowsep="1">
                <entry>
                  <para>ਮੇਰੀ ਪਸੰਦ</para>
                </entry>
                <entry>
                  <para>ਵੇਰਵਾ</para>
                </entry>
              </row>
            </thead>
            <tbody>
              <row>
                <entry valign="top">
                  <para>
                    <literal>show_icon_text</literal>
                  </para>
                </entry>
                <entry valign="top">
                  <para>Specifies when to preview the content of text files
in the icon that represents the file. To never preview the content of text
files, run the following command: </para>
                  <screen><userinput>gconftool-2 \
--type string \
--set /apps/nautilus/preferences/show_icon_text never</userinput></screen>
                  <para>Alternatively, users can perform
the following steps:</para>
                  <orderedlist>
                    <listitem>
                      <para>Choose <menuchoice><guimenu>Edit</guimenu><guimenuitem>Preferences</guimenuitem></menuchoice> from a file manager window, then choose <guilabel>Preview</guilabel>.</para>
                    </listitem>
                    <listitem>
                      <para>Select an option for the <guilabel>Show text in icons</guilabel>
preference.</para>
                    </listitem>
                  </orderedlist>
                </entry>
              </row>
              <row>
                <entry valign="top">
                  <para>
                    <literal>show_directory_item_counts</literal>
                  </para>
                </entry>
                <entry valign="top">
                  <para>Specifies when to show the number of items in folders.
To never show the number of items in folders, run the following command:</para>
                  <screen><userinput>gconftool-2 \
--type string \
--set /apps/nautilus/preferences/show_directory_item_counts never</userinput></screen>
                  <para>Alternatively, users can perform the following steps:</para>
                  <orderedlist>
                    <listitem>
                      <para>Choose <menuchoice><guimenu>Edit</guimenu><guimenuitem>Preferences</guimenuitem></menuchoice> from a file manager window, then choose <guilabel>Preview</guilabel>.</para>
                    </listitem>
                    <listitem>
                      <para>Select an option for the <guilabel>Count number of items</guilabel>
preference.</para>
                    </listitem>
                  </orderedlist>
                </entry>
              </row>
              <row>
                <entry valign="top">
                  <para>
                    <literal>show_image_thumbnails</literal>
                  </para>
                </entry>
                <entry valign="top">
                  <para>Specifies when to show thumbnails of image files.
To never show thumbnails, run the following command:</para>
                  <screen><userinput>gconftool-2 \
--type string \
--set /apps/nautilus/preferences/show_image_thumbnails never</userinput></screen>
                  <para>Alternatively, users can perform the following steps:</para>
                  <orderedlist>
                    <listitem>
                      <para>Choose <menuchoice><guimenu>Edit</guimenu><guimenuitem>Preferences</guimenuitem></menuchoice> from a file manager window, then choose <guilabel>Preview</guilabel>.</para>
                    </listitem>
                    <listitem>
                      <para>Select an option for the <guilabel>Show thumbnails</guilabel>
preference.</para>
                    </listitem>
                  </orderedlist>
                </entry>
              </row>
              <row>
                <entry valign="top">
                  <para>
                    <literal>preview_sound</literal>
                  </para>
                </entry>
                <entry valign="top">
                  <para>Specifies when to preview the content of sound files.
To never preview the content of sound files, run the following command:</para>
                  <screen><userinput>gconftool-2 \
--type string \
--set /apps/nautilus/preferences/preview_sound never</userinput></screen>
                  <para>Alternatively, users can perform the following
steps:</para>
                  <orderedlist>
                    <listitem>
                      <para>Choose <menuchoice><guimenu>Edit</guimenu><guimenuitem>Preferences</guimenuitem></menuchoice> from a file manager window, then choose <guilabel>Preview</guilabel>.</para>
                    </listitem>
                    <listitem>
                      <para>Select an option for the <guilabel>Preview sound files</guilabel>
preference.</para>
                    </listitem>
                  </orderedlist>
                </entry>
              </row>
            </tbody>
          </tgroup>
        </informaltable>
      </sect3>
      <sect3 id="performance-10">
        <title>To Turn Off the Side Pane, Toolbar, and Location Bar</title>
        <indexterm>
          <primary>ਫਾਇਲ ਮੈਨੇਜਰ</primary>
          <secondary>side pane, turning off</secondary>
        </indexterm>
        <para>The file manager includes preferences that enable
you to turn off the side pane and the toolbar. To improve file manager performance,
turn off the side pane and the toolbar.</para>
        <para>To turn off the side pane, run the following command: </para>
        <screen><userinput>gconftool-2 \
--type bool \
--set /apps/nautilus/preferences/start_with_sidebar false</userinput></screen>
        <para><indexterm><primary>file manager</primary><secondary>toolbar, turning
off</secondary></indexterm>To turn off the toolbar, run the following command: </para>
        <screen><userinput>gconftool-2 \
--type bool \
--set /apps/nautilus/preferences/start_with_toolbar false</userinput></screen>
        <para>You can also turn off the location bar. Users can use the <keycombo><keycap>Ctrl</keycap><keycap>L</keycap></keycombo> keyboard shortcut to display a location bar
when required.  </para>
        <para><indexterm><primary>file manager</primary><secondary>location bar, turning
off</secondary></indexterm>To turn off the location bar, run the following
command:</para>
        <screen><userinput>gconftool-2 \
--type bool \
--set /apps/nautilus/preferences/start_with_location_bar false</userinput></screen>
      </sect3>
      <sect3 id="performance-11">
        <title>To Turn Off the Desktop</title>
        <indexterm>
          <primary>ਫਾਇਲ ਮੈਨੇਜਰ</primary>
          <secondary>desktop, turning off</secondary>
        </indexterm>
        <indexterm>
          <primary>ਡਿਸਕਟਾਪ</primary>
          <secondary>turning
off</secondary>
        </indexterm>
        <para>The file manager contains a preference that
enables users to use <application>Nautilus</application> to manage the desktop.
You can disable the desktop to improve performance. However, if you disable
the desktop, you cannot do the following:</para>
        <itemizedlist>
          <listitem>
            <para>Use the file manager to change the pattern or color of the
desktop background. </para>
          </listitem>
          <listitem>
            <para>Use the desktop objects, such as <guilabel>Trash</guilabel>.
The desktop objects are not displayed on the desktop. </para>
          </listitem>
        </itemizedlist>
        <para>To disable the desktop, run the following command: </para>
        <screen><userinput>gconftool-2 \
--type bool \
--set /apps/nautilus/preferences/show_desktop false</userinput></screen>
      </sect3>
    </sect2>
  </sect1>
  <sect1 id="performance-12">
    <title>Reducing X Window System Network Traffic</title>
    <indexterm>
      <primary>ਘਟਾਉਣੀ</primary>
      <secondary>X Window System network traffic</secondary>
    </indexterm>
    <indexterm>
      <primary>X Window System network traffic,
reducing</primary>
    </indexterm>
    <indexterm>
      <primary>ਨੈਟਵਰਕ ਟਰੈਫਿਕ, ਘਟਾਉਣਾ</primary>
    </indexterm>
    <para>This section describes preferences that you can
set to reduce X Window System network traffic on the GNOME Desktop. </para>
    <sect2 id="performance-14">
      <title>To Use Theme Options Which Create Less Network Traffic</title>
      <indexterm>
        <primary>ਸਰੂਪ</primary>
        <secondary>window frame options</secondary>
        <tertiary>ਅਤੇ ਨੈਟਵਰਕ ਟਰੈਫਿਕ</tertiary>
      </indexterm>
      <indexterm>
        <primary>ਸਰੂਪ</primary>
        <secondary>ਅਤੇ ਨੈਟਵਰਕ ਟਰੈਫਿਕ</secondary>
      </indexterm>
      <para>Remote
display protocols do not transfer every pixel in a block of pixels if all
pixels in the block are the same color.</para>
      <para>To reduce X Window System network traffic, use a window frame theme
option that uses solid colors. That is, use one of the following window frame
options:</para>
      <itemizedlist>
        <listitem>
          <para>ਅਟਲਾਂਟਾ</para>
        </listitem>
        <listitem>
          <para>ਇਸਕੋ</para>
        </listitem>
      </itemizedlist>
      <para>For information on how to change theme options, see <xref linkend="performance-3"/>.</para>
    </sect2>
    <sect2 id="performance-15">
      <title>To Reduce Network Traffic by Turning Off Display of Icons in Menus</title>
      <indexterm>
        <primary>menu icons</primary>
        <secondary>ਅਤੇ ਨੈਟਵਰਕ ਟਰੈਫਿਕ</secondary>
      </indexterm>
      <para>Some items in menus display an icon beside the item. If
the icon is located on another file system, this feature can increase X Window
System network traffic. This feature can also increase X Window System network
traffic if the panels are displayed on a remote host. </para>
      <para>For information on how to turn off this feature, see <xref linkend="performance-2"/>.</para>
    </sect2>
  </sect1>
  <sect1 id="performance-17">
    <title>Reducing Color Usage and Improving Display Quality</title>
    <indexterm>
      <primary>ਘਟਾਉਣੀ</primary>
      <secondary>ਰੰਗ ਵਰਤੋਂ</secondary>
    </indexterm>
    <indexterm>
      <primary>ਰੰਗ ਵਰਤੋਂ</primary>
      <secondary>ਘਟਾਉਣੀ</secondary>
    </indexterm>
    <indexterm>
      <primary>display quality, improving</primary>
    </indexterm>
    <para>Many modern computer systems support 24-bit color, that is, 16,777,216 colors.
However, many users still use systems that support 8-bit color, that is, 256
colors. </para>
    <para>The GNOME Desktop uses the <firstterm>websafe color palette</firstterm>.
This palette is a general-purpose palette of 216 colors, which is designed
to optimize the use of color on systems that support 8-bit color. However,
some visual components of the GNOME Desktop are designed for systems that
support 24-bit color.</para>
    <para>The following display problems might occur on systems that support 8-bit
color:</para>
    <itemizedlist>
      <listitem>
        <para>Windows, icons, and background images might appear grainy.
 Many themes, background images, and icons use colors that are not in the
websafe color palette. The colors that are not in the palette are replaced
with the nearest equivalent or a dithered approximation. This use of replacement
colors causes the grainy appearance.</para>
      </listitem>
      <listitem>
        <para>Applications that do not use the websafe color palette have
less colors available. Color errors might occur. Some colors might not appear
in the user interface of the application. Some applications might crash if
the application cannot allocate colors.</para>
      </listitem>
      <listitem>
        <para>Color flashing might occur when users switch between applications
that use the websafe color palette, and applications that do not use this
palette. The applications that do not use the websafe color palette might
use a custom colormap. When the custom colormap is used, other visual components
might lose colors, then become unviewable.</para>
      </listitem>
    </itemizedlist>
    <para>The following sections describe how to optimize the appearance of the
GNOME Desktop for systems that support 8-bit color. </para>
    <sect2 id="performance-20">
      <title>To Use Theme Options That Use the Websafe Color Palette</title>
      <indexterm>
        <primary>ਸਰੂਪ</primary>
        <secondary>window frame options</secondary>
        <tertiary>and color usage</tertiary>
      </indexterm>
      <indexterm>
        <primary>ਸਰੂਪ</primary>
        <secondary>and color usage</secondary>
      </indexterm>
      <para>Some window
frame theme options use colors that are in the websafe color palette. Bright
and Esco use colors from the websafe color palette. Bright and Esco do not
have the grainy appearance of other window frame options on 8-bit color displays.
Use Bright or Esco for the best color display on 8-bit visual modes. </para>
      <para>For information on how to change theme options, see <xref linkend="performance-3"/>.</para>
    </sect2>
    <sect2 id="performance-21">
      <title>To Reduce Color Usage by Turning Off Display of Icons in Menus</title>
      <indexterm>
        <primary>menu icons</primary>
        <secondary>and color usage</secondary>
      </indexterm>
      <para>Some items in menus display an icon beside the item. If
the icon contains colors that are not in the websafe color palette, this feature
can increase the number of colors used.</para>
      <para>For information on how to turn off this feature, see <xref linkend="performance-2"/>.</para>
    </sect2>
    <sect2 id="performance-18">
      <title>To Reduce Color Usage by Turning Off the Splash Screen</title>
      <indexterm>
        <primary>splash screen</primary>
        <secondary>and color usage</secondary>
      </indexterm>
      <para>You can turn off the splash screen to make more colors available
for the GNOME Desktop and for applications.</para>
      <para>For information on how to turn off the splash screen, see <xref linkend="performance-6"/>.</para>
    </sect2>
    <sect2 id="performance-19">
      <title>To Reduce Color Usage by Using a Solid Color for the Background</title>
      <indexterm>
        <primary>ਬੈਕਗਰਾਊਂਡ</primary>
        <secondary>using solid color</secondary>
      </indexterm>
      <para>Use a solid color for the desktop background. Use of a solid
color reduces the number of colors used by the GNOME Desktop. </para>
      <para>To set a solid color for the background, run the following commands: </para>
      <screen><userinput>gconftool-2 \
--type string \
--set /desktop/gnome/background/picture_options none</userinput></screen>
      <screen><userinput>gconftool-2 \
--type string \
--set /desktop/gnome/background/color_shading_type solid</userinput></screen>
      <screen><userinput>gconftool-2 \
--type string \
--set /desktop/gnome/background/primary_color #<replaceable>hexadecimal-color</replaceable></userinput></screen>
      <para>Alternatively, users can use the <application>Background</application>
preference tool to choose a solid color for the background.</para>
    </sect2>
  </sect1>
</chapter>

<chapter id="lockdown-0">
  <title>Disabling GNOME Desktop Features</title>
  <highlights>
    <para>This chapter describes how to disable particular features
of the GNOME Desktop.</para>
  </highlights>
  <sect1 id="lockdown-1">
    <title>Introduction to Disabling GNOME Desktop Features</title>
    <indexterm>
      <primary>disabling features</primary>
      <secondary>ਜਾਣ ਪਛਾਣ</secondary>
    </indexterm>
    <indexterm>
      <primary>lockdown</primary>
      <see>disabling features</see>
    </indexterm>
    <para>The GNOME Desktop includes features that you can use
to restrict access to certain functions in the GNOME Desktop. The disable
features are useful in various situations where you want to restrict the actions
that users can perform on a computer. For example, you might want to prevent
command line operations on a computer that is for public use at a trade show.
The disable features are also known as <emphasis>lockdown</emphasis> features.</para>
    <para>You set <application>GConf</application> keys to disable features. For
information about how to set <application>GConf</application> keys, see <xref linkend="gconf-0"/>. You can also use the <application>Configuration Editor</application> application to set <application>GConf</application> keys in
a user configuration source. For more information about the <application>Configuration Editor</application> application, see the <citetitle>GConf Editor
Manual</citetitle>.</para>
  </sect1>
  <sect1 id="lockdown-manual">
    <title>Locking Down Setting Manually</title>
    <sect2 id="lockdown-2">
      <title>To Disable Lock Screen and Log Out</title>
      <indexterm>
        <primary>disabling features</primary>
        <secondary>lock screen</secondary>
      </indexterm>
      <indexterm>
        <primary>disabling features</primary>
        <secondary>log
  out</secondary>
      </indexterm>
      <para>To disable the lock screen and log out functions, set the <literal>/apps/panel/global/disable_lock_screen</literal> key and the <literal>/apps/panel/global/disable_log_out</literal> key to <literal>true</literal>.</para>
      <para>When you disable
  the lock screen and log out functions, the following items are removed from
  the panels:</para>
      <itemizedlist>
        <listitem>
          <para><guimenuitem>Lock Screen</guimenuitem> and <guimenuitem>Log
  Out <replaceable>user</replaceable></guimenuitem> menu items from the <guimenu>Main Menu</guimenu>.</para>
        </listitem>
        <listitem>
          <para><guimenuitem>Lock</guimenuitem> and <guimenuitem>Log Out</guimenuitem>
  menu items from the <menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>Actions</guimenuitem></menuchoice> menu. To open this menu, right-click on
  a vacant space on a panel, then choose <menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>Actions</guimenuitem></menuchoice>.</para>
        </listitem>
        <listitem>
          <para><guimenuitem>Lock Screen</guimenuitem> and <guimenuitem>Log
  Out <replaceable>user</replaceable></guimenuitem> menu items from the <guimenu>Actions</guimenu> menu in the <application>Menu Bar</application> applet.</para>
        </listitem>
      </itemizedlist>
      <para>Also, any <guibutton>Lock Screen</guibutton> buttons and <guibutton>Log Out</guibutton> buttons on panels are disabled.</para>
    </sect2>
    <sect2 id="lockdown-12">
      <title>To Disable Command Line Operations</title>
      <indexterm>
        <primary>disabling features</primary>
        <secondary>command line</secondary>
      </indexterm>
      <para>To disable operations from a command line, set the <literal>/desktop/gnome/lockdown/disable_command_line</literal> key to <literal>true</literal>.</para>
      <para>When you disable command line operations, the following
  changes occur in the user interface:</para>
      <itemizedlist>
        <listitem>
          <para>The <guimenuitem>Run Application</guimenuitem> menu item is
  removed from the following menus:</para>
          <itemizedlist>
            <listitem>
              <para>
                <guimenu>Main Menu</guimenu>
              </para>
            </listitem>
            <listitem>
              <para><guimenu>Actions</guimenu> submenu in the <guimenu>Add to
  Panel</guimenu> menu</para>
            </listitem>
            <listitem>
              <para><guimenu>Actions</guimenu> menu in the <application>Menu Bar</application> applet</para>
            </listitem>
          </itemizedlist>
        </listitem>
        <listitem>
          <para>Any <guibutton>Run</guibutton> buttons on panels are disabled.</para>
        </listitem>
      </itemizedlist>
      <para>To disable command line operations, you must also remove menu items
  that start terminal applications. For example, you might want to remove menu
  items that contain the following commands from the menus:</para>
      <itemizedlist>
        <listitem>
          <para><application>GNOME Terminal</application> command, that is <command>/usr/bin/gnome-terminal</command></para>
        </listitem>
        <listitem>
          <para>
            <command>/usr/bin/xterm</command>
          </para>
        </listitem>
        <listitem>
          <para>
            <command>/usr/bin/setterm</command>
          </para>
        </listitem>
      </itemizedlist>
      <para>The items are removed from the following menus:</para>
      <itemizedlist>
        <listitem>
          <para>
            <guimenu>Main Menu</guimenu>
          </para>
        </listitem>
        <listitem>
          <para>
            <menuchoice>
              <guimenu>Add to Panel</guimenu>
              <guimenuitem>Launcher from menu</guimenuitem>
            </menuchoice>
          </para>
        </listitem>
      </itemizedlist>
      <para>To disable command line operations, you must also disable the <application>Command Line</application> applet. To disable the <application>Command Line</application> applet, add the applet to the <literal>/apps/panel/global/disabled_applets</literal> key. When you disable the <application>Command Line</application>
  applet, the <application>Command Line</application> applet is removed from
  the <guimenu>Main Menu</guimenu> and the <menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>Utility</guimenuitem></menuchoice> menu. </para>
    </sect2>
    <sect2 id="lockdown-11">
      <title>To Disable Panel Configuration</title>
      <indexterm>
        <primary>disabling features</primary>
        <secondary>panel configuration</secondary>
      </indexterm>
      <para>To disable panel configuration, set the <literal>/apps/panel/global/locked_down</literal> key to <literal>true</literal>.</para>
      <para>When you disable
  panel configuration, the following changes occur in the user interface:</para>
      <itemizedlist>
        <listitem>
          <para>The following items are removed from the panel popup menu,
  and from the drawer popup menu:</para>
          <itemizedlist>
            <listitem>
              <para>
                <guimenuitem>Add to Panel</guimenuitem>
              </para>
            </listitem>
            <listitem>
              <para>
                <guimenuitem>Delete This Panel</guimenuitem>
              </para>
            </listitem>
            <listitem>
              <para>
                <guimenuitem>ਵਿਸ਼ੇਸ਼ਤਾ</guimenuitem>
              </para>
            </listitem>
            <listitem>
              <para>
                <guimenuitem>New Panel</guimenuitem>
              </para>
            </listitem>
          </itemizedlist>
        </listitem>
        <listitem>
          <para>The launcher popup menu is disabled.</para>
        </listitem>
        <listitem>
          <para>The following items are removed from the applet popup menu:</para>
          <itemizedlist>
            <listitem>
              <para>
                <guimenuitem>Remove From Panel</guimenuitem>
              </para>
            </listitem>
            <listitem>
              <para>
                <guimenuitem>ਲਾਕ</guimenuitem>
              </para>
            </listitem>
            <listitem>
              <para>
                <guimenuitem>ਏਧਰ-ਓਧਰ</guimenuitem>
              </para>
            </listitem>
          </itemizedlist>
        </listitem>
        <listitem>
          <para>The <guimenu>Main Menu</guimenu> popup menu is disabled. </para>
        </listitem>
        <listitem>
          <para>The launcher drag feature is disabled, so that users cannot
  drag launchers to, or from, panels.</para>
        </listitem>
        <listitem>
          <para>The panel drag feature is disabled, so that users cannot drag
  panels to new locations.</para>
        </listitem>
      </itemizedlist>
    </sect2>
  </sect1>
  <sect1 id="lockdown">
    <title>Lockdown Editor</title>
  
    <para>As of GNOME 2.14, a graphical lockdown editor called
    <application>Pessulus</application> has been included to ease the task of
    disabling desktop settings.</para>
  
    <sect2 id="lockdown-start">
      <title>ਸ਼ੁਰੂ ਕਰੋ</title>
  
      <para>To run the lockdown editor:</para>
  
      <itemizedlist>
        <listitem>
          <para>Click the <menuchoice>
              <guimenu>System</guimenu>
  
              <guisubmenu>Administration</guisubmenu>
  
              <guimenuitem>Lockdown Editor</guimenuitem>
            </menuchoice></para>
        </listitem>
  
        <listitem>
          <para>Run the <command>pessulus</command> command in a terminal
          window.</para>
        </listitem>
      </itemizedlist>
  
      <para>You will see a window with several different tabs. Each of the tabs
      represents a different category of desktop settings that can be disabled.
      In the next section, we will discuss each category and provide a brief
      description for each setting that can be disabled.</para>
    </sect2>
  
    <sect2 id="lockdown-disabling">
      <title>Disabling Features</title>
  
      <para>To disable a setting, make sure the checkbox next to the setting's
      description is checked. Most settings will take effect immediately,
      however some settings will require that the application be restarted in
      order to take effect.</para>
  
      <para>When <application>pessulus</application> starts, it will try to get
      a connection to the GConf mandatory configuration source. This address for
      this configuration source is
      <literal>xml:merged:<replaceable>$prefix</replaceable>/etc/gconf/gconf.xml.mandatory</literal>.
      If the user that is running <application>pessulus</application> has access
      to this configuration source, then a lock icon will be displayed next to
      the checkbox for each setting. Clicking the lock will toggle whether or
      not the setting is mandatory. If the setting is mandatory, then regular
      users will not be able to change or override the setting. If the user
      running pessulus does not have access to the mandatory configuration
      source, then the lock icon will not appear. In this case, all disabled
      settings will simply be stored in the user's default configuration source
      and can be modified later using other tools such as
      <application>gconf-editor</application> or
      <application>gconftool-2</application>. For more information on GConf and
      mandatory configuration sources, see <xref linkend="gconf-26"/>.</para>
  
      <para>The following subsections will give a brief description of the
      settings that can be disabled for each category.</para>
  
      <note>
        <para>Depending on the applications you have installed, you may see
        fewer categories than those described in this section.</para>
      </note>
  
      <sect3 id="lockdown-disabling-general">
        <title>ਸਧਾਰਨ</title>
  
        <variablelist>
          <varlistentry>
            <term>Disable command line</term>
  
            <listitem>
              <para>Prevent the user from accessing the terminal or specifying a
              command line to be executed. For example, this would disable
              access to the panel's "Run Application" dialog.</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>Disable printing</term>
  
            <listitem>
              <para>Prevent the user from printing. For example, this would
              disable access to all applications' "Print" dialogs.</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>Disable print setup</term>
  
            <listitem>
              <para>Prevent the user from modifying print settings. For example,
              this would disable access to all applications' "Print Setup"
              dialogs.</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>Disable save to disk</term>
  
            <listitem>
              <para> Prevent the user from saving files to disk. For example,
              this would disable access to all applications' "Save as"
              dialogs.</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>
  
      <sect3 id="lockdown-disabling-panel">
        <title>ਪੈਨਲ</title>
  
        <variablelist>
          <varlistentry>
            <term>Lock down the panels</term>
  
            <listitem>
              <para>ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਪੈਨਲ ਕੋਈ ਵੀ ਤਬਦੀਲੀ ਜੋ ਕਿ ਪੈਨਲ ਦੀ ਸੰਰਚਨਾ ਨਾਲ ਸੰਬੰਧ ਹੋਏਗੀ ਨੂੰ ਤਬਦੀਲ ਨਹੀ ਕਰਨ ਦੀ ਇਜ਼ਾਜਤ ਨਹੀ ਦੇਵੇਗਾ। ਵੱਖਰੇ ਐਪਲਿਟਾਂ ਨੂੰ ਵੱਖਰੇ ਤੌਰ ਤੇ ਤਾਲਾਬੰਦ ਕਰਨਾ ਪਵੇਗਾ। ਲਾਗੂ ਕਰਨ ਲਈ ਪੈਨਲ ਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰਨ ਪਵੇਗਾ।</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>Disable force quit</term>
  
            <listitem>
              <para>ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਪੈਨਲ ਵਰਤਣ ਵਾਲੇ ਨੂੰ ਕੋਈ ਕਾਰਜ ਨੂੰ ਧੱਕੇ ਨਾਲ ਬੰਦ ਕਰਨ ਵਾਲਾ ਬਟਨ ਵਰਤ ਕੇ ਬੰਦ ਕਰਨ ਦੀ ਇਜ਼ਾਜਤ ਨਹੀ ਦੇਵੇਗਾ।</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>Disable lock screen</term>
  
            <listitem>
              <para>ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਪੈਨਲ ਵਰਤਣ ਵਾਲੇ ਨੂੰ ਪਰਦੇ ਨੂੰ ਸੂਚੀ ਇੰਦਰਾਜ਼ ਰਾਹੀ ਜਿੰਦਰਾ ਲਗਾਉਣ ਨਹੀਂ ਦੇਵੇਗਾ।</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>Disable log out</term>
  
            <listitem>
              <para>ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਪੈਨਲ ਵਰਤਣ ਵਾਲੇ ਨੂੰ ਸੂਚੀ ਇੰਦਰਾਜ਼ ਰਾਹੀ ਬਾਹਰੀ-ਦਰ (ਲਾਗਆਉਟ) ਰਾਹੀਂ ਬਾਹਰ ਜਾਣ ਦੀ ਇਜ਼ਾਜਤ ਨਹੀ ਦੇਵੇਗਾ।</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>
  
      <sect3 id="lockdown-disabling-browser">
        <title>ਏਪੀਫਨੀ ਵੈੱਬ ਬਰਾਊਜ਼ਰ</title>
  
        <variablelist>
          <varlistentry>
            <term>Disable quit</term>
  
            <listitem>
              <para>User is not allowed to close Epiphany.</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>Disable arbitrary URL</term>
  
            <listitem>
              <para>Disable the user's ability to type in a URL to
              Epiphany.</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>Disable bookmark editing</term>
  
            <listitem>
              <para>Disable the user's ability to add or edit bookmarks.</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>Disable history</term>
  
            <listitem>
              <para>Disable all historical information by disabling back and
              forward navigation, not allowing the history dialog and hiding the
              most used bookmarks list.</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>Disable javascript chrome</term>
  
            <listitem>
              <para>Disable JavaScript's control over window chrome.</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>Disable toolbar editing</term>
  
            <listitem>
              <para>Disable the user's ability to edit toolbars.</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>Force fullscreen mode</term>
  
            <listitem>
              <para>Locks Epiphany in fullscreen mode.</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>Hide menubar</term>
  
            <listitem>
              <para>Hide the menubar by default. The menubar can still be
              accessed using F10.</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>Disable unsafe protocols</term>
  
            <listitem>
              <para>Disables loading of content from unsafe protocols. Safe
              protocols are http and https.</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>
  
      <sect3 id="lockdown-disabling-screensaver">
        <title>GNOME Screensaver</title>
  
        <variablelist>
          <varlistentry>
            <term>Lock on activation</term>
  
            <listitem>
              <para>Set this to TRUE to lock the screen when the screensaver
              goes active.</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>Allow log out</term>
  
            <listitem>
              <para>Set this to TRUE to offer an option in unlock dialog to
              logging out after a delay. The Delay is specified in the
              "logout_delay" key.</para>
            </listitem>
          </varlistentry>
  
          <varlistentry>
            <term>Allow user switching</term>
  
            <listitem>
              <para>Set this to TRUE to offer an option in the unlock dialog to
              switch to a different user account.</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>
    </sect2>
  </sect1>
</chapter>

  
  <appendix id="appendixa-0">
    <title>Hidden Directories</title>
    <highlights>
      <para>This appendix describes the hidden directories that the
GNOME Desktop adds to the home directories of users. </para>
    </highlights>
    <indexterm>
      <primary>hidden directories</primary>
    </indexterm>
    <indexterm>
      <primary>.* directories</primary>
      <see>hidden directories</see>
    </indexterm>
    <para>A hidden
directory is a directory that has a name that begins with a period (.). <xref linkend="appendixa-TBL-2"/> describes the hidden directories that the GNOME
Desktop adds to the home directories of users. </para>
    <table frame="topbot" id="appendixa-TBL-2">
      <title>Hidden Directories in User Home Directories</title>
      <tgroup cols="2" colsep="0" rowsep="0">
        <colspec colname="colspec0" colwidth="33*"/>
        <colspec colname="colspec1" colwidth="67*"/>
        <thead>
          <row rowsep="1">
            <entry>
              <para>ਡਾਇਰੈਕਟਰੀ</para>
            </entry>
            <entry>
              <para>ਵੇਰਵਾ</para>
            </entry>
          </row>
        </thead>
        <tbody>
          <row>
            <entry valign="top">
              <para>
                <filename>.config</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>This is the default location for the environment variable <envar>XDG_CONFIG_HOME</envar>, 
if it is not set.  User defined menus can be created at <filename>menus/applications.menu</filename>.</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.fonts</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>Contains fonts specific to a particular user.  When a user installs a font by dragging it
to the <filename>fonts:///</filename> URI in nautilus, it is copied to this location.</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.esd_auth</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>Contains the authentication cookie for the GNOME
sound daemon. The GNOME sound daemon is the Enlightened Sound Daemon (ESD).</para>
<para><emphasis>NOTE: This is a file, not a directory.</emphasis></para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.gconf</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>Contains the <application>GConf</application> configuration
source for the user. When the user sets a preference, the new preference information
is added to this location.</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.gconfd</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>Contains the following <application>GConf</application>
daemon details:</para>
              <itemizedlist>
                <listitem>
                  <para>Configuration information.</para>
                </listitem>
                <listitem>
                  <para>Lock information for objects that are referenced by an  <firstterm>Interoperable Object Reference (IOR)</firstterm>.</para>
                </listitem>
                <listitem>
                  <para>State information for objects that are referenced by an  IOR.</para>
                </listitem>
              </itemizedlist>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.gnome</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>Contains user-specific application data that is
not stored in the <application>GConf</application> repository. </para>
<para><emphasis>NOTE: this directory is deprecated and is only used by 
GNOME 1.x applications.</emphasis></para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.gnome2</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>Contains user-specific application data that is
not stored in the <application>GConf</application> repository. For example,
this directory contains the following:</para>
              <itemizedlist>
                <listitem>
                  <para>Keyboard shortcut information.</para>
                </listitem>
                <listitem>
                  <para>Window location information.</para>
                </listitem>
                <listitem>
                  <para>Desktop entry files for panel launchers.</para>
                </listitem>
              </itemizedlist>
              <para>This directory may also contain sub-directories that store
application specific data.</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.gnome2-private</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>Ignore this directory. This directory has no function
at the time of publication of this guide.</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.local/share</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>This is the default location for the environment variable <envar>XDG_DATA_HOME</envar>, 
if it is not set.  User defined desktop entries can be created in the subdirectory <filename>applications</filename>. 
User defined mime types can be created in <filename>mime/packages/Overrides.xml</filename>.</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.metacity</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>Contains session data for the <application>Metacity</application> window manager.</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.nautilus</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>Contains file manager data that is specific to the
user. For example, this directory can contain the following: </para>
              <itemizedlist>
                <listitem>
                  <para>Metadata for the directories with which the user works.</para>
                </listitem>
<!--Removed Nautilus themes.-->
                <listitem>
                  <para><application>Nautilus</application> emblems that the user
adds.</para>
                </listitem>
                <listitem>
                  <para><application>Nautilus</application> desktop images.</para>
                </listitem>
              </itemizedlist>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.themes</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>Contains controls theme options, window frame theme
options, and icons theme options that the user adds. The user can add themes
from the <application>Theme</application> preference tool.</para>
            </entry>
          </row>
          <row>
            <entry valign="top">
              <para>
                <filename>.thumbnails</filename>
              </para>
            </entry>
            <entry valign="top">
              <para>Contains image thumbnails for the user. The image
thumbnails are used in the file manager. The file manager contains a preference
that the user can select to stop generation of thumbnail images.</para>
            </entry>
          </row>
        </tbody>
      </tgroup>
    </table>
  </appendix>

  
  <appendix id="appendixb-0">
    <title>Security Note on Configuring SMB Printers</title>
    <highlights>
      <para>This appendix provides a security note related to the configuration
of printers on Windows network shares.</para>
    </highlights>
    <indexterm>
      <primary>ਸਾਂਬਾ</primary>
      <see>SMB</see>
    </indexterm>
    <indexterm>
      <primary>Windows network shares</primary>
      <see>SMB</see>
    </indexterm>
    <indexterm>
      <primary>SMB</primary>
      <secondary>configuring printers</secondary>
    </indexterm>
    <para>Windows network shares are also referred to as Samba or <firstterm>SMB</firstterm>
shares. When you configure a printer on an SMB share, you must enter a username
and password for the print queue. </para>
    <para>The username and password for the print queue is stored as unencrypted
text in the file <filename>/etc/cups/printers.conf</filename>.
This file has read-only permissions for users with root privileges, so any
user with root privileges can read the username and password for the print
queue. </para>
    <para>To reduce the impact of possible security violations, ensure that the
username and password required to access the print queue is used only for
the print queue.  This ensures that any possible security violation is restricted
to unauthorized use of the print queue.</para>
  </appendix>

<glossary id="glossary-1">
  <title>ਸ਼ਬਦਾਵਲੀ</title>
  <!-- these anchors are to maintain backwards compatibility for 
       obsolete glossary entries -->

  <!-- file content sniffer -->
  <anchor id="glossary-23"/>
  <!-- MIME information file -->
  <anchor id="glossary-20"/>
  <!-- MIME keys file -->
  <anchor id="glossary-21"/>
  <!-- MIME type registry -->
  <anchor id="glossary-22"/>
  <!-- pattern mask -->
  <anchor id="glossary-25"/>
  <!-- vfolder -->
  <anchor id="glossary-9"/>
  <!-- vfolder information file -->
  <anchor id="glossary-10"/>

  <glossentry id="glossary-13">
    <glossterm><filename>.desktop</filename> file</glossterm>
    <glosssee otherterm="glossary-11"/>
  </glossentry>
  <glossentry id="glossary-14">
    <glossterm><filename>.directory</filename> file</glossterm>
    <glosssee otherterm="glossary-12"/>
  </glossentry>
  <glossentry id="glossary-32">
    <glossterm><filename>.omf</filename> file</glossterm>
    <glosssee otherterm="glossary-31"/>
  </glossentry>
  <glossentry id="glossary-18">
    <glossterm>application registry</glossterm>
    <glossdef>
      <para>The application registry is a collection of desktop entry
files which register applications. The location of the application registry
for the GNOME Desktop is <filename>$XDG_DATA_DIRS:$XDG_DATA_HOME/applications/</filename>.</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-11">
    <glossterm>desktop entry file</glossterm>
    <glossdef>
      <para>A data file that provides information about an item in a menu.
The desktop entry file specifies the details for the item such as a name,
a command to run, an icon, and so on. Desktop entry files have a <filename>.desktop</filename> file extension.</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-12">
    <glossterm>directory entry file</glossterm>
    <glossdef>
      <para>A data file that provides information about a menu. The directory
entry file specifies details such as a name for the menu, a tooltip for the
menu, and an icon to represent the menu. Directory entry files have a <filename>.directory</filename> file extension.</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-5">
    <glossterm>GConf configuration source</glossterm>
    <glossdef>
      <para>A storage location in the <application>GConf</application>
repository. For example, <literal>xml:readonly:/etc/gconf/gconf.xml.defaults</literal>.</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-2">
    <glossterm>GConf preference key</glossterm>
    <glossdef>
      <para>An element in the <application>GConf</application> repository
that corresponds to an application preference. For example, the <literal>/apps/gnome-session/options/show_splash_screen</literal> key corresponds to
the <guilabel>Show splash screen on login</guilabel> option in the <application>Sessions</application> preference tool.</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-6">
    <glossterm>GConf path file</glossterm>
    <glossdef>
      <para>A file that lists the GConf configuration sources, and the
order in which to search the sources.</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-3">
    <glossterm>GConf schema</glossterm>
    <glossdef>
      <para>A collective term for a schema key and a schema object.</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-4">
    <glossterm>GConf schema definition file</glossterm>
    <glossdef>
      <para>A <application>GConf</application> schema definition file
lists the keys in a particular application, and defines the characteristics
of the keys. <application>GConf</application> schemas are generated from schema
definition files. Schema definition files have a <filename>.schemas</filename>
file extension.</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-7">
    <glossterm>GConf schema key</glossterm>
    <glossdef>
      <para>A key that stores a schema object for a preference key. For
example, <literal>/schemas/desktop/gnome/interface/font_name</literal> is
a schema key for the <literal>/desktop/gnome/interface/font_name</literal>
preference key.</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-8">
    <glossterm>GConf schema object</glossterm>
    <glossdef>
      <para>An element in a configuration source that contains information
about a preference key. The schema object contains information such as a default
value for the preference key, and documentation on the preference key. </para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-glob-pattern">
    <glossterm>glob pattern</glossterm>
    <glossdef>
      <para>A glob pattern is used to match a file name by using special
characters such as <literal>*</literal> and <literal>?</literal>.  The MIME
system uses glob patterns to assign MIME types based upon filenames and often,
file extensions.</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-26">
    <glossterm>Interoperable Object Reference</glossterm>
    <glossdef>
      <para>An Interoperable Object Reference (IOR) is a string reference
to a  CORBA object. An IOR encodes a hostname and port to which messages can
be sent to control the object. The IOR also contains an object key to identify
the object.</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-magic-rule">
    <glossterm>magic rule</glossterm>
    <glossdef>
      <para>A magic rule defines a file's MIME type by specifying 
text or binary data to search for at the beginning of the file.  Offsets to look for
this data are defined in a magic rule.</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-menu-def">
    <glossterm>ਮੇਨੂ ਪਰਿਭਾਸ਼ਾ ਫਾਇਲਾਂ</glossterm>
    <glossdef>
      <para>Menu definition files define the hierarchy of menus that are used in the 
GNOME menu bar.</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-27">
    <glossterm>MIME</glossterm>
    <glossdef>
      <para>Multipurpose Internet Mail Extension.</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-mime-source-xml">
    <glossterm>MIME source XML file</glossterm>
    <glossdef>
      <para>A MIME source XML file defines how MIME types are resolved for different kinds
of files.  There are three ways in which this can be done: using file extensions (glob patterns),
using magic rules and using XML namespaces.  MIME source XML files are located
in the <filename>$XDG_DATA_DIRS:$XDG_DATA_HOME/mime/packages</filename> directory.</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-16">
    <glossterm>MIME ਕਿਸਮ</glossterm>
    <glossdef>
      <para>A MIME type identifies the format of a file. The MIME type
enables applications to read the file. For example, an email application can
use the <literal>image/png</literal> MIME type to detect that a Portable Networks
Graphic (PNG) file is attached to an email. </para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-mime-type-database">
    <glossterm>MIME type database</glossterm>
    <glossdef>
      <para>The MIME type database is a collection of files
which register MIME types for the desktop environment.  The location of
the MIME type database is the directory <filename>$XDG_DATA_DIRS:$XDG_DATA_HOME/mime</filename>.
</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-31">
    <glossterm>OMF file</glossterm>
    <glossdef>
      <para>Open Source Metadata Framework file. This is a file that is
associated with the XML file for a manual. The OMF file contains information
about the manual that is used by the Help browser. OMF files have a <filename>.omf</filename> file extension.</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-33">
    <glossterm>PAM</glossterm>
    <glossdef>
      <para>Pluggable Authentication Modules.</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-28">
    <glossterm>screensaver</glossterm>
    <glossdef>
      <para>A screensaver is an application that replaces the image on
a screen when the screen is not in use. The screensaver application for the
GNOME Desktop is <application>XScreenSaver</application>. </para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-29">
    <glossterm>screensaver display</glossterm>
    <glossdef>
      <para>A screensaver display is an application that displays images
on the screen of the user when the screen is not in use. </para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-34">
    <glossterm>UDP</glossterm>
    <glossdef>
      <para>User Datagram Protocol.</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-15">
    <glossterm>Uniform Resource Identifier</glossterm>
    <glossdef>
      <para>A Uniform Resource Identifier (URI) is a string that identifies
a particular location in a file system or on the web. For example, the address
of a web page is a URI.</para>
    </glossdef>
  </glossentry>
  <glossentry id="glossary-24">
    <glossterm>websafe color palette</glossterm>
    <glossdef>
      <para>The websafe color palette is a general-purpose palette of
216 colors. The websafe color palette is designed to optimize the use of color
on systems that support 8-bit color. The websafe color palette is also called
the <emphasis>Netscape color palette</emphasis> and the <emphasis>Netscape
color cube</emphasis>.</para>
    </glossdef>
  </glossentry>
</glossary>


<!-- If generating PDFs and if you want an index, then uncomment <index/> -->
<!-- <index/> -->

</book>
