svn commit: r42828 - head/en_US.ISO8859-1/books/handbook/x11
Dru Lavigne
dru at FreeBSD.org
Fri Oct 4 17:54:01 UTC 2013
Author: dru
Date: Fri Oct 4 17:54:01 2013
New Revision: 42828
URL: http://svnweb.freebsd.org/changeset/doc/42828
Log:
This patch does the following:
- renames this section to "Terminology"
- formats it as individual definitions rather than as individual subsections; this makes the chapter
less deep heading wise and matches the style used in other sections such as http://www.freebsd.org/
doc/en_US.ISO8859-1/books/handbook/users-introduction.html
- separates window manager and desktop environment
- tightens up the wording
Once edits are complete on this chapter, a separate whitespace fix will make igor happy.
Approved by: gjb (mentor)
Modified:
head/en_US.ISO8859-1/books/handbook/x11/chapter.xml
Modified: head/en_US.ISO8859-1/books/handbook/x11/chapter.xml
==============================================================================
--- head/en_US.ISO8859-1/books/handbook/x11/chapter.xml Fri Oct 4 17:29:34 2013 (r42827)
+++ head/en_US.ISO8859-1/books/handbook/x11/chapter.xml Fri Oct 4 17:54:01 2013 (r42828)
@@ -76,50 +76,34 @@
</sect1>
<sect1 id="x-understanding">
- <title>Understanding X</title>
-
- <para>Using X for the first time can be somewhat of a shock to
- someone familiar with other graphical environments, such as
- µsoft.windows; or &macos;.</para>
+ <title>Terminology</title>
<para>While it is not necessary to understand all of the details
- of various X components and how they interact, some basic
- knowledge makes it possible to take advantage of X's
- strengths.</para>
-
- <sect2>
- <title>Why X?</title>
-
- <para>X is not the first window system written for &unix;, but
- it is the most popular of them. X's original development team
- had worked on another window system prior to writing X. That
- system's name was <quote>W</quote> (for
- <quote>Window</quote>). X was just the next letter in the
- Roman alphabet.</para>
-
- <para>X can be called <quote>X</quote>,
- <quote>X Window System</quote>, <quote>X11</quote>, and a
- number of other terms. You may find that using the term
- <quote>X Windows</quote> to describe X11 can be offensive to
- some people; for a bit more insight on this, see
- &man.X.7;.</para>
- </sect2>
-
- <sect2>
- <title>The X Client/Server Model</title>
+ of the various components in the X Window System and how they interact, some basic
+ knowledge of these components can be useful:</para>
+ <variablelist>
+ <varlistentry>
+ <term>X server</term>
+
+ <listitem>
<para>X was designed from the beginning to be network-centric,
- and adopts a <quote>client-server</quote> model.</para>
-
- <para>In the X model, the <quote>X server</quote> runs on the
+ and adopts a <quote>client-server</quote> model. In this model, the <quote>X server</quote> runs on the
computer that has the keyboard, monitor, and mouse attached.
The server's responsibility includes tasks such as managing
the display, handling input from the keyboard and mouse, and
- other input or output devices (i.e., a <quote>tablet</quote>
- can be used as an input device, and a video projector may be
- an alternative output device). Each X application (such as
+ handling input or output from other devices such as a tablet
+ or a video projector.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>X client</term>
+
+ <listitem>
+ <para>Each X application, such as
<application>XTerm</application> or
- <application>Firefox</application>) is a
+ <application>Firefox</application>, is a
<quote>client</quote>. A client sends messages to the server
such as
<quote>Please draw a window at these coordinates</quote>, and
@@ -127,178 +111,106 @@
<quote>The user just clicked on the OK button</quote>.</para>
<para>In a home or small office environment, the X server and
- the X clients commonly run on the same computer. However, it
- is perfectly possible to run the X server on a less powerful
- desktop computer, and run X applications (the clients) on,
- say, the powerful and expensive machine that serves the
- office. In this scenario the communication between the X
+ the X clients commonly run on the same computer. It
+ is also possible to run the X server on a less powerful
+ computer and to run the X applications on a more
+ powerful system.
+ In this scenario, the communication between the X
client and server takes place over the network.</para>
+ </listitem>
+ </varlistentry>
- <para>This confuses some people, because the X terminology is
- exactly backward to what they expect. They expect the
- <quote>X server</quote> to be the big powerful machine down
- the hall, and the <quote>X client</quote> to be the machine
- on their desk.</para>
-
- <para>It is important to remember that the X server is the
- machine with the monitor and keyboard, and the X clients are
- the programs that display the windows.</para>
-
- <para>There is nothing in the protocol that forces the client
- and server machines to be running the same operating system,
- or even to be running on the same type of computer. It is
- certainly possible to run an X server on µsoft.windows;
- or Apple's &macos;, and there are various free and commercial
- applications available that do exactly that.</para>
- </sect2>
-
- <sect2>
- <title>The Window Manager</title>
-
- <para>The X design philosophy is much like the &unix; design
- philosophy, <quote>tools, not policy</quote>. This means
- that X does not try to dictate how a task is to be
- accomplished. Instead, tools are provided to the user, and
- it is the user's responsibility to decide how to use those
- tools.</para>
+ <varlistentry>
+ <term>window manager</term>
- <para>This philosophy extends to X not dictating what windows
+ <listitem>
+ <para>X does not dictate what windows
should look like on screen, how to move them around with the
- mouse, what keystrokes should be used to move between windows
- (i.e.,
- <keycombo action="simul">
- <keycap>Alt</keycap>
- <keycap>Tab</keycap>
- </keycombo>, in the case of µsoft.windows;), what the
+ mouse, which keystrokes should be used to move between windows, what the
title bars on each window should look like, whether or not
- they have close buttons on them, and so on.</para>
-
- <para>Instead, X delegates this responsibility to an
- application called a <quote>Window Manager</quote>. There
+ they have close buttons on them, and so on. Instead, X delegates this responsibility to a
+ separate window manager application. There
are <ulink
url="http://xwinman.org/">dozens of window managers</ulink>
- available for X. Each of these window managers provides a
- different look and feel; some of them support
- <quote>virtual desktops</quote>; some of them allow customized
- keystrokes to manage the desktop; some have a
- <quote>Start</quote> button or similar device; some are
- <quote>themeable</quote>, allowing a complete change of
- look-and-feel by applying a new theme. Window managers are
+ available. Each window manager provides a
+ different look and feel: some support
+ virtual desktops, some allow customized
+ keystrokes to manage the desktop, some have a
+ <quote>Start</quote> button, and some are
+ themeable, allowing a complete change of the desktop's
+ look-and-feel. Window managers are
available in the <filename>x11-wm</filename> category of the
Ports Collection.</para>
- <para>In addition, the <application>KDE</application> and
- <application>GNOME</application> desktop environments both
- have their own window managers which integrate with the
- desktop.</para>
-
- <para>Each window manager also has a different configuration
- mechanism; some expect configuration file written by hand,
- others feature GUI tools for most of the configuration tasks;
- at least one (<application>Sawfish</application>) has a
- configuration file written in a dialect of the Lisp
- language.</para>
-
- <note>
- <title>Focus Policy</title>
-
- <para>Another feature the window manager is responsible for is
- the mouse <quote>focus policy</quote>. Every windowing
- system needs some means of choosing a window to be actively
- receiving keystrokes, and should visibly indicate which
- window is active as well.</para>
-
- <para>A familiar focus policy is called
- <quote>click-to-focus</quote>. This is the model utilized
- by µsoft.windows;, in which a window becomes active
- upon receiving a mouse click.</para>
-
- <para>X does not support any particular focus policy.
- Instead, the window manager controls which window has the
- focus at any one time. Different window managers will
- support different focus methods. All of them support
- click to focus, and the majority of them support several
- others.</para>
-
- <para>The most popular focus policies are:</para>
-
- <variablelist>
- <varlistentry>
- <term>focus-follows-mouse</term>
-
- <listitem>
- <para>The window that is under the mouse pointer is
- the window that has the focus. This may not
- necessarily be the window that is on top of all the
- other windows. The focus is changed by pointing at
- another window, there is no need to click in it as
- well.</para>
- </listitem>
- </varlistentry>
+ <para>Each window manager uses a different configuration
+ mechanism. Some expect configuration file written by hand while
+ others provide graphical tools for most configuration tasks.</para>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term>sloppy-focus</term>
+ <varlistentry>
+ <term>desktop environment</term>
- <listitem>
- <para>This policy is a small extension to
- focus-follows-mouse. With focus-follows-mouse, if
- the mouse is moved over the root window (or
- background) then no window has the focus, and
- keystrokes are simply lost. With sloppy-focus, focus
- is only changed when the cursor enters a new
- window, and not when exiting the current
- window.</para>
- </listitem>
- </varlistentry>
+ <listitem>
+ <para>Some window managers, such as <application>KDE</application> and
+ <application>GNOME</application> are considered to be desktop environments
+ as they include an entire suite of applications for performing
+ common desktop tasks. These may include office suites, web
+ browsers, and games.</para>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term>click-to-focus</term>
+ <varlistentry>
+ <term>focus policy</term>
- <listitem>
- <para>The active window is selected by mouse click.
- The window may then be <quote>raised</quote>, and
- appear in front of all other windows. All keystrokes
- will now be directed to this window, even if the
- cursor is moved to another window.</para>
+ <listitem>
+ <para>The window manager is responsible for the
+ mouse focus policy. This policy provides
+ some means for choosing which window is actively
+ receiving keystrokes and it should also visibly indicate which
+ window is currently active.</para>
+
+ <para>One focus policy is called
+ <quote>click-to-focus</quote>. In this model, a window becomes active
+ upon receiving a mouse click. In the
+ <quote>focus-follows-mouse</quote> policy, the window that is under the mouse pointer
+ has focus and the focus is changed by pointing at
+ another window. In the <quote>sloppy-focus</quote> model, if
+ the mouse is moved over the root window, no window has the focus and
+ any keystrokes are lost. With sloppy-focus, focus
+ is only changed when the cursor enters a new
+ window, and not when exiting the current
+ window. In the <quote>click-to-focus</quote> policy, the active window is selected by mouse click.
+ The window may then be raised and
+ appear in front of all other windows. All keystrokes
+ will now be directed to this window, even if the
+ cursor is moved to another window.</para>
+
+ <para>Different window managers
+ support different focus models. All of them support
+ click-to-focus, and the majority of them also support other policies.
+ others. Consult the
+ documentation for the window manager to determine which
+ focus models are available.</para>
</listitem>
</varlistentry>
- </variablelist>
-
- <para>Many window managers support other policies, as well
- as variations on these. Be sure to consult the
- documentation for the window manager itself.</para>
- </note>
- </sect2>
-
- <sect2>
- <title>Widgets</title>
- <para>The X approach of providing tools and not policy
- extends to the widgets seen on screen in each
- application.</para>
+ <varlistentry>
+ <term>widgets</term>
- <para><quote>Widget</quote> is a term for all the items in
+ <listitem>
+ <para>Widget is a term for all of the items in
the user interface that can be clicked or manipulated in
- some way; buttons, check boxes, radio buttons, icons, lists,
- and so on. µsoft.windows; calls these
- <quote>controls</quote>.</para>
-
- <para>µsoft.windows; and Apple's &macos; both have a
- very rigid widget policy. Application developers are
- supposed to ensure that their applications share a common
- look and feel. With X, it was not considered sensible to
- mandate a particular graphical style, or set of widgets to
- adhere to.</para>
-
- <para>As a result, do not expect X applications to have a
- common look and feel. There are several popular widget sets
- and variations, including Qt, used by
- <application>KDE</application>, and GTK+, used by the
- <application>GNOME</application> project. In this respect,
- there is some convergence in look-and-feel of the &unix;
- desktop, which certainly makes things easier for the novice
- user.</para>
- </sect2>
+ some way. This includes buttons, check boxes, radio buttons, icons, and lists.
+ A widget toolkit is a set of widgets used to create
+ graphical applications. There are several popular widget toolkits, including Qt, used by
+ <application>KDE</application>, and GTK+, used by
+ <application>GNOME</application>. As a result, applications will have a
+ different look and feel, depending upon which widget toolkit
+ was used to create the application.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
</sect1>
<sect1 id="x-install">
More information about the svn-doc-head
mailing list