Date: Fri, 4 Oct 2013 17:54:01 +0000 (UTC) From: Dru Lavigne <dru@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r42828 - head/en_US.ISO8859-1/books/handbook/x11 Message-ID: <201310041754.r94Hs1cB041849@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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">
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201310041754.r94Hs1cB041849>