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
-      &microsoft.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 &microsoft.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 &microsoft.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 &microsoft.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.  &microsoft.windows; calls these
-	<quote>controls</quote>.</para>
-
-      <para>&microsoft.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-all mailing list