Port Docs to Jekyll

This commit is contained in:
Doug Torrance
2018-05-11 10:34:55 -04:00
parent 02481fdd08
commit f6118c932e
98 changed files with 289 additions and 714 deletions

2104
docs/FAQ.html Normal file

File diff suppressed because it is too large Load Diff

57
docs/chap1.html Normal file
View File

@@ -0,0 +1,57 @@
---
layout: default
title: User Guide - Introduction
---
<h3>Introduction</h3>
<p>This manual describes the usage and configuration of the WindowMaker window manager. It is intended for both users
who never used the X Window System and for users who have experience with other window managers.</p>
<p>How to Read this guide If you never have used a X window manager, you should read all of this guide, as it contains
detailed instructions for new users.</p>
<p>Text in sans serif font, indicate instructions you must follow to accomplish a given task. If you're out of time (or
patience), you should at least read text in these parts.</p>
<p>You can ignore the text in Extra Bindings boxes while you're getting familiar with WindowMaker. Once you've got
familiar with it, you can read the text in these boxes to learn more ways to accomplish tasks.</p>
<h1>1.1 What is a window manager?</h1>
<p>If you come from the Windows or MacOS world, you might be confused about all these things like window managers, X
windows etc.</p>
<p>In the Unix world, the task of providing a graphical user interface (GUI) is normally divided by 3 different
components:</p>
<p>the window server; the window manager and the user interface toolkit. The window server is standard and is usually
the X Window System or some vendor provided compatible version of it. The X Window System, or X for short, is a window
server. It's function is to provide a portable and high-level access to devices like keyboard, mouse and video display.
It allows applications to show graphical information on the display through rectangular areas called windows.</p>
<p>Most user interface objects, like buttons, menus and scrollers are made of windows. The top level windows displayed
by applications are named windows as well. These objects are not provided by the window server. These must be made by
the application program or by the user interface toolkit.</p>
<p>For more information, read the manual page for X(1) and the documentation for Xlib.</p>
<p>The primary function of the window manager is to control the layout of top level windows on screen. WindowMaker is a
window manager. It provides a titlebar and a resizebar to change window layout, application menus to launch
applications and execute special commands, application icons, miniwindows and an application dock. They will be
explained in more detail in the following chapters.</p>
<p>The user interface toolkit is a library or collection of libraries that provide an API for application developers to
program the interfaces for their applications. Toolkits generally provide controls like buttons, menus, radio-buttons
etc to be used for program interaction. There are currently many of these toolkits available for X. Motif
&#226;&#8222;&#162;, OpenLook &#226;&#8222;&#162;, and Athena are examples of toolkits.</p>
<p>All other features normally found in other operating systems, like file managers, are implemented as separate
programs and are not directly related to the window manager.</p>
</td>
</tr>
</table>
<?php include("footer.php"); ?>
</body>
</html>

840
docs/chap2.html Normal file
View File

@@ -0,0 +1,840 @@
---
layout: default
title: User Guide - Windows
---
<br />
<br />
<br />
<h2>Chapter 2</h2>
<h1>Windows</h1><br />
<br />
<br />
<h2><a name="2.1">2.1 Anatomy of a Window</a></h2>Generally an application will have the following layout:<br />
<br />
<center>
<img src="guide/images/anatomy.gif" border="0" width="426" height="344" alt="[Anatomy of a Window]" /><br />
<br />
<table border="0" width="90%" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<td align="right" valign="top"><br />
<font face="Times New Roman, Times, Times Roman"><b>Titlebar</b></font></td>
<td align="left"><br />
<font face="Times New Roman, Times, Times Roman">The titlebar presents the name of the application, document or
window. It's color indicates the keyboard focus state and type of the window. You can use it to move, activate,
raise, lower and access the window commands menu.</font></td>
</tr>
<tr>
<td align="right" valign="top"><font face="Times New Roman, Times, Times Roman"><b>Miniaturize
button.</b></font></td>
<td align="left"><font face="Times New Roman, Times, Times Roman">You can click on the miniaturize button to
miniaturize/iconify a window or click it with the <b>Meta</b> key pressed to hide the application.</font></td>
</tr>
<tr>
<td align="right" valign="top"><br />
<font face="Times New Roman, Times, Times Roman"><b>Close Button.</b></font></td>
<td align="left"><br />
<font face="Times New Roman, Times, Times Roman">The close button can be used to close a window or kill the
application, if the application can't understand the close message.</font></td>
</tr>
<tr>
<td align="right" valign="top"><br />
<font face="Times New Roman, Times, Times Roman"><b>Resizebar.</b></font></td>
<td align="left"><br />
<font face="Times New Roman, Times, Times Roman">You use the resizebar to (surprise!) resize a
window.</font></td>
</tr>
<tr>
<td align="right" valign="top"><br />
<font face="Times New Roman, Times, Times Roman"><b>Client Area.</b></font></td>
<td align="left"><br />
<font face="Times New Roman, Times, Times Roman">The client area is where the application show it's
information. If the window if inactive, you can click on it to activate it.</font></td>
</tr>
</tbody>
</table>
</center><br />
<br />
<br />
<a name="2.2"></a>
<h2><a name="2.2">2.2 Working With Windows</a></h2><a name="2.2"></a><br />
<br />
<a name="2.2.1"></a>
<h3><a name="2.2.1">2.2.1 Focusing a Window</a></h3><a name="2.2.1"></a><br />
Windows can be in two states: <i>focused</i> , or <i>unfocused.</i> The focused window (also called the key or active
window) has a black titlebar and is the window that receives keyboard input, ie: where you can type text. Usually it's
the window where you work on. Only one window may be focused at a time. Unfocused windows have a light gray titlebar.
Some applications have a special type of window, called dialog windows transient windows or panels. When these windows
are active, the window that owns them (the main window) get a dark gray titlebar. As soon as the dialog window is
closed, the focus is returned to the owner window.<br />
<br />
<br />
The image below shows an active Open File panel and it's owner window.<br />
<br />
<center>
<img src="guide/images/focus.gif" border="0" width="574" height="360" alt="[Focused, Unfocused, and Parent Window]" />
</center><br />
<br />
There are three styles of window focusing:<br />
<br />
<b>Click-to-Focus</b>,or manual focus mode. In click-to-focus mode, you explicitly choose the window that should be
focused. This is the default mode.<br />
<br />
<b>Focus-Follow-Mouse</b>,or auto-focus mode. In this mode, the focused window is chosen based on the position of the
mouse pointer. The window below the mouse pointer is always the focused window.<br />
<br />
<b>Sloppy-Focus</b>,or semi-auto-focus mode. This is similar to the focus-follow-mouse mode, but if you move the
pointer from a window to the root window, the window will not loose focus.<br />
<br />
You can choose between these modes with the <i>FocusMode</i> option<br />
<br />
<br />
<br />
<font face="Helvetica"><b>To focus a window in click-to-focus mode:</b></font>
<ul type="disc">
<li><font face="Helvetica">Click on the titlebar, resizebar or in the client area of the window with the left or
right mouse button.<br />
<br />
OR<br />
<br /></font></li>
<li><font face="Helvetica">Click on the titlebar with the middle mouse button. This will focus the window without
bringing it to the front.<br />
<br />
OR<br />
<br /></font></li>
<li><font face="Helvetica">Open the window list menu and select the window to focus.</font></li>
</ul><br />
When you click in the client area of an inactive window to set the focus, the click is normally processed by the
application. If you find this behaviour a little confusing, you can make the application ignore this click by using the
<i>IgnoreFocusClick</i> option.<br />
<br />
<br />
<font face="Helvetica"><b>To focus a window in focus-follow-mouse mode:</b></font>
<ul type="disc">
<li><font face="Helvetica">Move the pointer over the window you want to focus.</font></li>
</ul><br />
<br />
<br />
<br />
<a name="2.2.2"></a>
<h3><a name="2.2.2">2.2.2 Reordering Overlapping Windows</a></h3><a name="2.2.2"></a> Windows can overlap other
windows, making some windows be over or in front of others.<br />
<br />
<br />
<font face="Helvetica"><b>To bring a window to the front:</b><br /></font>
<ul type="disc">
<li><font face="Helvetica">Click on the titlebar or resizebar of the desired window with the left mouse button.<br />
<br />
OR<br />
<br /></font></li>
<li><font face="Helvetica">Select the desired window from the Window List menu.</font></li>
</ul><br />
<br />
Dialog/transient windows are always placed over their owner windows, unless the <i>OnTopTransients</i> option is
disabled. Some windows have a special attribute that allow them be permanently over normal windows. You can make
specific windows have this attribute use the <i>AlwaysOnTop</i> window option or set it in the Window Inspector
panel.<br />
<br />
<br />
<h3><b>Extra Bindings</b></h3>
<center>
<table border="0" width="80%" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<th align="left"><font face="Times New Roman, Times, Times Roman">Action</font></th>
<th align="left"><font face="Times New Roman, Times, Times Roman">Effect</font></th>
</tr>
<tr>
<td colspan="2">
<hr />
</td>
</tr>
<tr>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Meta-Click on the window
titlebar. with the left mouse button</font></td>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Sends the window to the
back.</font></td>
</tr>
<tr>
<td colspan="2">
<hr />
</td>
</tr>
<tr>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Meta-Click on the Client Area of
the window with the left mouse button.</font></td>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Brings the window to the front
and focuses it.</font></td>
</tr>
<tr>
<td colspan="2">
<hr />
</td>
</tr>
<tr>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Hold the Meta key and press the
Up Arrow key</font></td>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Brings the current focused
window to the front.</font></td>
</tr>
<tr>
<td colspan="2">
<hr />
</td>
</tr>
<tr>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Hold the Meta key and press the
Down Arrow key</font></td>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Sends the current focused window
to the back.</font></td>
</tr>
<tr>
<td colspan="2">
<hr />
</td>
</tr>
</tbody>
</table>
</center><br />
<br />
<br />
<a name="2.2.3"></a>
<h3><a name="2.2.3">2.2.3 Moving a Window</a></h3><a name="2.2.3"></a> To move the window around the screen, drag the
window through it's titlebar with the left mouse button pressed. This will also bring the window to the front and focus
the window.<br />
<br />
<br />
<font face="Helvetica"><b>To move a window:</b></font>
<ul type="disc">
<li><font face="Helvetica">Click on the titlebar of the window you want to move with the left mouse button and drag
it with the button pressed.</font></li>
</ul>While you move the window, a little box will appear in the screen, indicating the current window position in
pixels, relative to the top left corner of the screen. You can change the location of this position box by hitting the
Shift key during the move operation.<br />
<br />
In some rare occasions, it is possible for a window to be placed off screen. This can happen with some buggy
applications. To bring a window back to the visible screen area, select the window in the Window List menu. You can
prevent windows from doing that with the <i>DontMoveOff</i> window attribute.<br />
<br />
<br />
<h3><b>Extra Bindings</b></h3>
<center>
<table border="0" width="80%" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<th align="left"><font face="Times New Roman, Times, Times Roman">Action</font></th>
<th align="left"><font face="Times New Roman, Times, Times Roman">Effect</font></th>
</tr>
<tr>
<td colspan="2">
<hr />
</td>
</tr>
<tr>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Drag the titlebar with the
middle mouse button</font></td>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Move the window without changing
it's stacking order.</font></td>
</tr>
<tr>
<td colspan="2">
<hr />
</td>
</tr>
<tr>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Drag the titlebar while holding
the Control key</font></td>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Move the window without focusing
it.</font></td>
</tr>
<tr>
<td colspan="2">
<hr />
</td>
</tr>
<tr>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Drag the client area or
resizebar while holding the Meta key</font></td>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Move the window.</font></td>
</tr>
<tr>
<td colspan="2">
<hr />
</td>
</tr>
</tbody>
</table>
</center><br />
<br />
<br />
<br />
<a name="2.2.4"></a>
<h3><a name="2.2.4">2.2.4 Resizing a Window</a></h3><a name="2.2.4"></a> The size of a window can be adjusted by
dragging the resizebar.<br />
<br />
<center>
<img src="guide/images/resizebar.gif" border="0" width="470" height="47" alt="[A Resizebar]" />
</center><br />
<br />
Depending on the place you click to drag the resizebar, the resize operation is constrained to a direction.<br />
<br />
<br />
<font face="Helvetica"><b>To resize a window</b></font>
<ul type="disc">
<li><font face="Helvetica">To change the window's height, click in the middle region of the resizebar and drag it
vertically.<br />
<br /></font></li>
<li><font face="Helvetica">To change the window's width, click in either end regions of the resizebar and drag it
horizontally.<br />
<br /></font></li>
<li><font face="Helvetica">To change both height and width at the same time, click in either end regions of the
resizebar and drag it diagonally.</font></li>
</ul><br />
<br />
<h3><b>Extra Bindings</b></h3>
<center>
<table border="0" width="80%" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<th align="left"><font face="Times New Roman, Times, Times Roman"><b>Action</b></font></th>
<th align="left"><font face="Times New Roman, Times, Times Roman"><b>Effect</b></font></th>
</tr>
<tr>
<td colspan="2">
<hr />
</td>
</tr>
<tr>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Drag the window in the client
area with the Right mouse button, while holding the Meta key</font></td>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Resizes the window.</font></td>
</tr>
<tr>
<td colspan="2">
<hr />
</td>
</tr>
<tr>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Drag the resizebar with the
middle mouse button</font></td>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Resize the window without
bringing it to the front</font></td>
</tr>
<tr>
<td colspan="2">
<hr />
</td>
</tr>
<tr>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Drag the resizebar while holding
the Control key</font></td>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Resize the window without
focusing it.</font></td>
</tr>
<tr>
<td colspan="2">
<hr />
</td>
</tr>
</tbody>
</table>
</center><br />
<br />
<br />
<a name="2.2.5"></a>
<h3><a name="2.2.5">2.2.5 Miniaturizing a Window</a></h3><a name="2.2.5"></a><br />
If you want to temporarily get rid of a window, you can miniaturize it. When miniaturizing a window, it will shrink
into a miniwindow with a icon and a title that is placed at the bottom of the screen.<br />
<br />
<center>
<img src="guide/imagtitle.gif" border="0" width="200" height="50" alt="[A Titlebar]" />
</center><br />
<br />
<center>
<table border="0" cellspacing="0" cellpadding="5" width="40%">
<tbody>
<tr>
<td align="left"><img src="guide/images/mini.gif" border="0" width="64" height="64" alt="[A Mini-window]" /></td>
<td align="left"><font face="Times New Roman, Times, Times Roman">A mini-window</font></td>
</tr>
</tbody>
</table>
</center><br />
<br />
You can move the miniwindow around the screen by dragging it. Unlike application icons, miniwindows cannot be
docked.<br />
<br />
To restore a window from it's miniwindow, double click the miniwindow. The window will be restored in the current
workspace, with the same position, size and contents as it had before miniaturization.<br />
<br />
<br />
<font face="Helvetica"><b>To miniaturize a window:</b></font>
<ul type="disc">
<li><font face="Helvetica">Click on the miniaturize button.<br />
<br />
OR<br />
<br /></font></li>
<li><font face="Helvetica">Use the keyboard shortcut assigned to this action, Meta+m in the default
configuration.</font></li>
</ul><br />
<br />
You can also restore all miniaturized and hidden windows of a given application by double clicking in it's application
icon with the middle mouse button.<br />
<br />
<br />
<a name="2.2.6"></a>
<h3><a name="2.2.6">2.2.6 Shading a Window</a></h3><a name="2.2.6"></a> If you want to temporarily get rid of a window,
an option for it's miniaturization is to <i>shade</i> it. When you shade a window, the window rolls up to it's
titlebar. You can do almost everything you do with a normal window with shaded windows, like miniaturizing or closing
it.<br />
<br />
<br />
<br />
<br />
<font face="Helvetica"><b>To shade a window:</b></font>
<ul type="disc">
<li><font face="Helvetica">Double Click on the titlebar of the window.</font></li>
</ul>
<center>
<img src="guide/images/shade.gif" border="0" width="287" height="279" alt="[A Shaded window]" />
</center><br />
<br />
<br />
<a name="2.2.7"></a>
<h3><a name="2.2.7">2.2.7 Closing a Window</a></h3><a name="2.2.7"></a> After finishing work in a window, you can close
it to completely get rid of it. When you close a window, it is removed from the screen and can no longer be restored.
So, before closing a window, be sure you have saved any work you were doing on it.<br />
<br />
<center>
<img src="guide/imagtitle2.gif" border="0" width="200" height="50" alt="A Titlebar with a close button" />
</center><br />
<br />
Some windows will have a close button with some dots around it. These windows can't be closed normally and the only way
to get rid of them is by exiting the application. You should try exiting from inside the application (through it's
menus or buttons) when possible. Otherwise you can force WindowMaker to ``kill'' the application.<br />
<br />
<br />
<font face="Helvetica"><b>To force the closure of a window (by killing the application):</b></font>
<ul type="disc">
<li><font face="Helvetica">Hold the Control key and click on the close button.<br />
<br />
OR<br />
<br /></font></li>
<li><font face="Helvetica">Double click the close button.</font></li>
</ul><br />
<br />
It is also possible to kill applications that can be normally closed by clicking the close button while holding the
Control key.<br />
<br />
<br />
<a name="2.2.8"></a>
<h3><a name="2.2.8">2.2.8 Maximizing a Window</a></h3><a name="2.2.8"></a> If you want to resize a window to occupy the
whole screen, you can maximize the window. When you unmaximize it, the window will be restored to the same position and
size it was before maximized.<br />
<br />
<br />
<font face="Helvetica"><b>To maximize a window:</b></font>
<ul type="disc">
<li><font face="Helvetica">Hold the Control key and double click on the window titlebar to resize the window's height
to full screen.<br />
<br />
OR<br />
<br /></font></li>
<li><font face="Helvetica">Hold the Shift key and double click on the window titlebar to resize the window's width to
full screen.<br />
<br />
OR<br />
<br /></font></li>
<li><font face="Helvetica">Hold both the Control and Shift keys and double click on the window titlebar to resize
both window's height and width to full screen.</font></li>
</ul><br />
<br />
<br />
<font face="Helvetica"><b>To restore the size of a maximized window:</b></font>
<ul type="disc">
<li><font face="Helvetica">Hold the Control OR Shift key and double click on the window titlebar.</font></li>
</ul><br />
<br />
You can select whether the window should be maximized to the whole screen or if the position of the Dock should be
accounted for by setting the <i>WinDock</i> option.<br />
<br />
<br />
<br />
<a name="2.2.9"></a>
<h3><a name="2.2.9">2.2.9 The Window Commands Menu</a></h3><a name="2.2.9"></a> Clicking on the titlebar of a window
with the right mouse button will open a menu containing commands that will apply to that window. The menu can also be
opened through the keyboard with the Control+Escape key, by default.<br />
<br />
<center>
<table border="0" width="90%" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">(Un)Maximize</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Will either maximize the window
horizontally and vertically, or, if the window is a;ready maximized, restore the window to the size it was
prior to being maximized.</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Miniaturize</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Will miniaturize the
window.</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">(Un)Shade</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Will shade the window, or
unshade it if it is already shaded.</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Hide</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Will hide all the windows of the
application</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Hide Others</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Will hide all current
applications except the current one</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Move To</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Allows you to move the window to
a different workspace</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Attributes...</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Opens the Window Attributes
Inspector (see section <a href="chap2.php#2.3">2.3</a>
)</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Close</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Will close the
window</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Kill</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Will kill the application. Use
this option only if the application does not provide means to close it normally, or in extreme
cases.</font></td>
</tr>
</tbody>
</table>
</center><a name="2.3"></a>
<h2><a name="2.3">2.3 The Window Attributes Inspector</a></h2><a name="2.3"></a> <a name="2.3.1"></a>
<h3><a name="2.3.1">2.3.1 Window Specification</a></h3><a name="2.3.1"></a> This panel Allows you to specify the
WM_CLASS that WindowMaker should use to identify the window whose attributes you are setting.<br />
<br />
<center>
<img src="guide/images/wiaspec.gif" border="0" width="262" height="374" alt=
"[Window Attributes Inspector: Window Specification]" />
</center><br />
<br />
<br />
<a name="2.3.2"></a>
<h3><a name="2.3.2">2.3.2 Window Attributes</a></h3><a name="2.3.2"></a> This panel lets you set the attributes for the
selected window.<br />
<br />
<center>
<img src="guide/images/wiaattrib.gif" border="0" width="262" height="374" alt=
"[Window Attributes Inspector: Window Attributes]" />
</center><br />
<br />
<center>
<table border="0" width="90%" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Disable titlebar</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Causes the titlebar for the
selected window not to be displayed</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Disable resizebar</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Causes the resizebar for the
selected window not to be displayed</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Disable close
button</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Causes the close button for the
selected window not to be displayed</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Disable miniaturize
button</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Causes the miniaturize button
for the selected window not to be displayed</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Keep on Top</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Causes the selected window to
stay on top of all other windows</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Omnipresent</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Causes the selected window to be
displayed in all workspaces</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Start miniaturized</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Causes the selected window to
start miniaturized</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Skip window list</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Causes the select window to be
skipped when cycling through the window list.</font></td>
</tr>
</tbody>
</table>
</center><br />
<br />
<br />
<a name="2.3.3"></a>
<h3><a name="2.3.3">2.3.3 Advanced Options</a></h3><a name="2.3.3"></a><br />
<br />
<center>
<img src="guide/images/wiaadvanced.gif" border="0" width="262" height="374" alt=
"[Window Attributes Inspector: Advanced Options]" />
</center><br />
<br />
<center>
<table border="0" width="90%" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Ignore HideOthers</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Causes the selected window to
remain visible when <b>HideOthers</b> is selected from the <a href=
"chap2.php#2.2.9">Window Commands Menu</a></font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Don't bind keyboard
shortcuts</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Causes the selected window to
receive ALL keyboard events</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Don't bind mouse
clicks</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Causes the selected window to
receive all mouse-click events</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Keep Inside Screen</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Causes the selected window not
to be able to place itself off the screen</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Don't let it take
focus</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Causes the selected window not
to be able to take input focus</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Don't Save Session</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Causes the state of the selected
window not to be saved when a session is saved. (either when quitting WindowMaker, or when done
manually.)</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Emulate Application
Icon</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Emulates an Application Icon for
"broken" applications</font></td>
</tr>
</tbody>
</table>
</center><br />
<br />
<br />
<a name="2.3.4"></a>
<h3><a name="2.3.4">2.3.4 Icon and Initial Workspace</a></h3><a name="2.3.4"></a> This panel allows you to
<b>browse</b> for, and <b>update</b> the <b>mini-window image</b> for the selected window, as well as setting the
<b>initial workspace.</b><br />
<br />
<center>
<img src="guide/images/wiaiandiw.gif" border="0" width="262" height="374" alt=
"[Window Attributes Inspector: Icon and Initia Workspace]" />
</center><br />
<br />
<br />
<br />
<br />
<a name="2.3.5"></a>
<h3><a name="2.3.5">2.3.5 Application Specific</a></h3><a name="2.3.5"></a> Attributes specific to the selected
application<br />
<br />
<center>
<img src="guide/images/wiaappspec.gif" border="0" width="262" height="374" alt=
"[Window Attributes Inspector: Icon and Initia Workspace]" />
</center><br />
<br />
<table border="0" width="90%" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Start hidden</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Starts the selected application in
a hidden state</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">No application icon</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Disables the application icon for
the selected application</font></td>
</tr>
</tbody>
</table><br />
<br />
<br />

422
docs/chap3.html Normal file
View File

@@ -0,0 +1,422 @@
---
layout: default
title: User Guide - Workspace
---
<br />
<br />
<br />
<h2>Chapter 3</h2>
<h1>The Workspace</h1><br />
<br />
<br />
<a name="3.1"></a>
<h2><a name="3.1">3.1 Working with Menus</a></h2><a name="3.1"></a> Menus provide a list of commands that you can
execute.<br />
<br />
<center>
<img src="guide/images/menu.gif" border="0" width="480" height="300" alt="[An Example Menu]" />
</center><br />
<br />
To execute a command listed in a menu, click in the corresponding item. The item will blink telling that the command is
going to be executed.<br />
<br />
Grayed commands are disabled and cannot be executed at that moment. If you click on them nothing will happen.<br />
<br />
Some menu entries have a little triangular indicator at the right. Selecting these entries will open a submenu, with a
new list of commands.<br />
<br />
You can use the keyboard to traverse and execute commands in some of the menus. First you must hit the key used to open
the menu --- like F12 for the root menu --- to enable keyboard traversal of it. Then you can use the Up and Down arrow
keys to change the current selected item and the Left and Right arrow keys to jump between submenus and parent menus.
To execute the current selected item press Return. To close the menu or stop menu traversal, press Escape.
Additionally, pressing the first letter for an menu item, will jump the current selection to that item.<br />
<br />
You can make frequently used menus ``stick'' to the workspace by dragging the titlebar of the menu. This will make a
close button appear in the menu titlebar. If you want to close the menu, just click in that button.<br />
<br />
Menus are normally placed on top of other windows and cannot be obscured by them. If you want the menus to be able to
be obscured by lowering them, double click the menu titlebar while holding the Meta key. Repeat this to make the menus
not obscurable again.<br />
<br />
<br />
<a name="3.1.1"></a>
<h3><a name="3.1.1">3.1.1 The Root Window Menu</a></h3><a name="3.1.1"></a> The <i>Root Window Menu</i> or
<i>Applications Menu</i> has items that allow you to quickly launch applications and do some workspace
management.<br />
<br />
To open this menu, click on the workspace (root window) with the 3rd mouse button or hit the key bound to it (F12 by
default).<br />
<br />
The contents of the applications menu can be configured to hold the applications installed on your system. To learn how
to configure it, read the section on application menu configuration.<br />
<br />
<br />
<a name="3.1.2"></a>
<h3><a name="3.1.2">3.1.2 The Window List Menu</a></h3><a name="3.1.2"></a> Clicking in the workspace with the middle
mouse button will open a menu listing all windows that currently exist, with the workspace in which the window is
located to its right. The current focused window is marked by a diamond sign next to its name. Clicking in an entry in
this menu will focus the window, raise it, and change to the workspace where it is located.<br />
<br />
<br />
<br />
<a name="3.2"></a>
<h2><a name="3.2">3.2 Working with Applications</a></h2><a name="3.2"></a> In WindowMaker the instance of a running
application is represented by an application icon. Do not confuse it with the icons (miniwindows in WindowMaker)
displayed by other window managers when a window is iconified. Application icons and miniwindows can be differentiated
in that miniwindows have titlebars, application icons do not.<br />
<br />
WindowMaker identifies a group of windows as belonging to a single instance of an application through some standard
hints that the application sets in its windows. Unfortunately, not all applications that exist set these hints,
preventing some application-specific features from working. These hints are <b>WM.CLASS</b>,<b>WM.COMMAND</b>, and
<b>WM.CLIENT.LEADER</b> or the group leader in <b>WM.HINTS</b>.<br />
<br />
<br />
<font size="-1">Note: The information about applications contained in this section only applies to versions of
WindowMaker built without the --enable-single-icon compile time option. This option is unsupported and behaviour when
it's enabled will not be covered in this text.</font><br />
<br />
<br />
<a name="3.2.1"></a>
<h3><a name="3.2.1">3.2.1 Hiding an Application</a></h3><a name="3.2.1"></a> If you want to close and application but
intend to use it later you can <i>hide</i> it. When you hide an application all windows and miniwindows that belong to
that application will be removed from the screen and hidden into its application icon.<br />
<br />
<br />
<font face="Helvetica"><b>To hide an application</b></font>
<ul type="disk">
<li><font face="Helvetica">Click the miniaturize button of any of the windows that belong to the application while
holding the Control key.<br />
<br />
OR<br />
<br /></font></li>
<li><font face="Helvetica">Press the keyboard shortcut assigned to it, which is Meta+h in the default
configuration.<br />
<br />
OR<br />
<br /></font></li>
<li><font face="Helvetica">User the hide command in the <a href=
"chap2.php#2.2.9">window commands menu</a> brought up when the
window titlebar is clicked with the right mouse button.<br />
<br />
OR<br />
<br /></font></li>
<li><font face="Helvetica">Use the (Un)Hide command in the application icon commands menu brought up when the
application icon is clicked with the right mouse button.</font></li>
</ul><br />
<br />
<br />
<font face="Helvetica"><b>To unhide an application</b></font>
<ul type="disk">
<li><font face="Helvetica">Double click the application icon with the left mouse button.<br />
<br />
OR<br />
<br /></font></li>
<li><font face="Helvetica">Use the (Un)Hide command in the application icon commands menu brought up when the
application icon is clicked with the right mouse button.</font></li>
</ul><br />
<br />
When you unhide an application, all it's windows and miniwindows will brought back, and you will be taken to the last
workspace in which you worked with that application.<br />
<br />
<br />
<h3><b>Extra Bindings</b></h3>
<center>
<table border="0" width="80%" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<th align="left"><font face="Times New Roman, Times, Times Roman">Action</font></th>
<th align="left"><font face="Times New Roman, Times, Times Roman">Effect</font></th>
</tr>
<tr>
<td colspan="2">
<hr />
</td>
</tr>
<tr>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Double-click the application
icon while holding the Meta key</font></td>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Unhide the clicked application,
and hide all other applications that are present in the current workspace.</font></td>
</tr>
<tr>
<td colspan="2">
<hr />
</td>
</tr>
<tr>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Double-click the application
icon while holding the Shift key</font></td>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Unhide the clicked application
in the current workspace</font></td>
</tr>
<tr>
<td colspan="2">
<hr />
</td>
</tr>
<tr>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Double-click the application
icon with the middle mouse button</font></td>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Unhide the clicked application
and deminiaturize all its windows.</font></td>
</tr>
<tr>
<td colspan="2">
<hr />
</td>
</tr>
<tr>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Double-click the window titlebar
with the right mouse button while holding the Meta key.</font></td>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Hide all applications in the
current workspace except for the clicked one</font></td>
</tr>
<tr>
<td colspan="2">
<hr />
</td>
</tr>
</tbody>
</table>
</center><br />
<br />
There are two other commands in the applications menu related to application hiding:<br />
<br />
<center>
<table border="0" width="90%" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Hide others</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Hide all applications in the
current workspace, except for the currently active one.</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Show All</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Unhide all applications that
were hidden from the current workspace</font></td>
</tr>
</tbody>
</table>
</center><br />
<br />
<br />
<br />
<a name="3.2.2"></a>
<h3><a name="3.2.2">3.2.2 The Application Icon Menu</a></h3><a name="3.2.2"></a> A menu with commands that will apply
to the application can be brought up by clicking the application icon with the right mouse button.<br />
<br />
The commands available in this menu are:<br />
<br />
<center>
<table border="0" width="90%" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Unhide Here</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Unhides the application in the
current workspace.</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">(Un)Hide</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Hides the application. Unless
the application is already hidden, in which case it will unhide the application and take you to its
workspace.</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Set Icon...</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Opens the icon image selection
panel for the application icon.</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">Kill</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Will kill the
application.</font></td>
</tr>
</tbody>
</table>
</center><a name="3.2.3"></a>
<h3><a name="3.2.3">3.2.3 The Application Dock</a></h3><a name="3.2.3"></a> The application dock is a place where you
can store frequently used applications for easy and fast access. It is located, by default, on the right side of the
screen.<br />
<br />
You can click the top icon (the one with the GNUstep logo) and drag it downward to remove most of the dock from view.
You can also drag it sideways to move the entire dock from side of the screen to the other.<br />
<br />
A menu similar to the <a href="chap3.php#3.2.2">application icon
menu</a> is brought up when you click a docked icon with the right mouse button.<br />
<br />
To make the dock <i>float</i> over windows (not be coverable by windows), either double-click the top dock icon while
holding the Meta key, or select the "Floating Dock" option in the dock menu.<br />
<br />
<br />
<b>Starting a docked application</b><br />
<br />
To start an application that is docked, double-click its icon. The icon will be briefly highlighted and the application
will start.<br />
<br />
While an application is not running an ellipsis is present in the lower left-hand corner of the icon. This ellipsis
will disappear when the application is started and reappear when the application is exited.<br />
<br />
While the application is running the docked icon will behave just like a normal, undocked application icon, except for
some extra actions specific to the dock.<br />
<br />
<br />
<font face="Helvetica"><b>To start a docked application:</b></font>
<ul type="disk">
<li><font face="Helvetica">Double-click the application icon with the left mouse button.<br />
<br />
OR<br />
<br /></font></li>
<li><font face="Helvetica">Use the "Launch" command in the dock menu for the icon. If the application is already
running it will start another instance.<br />
<br />
OR<br />
<br /></font></li>
<li><font face="Helvetica">Hold the Control key while double-clicking the icon to start another instance of the
application.</font></li>
</ul><br />
<br />
If a new instance of an already running application is started it will get a new application icon.<br />
<br />
<br />
<b>Customizing the dock</b><br />
<br />
To add new applications to the dock, you can click an application icon and drag it onto the dock. When a ghost image of
the icon appears you can release the mouse button and the icon will be docked.<br />
<br />
To reorder the docked applications, drag an icon to an empty slot and move the icons around as you want.<br />
<br />
To remove a docked application, drag it from the dock and release the mouse button when the ghost image disappears. To
remove the icon of an application that is running, hold the Meta key while dragging it.<br />
<br />
<br />
<b>Configuring the docked application</b><br />
<br />
To change the settings of a docked application, select the "Settings..." item in the dock menu for that icon. A
settings panel for that icon will appear.<br />
<br />
<center>
<img src="guide/imagdockapppanel.gif" border="0" width="297" height="369" alt="[Docked Application Settings Panel]" />
</center><br />
<br />
In the <i>Application path and arguments</i> field, the path for the application and its arguments can be changed. Note
that you can't change the application that is represented in the icon or change anything that would cause the
application name to be changed. For example, if the icon is for <b>xterm</b> you can't change the field's value to
<b>ghostview</b>; or if the icon is for <b>xterm -name vi</b>, you can't change it to <b>xterm -name pine</b>. Also
note that you cannot use shell commands, such as out put redirectors. (&gt;, &gt;&gt; etc.)<br />
<br />
<br />
<a name="3.3"></a>
<h2><a name="3.3">3.3 Working with Workspaces</a></h2><a name="3.3"></a><br />
<a name="3.3.1"></a>
<h3><a name="3.3.1">3.3.1 The Workspaces Menu</a></h3><a name="3.3.1"></a> The <i>Workspaces Menu</i> allows you to
create, switch, destroy and rename workspaces.<br />
<br />
It has the following items:<br />
<br />
<center>
<table border="0" width="90%" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">[New]</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Creates a new workspace and
automatically switches to it</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">[Destroy Last]</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Destroys the last workspace
unless it is occupied</font></td>
</tr>
<tr>
<th align="right" valign="top"><font face="Times New Roman, Times, Times Roman">[Workspaces]</font></th>
<td align="left" valign="top"><font face="Times New Roman, Times, Times Roman">Each workspace has a
corresponding item in the Workspaces menu. Clicking in one of these entries will switch from the current
workspace to the selected workspace.</font></td>
</tr>
</tbody>
</table>
</center>The current active workspace is indicated by a small indicator at the left of the workspace item.<br />
<br />
<center>
<img src="guide/images/wsmenu.gif" border="0" width="350" height="200" alt="[Workspace Menu]" />
</center><br />
<br />
To change the name of a workspace you must first ``stick'' the menu. Then Control click in the item corresponding to
the workspace you want to rename. The item will turn into a editable text field where you can edit the workspace name.
To finish editing the workspace name, press Return; to cancel it, press Escape.<br />
<br />
There is a limit of 16 characters on the length of the workspace name.<br />
<br />
<br />
An example Workspace menu being edited:
<center>
<img src="guide/images/wsmenued.gif" border="0" width="101" height="103" alt=
"[Workspace Menu: Editing a Workspace name]" />
</center><br />
<br />
<a name="3.3.2"></a>
<h3><a name="3.3.2">3.3.2 The workspace clip</a></h3><a name="3.3.2"></a> [This section was unavailable in the
original, and thus is not here]<br />
<br />
<br />
<br />
<br />
<br />

1660
docs/chap4.html Normal file

File diff suppressed because it is too large Load Diff

29
docs/chap5.html Normal file
View File

@@ -0,0 +1,29 @@
---
layout: default
title: User Guide - Tips
---
<br />
<br />
<br />
<h2>Chapter 5</h2>
<h1>Tips</h1><br />
<br />
<ul>
<li>If the size of a window gets so large that it doesn't fit on the screen and you can't manipulate it, you can
simply hold the Meta key while dragging the window in the client area. This way you can move the window up or down
and resize it, if you want.<br />
<br /></li>
<li>If you want windows to be able to cover the dock, you can make the dock lowerable by double clicking the first
dock icon while holding the Meta key. Then, you can raise and lower the dock through the first icon, just like you do
with windows.<br />
<br /></li>
<li>If you want windows to be able to cover menus, you can make them lowerable just like the dock by double clicking
the titlebar with the Meta key pressed.</li>
</ul><br />
<br />
<br />

22
docs/chap6.html Normal file
View File

@@ -0,0 +1,22 @@
---
layout: default
title: User Guide - Glossary
---
<br />
<br />
<br />
<h1>Glossary</h1>
<ul>
<li>[drag] to click in an object with the mouse and move the mouse while holding the mouse button.</li>
<li>[miniaturize] (iconify, minimize) to temporarily put a window aside, replacing the window with a miniature
representation of it.</li>
<li>[Meta key] depending on the system and keyboard types, this can mean different keys. Under Linux, it is usually
the Alt or Alternate key.</li>
</ul><br />
<br />
<br />

18
docs/chap7.html Normal file
View File

@@ -0,0 +1,18 @@
---
layout: default
title: User Guide - Credits
---
<br />
<br />
<br />
<h2>Chapter 7</h2>
<h1>Credits</h1><br />
<br />
The original TeX version of this document was written by Afredo K. Kojima.<br />
<br />
The HTML conversion was done primarily by Jeremy Crabtree, with assistance from Dan Olav Mikael Hultgren
Gudmundsson.<br />
<br />
<br />

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
docs/guide/images/focus.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

BIN
docs/guide/images/menu.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

BIN
docs/guide/images/mini.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 818 B

BIN
docs/guide/images/shade.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
docs/guide/images/title.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

140
docs/guide_toc.html Normal file
View File

@@ -0,0 +1,140 @@
---
layout: default
title: User Guide
---
<br />
<br />
<h1><a href="chap1.html">Chapter 1: Introduction</a></h1>
<ul type="disc">
<li><a href="chap1.html#1.1">1.1 What is a window manager?</a></li>
</ul><br />
<h1><a href="chap2.html">Chapter 2: Windows</a></h1>
<ul type="disc">
<li><a href="chap2.html#2.1">2.1 Anatomy of a window</a></li>
<li>
<a href="chap2.html#2.2">2.2 Working with windows</a>
<ul type="disc">
<li><a href="chap2.html#2.2.1">2.2.1 Focusing a window</a></li>
<li><a href="chap2.html#2.2.2">2.2.2 Reordering Overlapping
Windows</a></li>
<li><a href="chap2.html#2.2.3">2.2.3 Moving a Window</a></li>
<li><a href="chap2.html#2.2.4">2.2.4 Resizing a Window</a></li>
<li><a href="chap2.html#2.2.5">2.2.5 Miniaturizing a
Window</a></li>
<li><a href="chap2.html#2.2.6">2.2.6 Shading a Window</a></li>
<li><a href="chap2.html#2.2.7">2.2.7 Closing a Window</a></li>
<li><a href="chap2.html#2.2.8">2.2.8 Maximizing a
Window</a></li>
<li><a href="chap2.html#2.2.9">2.2.9 The Window Commands
Menu</a></li>
</ul>
</li>
<li>
<a href="chap2.html#2.3">2.3 The Window Attributes Inspector</a>
<ul type="disc">
<li><a href="chap2.html#2.3.1">2.3.1 Window
Specification</a></li>
<li><a href="chap2.html#2.3.2">2.3.2 Window Attributes</a></li>
<li><a href="chap2.html#2.3.3">2.3.3 Advanced Options</a></li>
<li><a href="chap2.html#2.3.4">2.3.4 Icon and Initial
Workspace</a></li>
<li><a href="chap2.html#2.3.5">2.3.5 Application
Specific</a></li>
</ul>
</li>
</ul><br />
<h1><a href="chap3.html">Chapter 3: The Workspace</a></h1>
<ul type="disc">
<li>
<a href="chap3.html#3.1">3.1 Working with Menus</a>
<ul type="disc">
<li><a href="chap3.html#3.1.1">3.1.1 The Root Window
Menu</a></li>
<li><a href="chap3.html#3.1.2">3.1.2 The Window List
Menu</a></li>
</ul>
</li>
<li>
<a href="chap3.html#3.2">3.2 Working with Applications</a>
<ul type="disc">
<li><a href="chap3.html#3.2.1">3.2.1 Hiding An
Application</a></li>
<li><a href="chap3.html#3.2.2">3.2.2 The Application Icon
Menu</a></li>
<li><a href="chap3.html#3.2.3">3.2.3 The Application
Dock</a></li>
</ul>
</li>
<li>
<a href="chap3.html#3.3">3.3 Working with Workspaces</a>
<ul type="disc">
<li><a href="chap3.html#3.3.1">3.3.1 The Workspace Menu</a></li>
<li><a href="chap3.html#3.3.2">3.3.2 The Workspace Clip</a></li>
</ul>
</li>
</ul><br />
<h1><a href="chap4.html">Chapter 4: Configuring WindowMaker</a></h1>
<ul type="disc">
<li>
<a href="chap4.html#4.1">4.1 The Defualts Database System</a>
<ul type="disc">
<li><a href="chap4.html#4.1.1">4.1.1 Propety List File
Format</a></li>
<li><a href="chap4.html#4.1.2">4.1.2 Value Types</a></li>
<li><a href="chap4.html#4.1.3">4.1.3 Preferences</a></li>
<li><a href="chap4.html#4.1.4">4.1.4 Window Attributes</a></li>
<li><a href="chap4.html#4.1.5">4.1.5 Applications Menu</a></li>
</ul>
</li>
</ul><br />
<br />
<h1><a href="chap5.html">Chapter 5: Tips</a></h1><br />
<br />
<h1><a href="chap6.html">Chapter 6: Glossary</a></h1><br />
<br />
<h1><a href="chap7.html">Chapter 7: Credits</a></h1><br />
<br />
<br />
<br />
<br />

153
docs/guidedtour/back.html Normal file
View File

@@ -0,0 +1,153 @@
---
layout: default
title: Guided Tour - Backgrounds and Themes
---
<center>Backgrounds and Themes</center>
</strong></h1>
<strong></strong>
<center><a href="index.html">Back to index</a></center>
<ul>
<li><a href="back.html#backg" name="backg">Backgrounds</a></li>
<li><a href="back.html#style" name="style"></a><a href="#style">Styles</a></li>
<li><a href="back.html#them" name="them">Themes</a></li>
</ul>
For the purposes of this guided tour, only those appearance options that
are built-in to Window Maker will be considered. Crafting custom styles
and themes is not terribly difficult, nor do you need any special
knowledge of programming languages or other specialized skills, but
this is outside the intended scope of the guided tour.<br>
<br>
The appearance of the Window Maker GUI can easily be customized from
the applications menu item "Appearance."<br>
Themes, styles, icon sets, and backgrounds can be selected as soon as
they are installed in the right directory.
<br>
Themes should be installed in the directory
~/GNUstep/Library/WindowMaker/Themes/<br>
Styles should be installed in the directory
~/GNUstep/Library/WindowMaker/Styles/<br>
Backgrounds should be installed in the directory
~/GNUstep/Library/WindowMaker/Backgrounds/<br>
<br>
If you are working within a freshly-installed instance of Window Maker,
your Linux distribution probably provided some default themes, styles
and backgrounds. Rarely, a distribution
provides no additional themes, styles or backgrounds - expecting users
to provide these on their own.<br>
<br>
Here is the "Appearance" menu and some of its associated sub-menus,
including themes, styles and backgrounds:<br>
<br>
<div style="text-align: center;"><img style="width: 714px; height: 636px;" alt="Appearance menu items" src="images/appearancemenu.png"><br>
</div>
<br>
In the screenshot above, most of the styles are default to the Debian
GNU/Linux distribution, while most of the themes were user-installed.
Many themes are available for download on the internet.&nbsp; <br>
<h2><a name="backg">Backgrounds</a></h2>
<p>Backgrounds may be system-generated solid or gradient colors, or
they may be images from user or distibution-supplied image files. The
easiest way to change a system-generated background color or color
gradient is to select one from the "Appearance -&gt; Background -&gt; <span style="color: rgb(255, 204, 102);">&lt; Solid <span style="color: white;">or</span> Gradient &gt;</span>" menu. In most default configurations there will be six to eight selections in each category.</p>
<p>Likewise, the easiest way to change to a background image is to
select one from the "Appearance -&gt; Background -&gt; Images" menu. If
you wish to install your own images for use as backgrounds, place the
image file in your ~/GNUstep/Library/WindowMaker/Backgrounds/ directory
and they will be available from the menu immediately.</p>
<p> </p>
<h2><a name="Styles"></a>Styles</h2>
A style defines the look of the key components of the Window Maker
desktop. These components include the window titlebar and resizebar, the menu title and text field, and the icon background.<br>
<br>
The characteristics defined in a style (or theme) are&nbsp; the color
and
"texture" of key GUI elements. Texture in this context means using
multiple colors in
various color gradients - you are not limited to solid colors
only.&nbsp; <br>
<br>
The easiest method for changing the style is to select a style from the
"Appearance -&gt; Style" menu.<br>
<br>
A style may also be created using the <span style="font-style: italic;">Appearance
Preferences</span> tool in <span style="font-style: italic;">WPrefs.app</span>.
From this tool, you may configure the color and texture of window
elements (titlebars, resizebars), menu elements (menu titlebar, menu
item text colors, menu "style") and the color and texture of icon
backgrounds. The location of titlebar text and the font and text color
for window and menu text may also be configured here.<br>
<br>
<center><img style="width: 520px; height: 412px;" alt="Appearance preferences tool" src="images/prefs12.png"></center>
<br>
<br>
More information on creating a style "from scratch" may be found <a href="http://windowmaker.org/chap4.php" target="_blank">in the Window Maker User's Guide.</a> (Scroll down to the section on "Appearance Options.") <br>
<br>
A step-by-step guide to crafting a custom style is available <a href="http://windowmakerandi.blogspot.com/search?updated-min=2011-01-01T00:00:00-06:00&amp;updated-max=2012-01-01T00:00:00-06:00&amp;max-results=4" target="_blank">HERE</a>.<br>
<h2><a name="them">Themes</a></h2>
<p>In its most basic form, a theme is simply a style that also
includes a background. Some Linux distributions provide one or more
default themes for use&nbsp; system-wide. You may
install your own themes in the ~/GNUstep/Library/WindowMaker/Themes/
directory. Themes installed in the correct directory will be
available for selection in the "Appearance -&gt; Themes" menu.
Selecting Themes from the Appearance menu runs the <span style="font-style: italic;">setstyle</span> program to install the
theme and record it in the <span style="font-style: italic;">~/GNUstep/Defaults/WindowMaker</span>
file.</p>
Two sites
providing preconfigured themes are <a href="http://lonelymachines.org/windowmaker-themes/" target="_blank">HERE</a>
and <a href="http://www.jessanderson.org/wmthemes/" target="_blank">HERE</a>.
An internet search for "Window Maker themes" will generate additional
results, and you should also check your Linux distribution's
repositories - some provide themes for installation using your
distribution's package management system.
<p>Themes may include images in png, jpg, xpm, and other supported image file
formats for key elements of the GUI such as titlebars, icon
backgrounds, and the workspace background. Themes that include images
cannot be stored as a single text file, and therefore must be stored in a
directory. A theme directory must contain all of the image files needed
for the theme along with a file named "style." The style file in a
theme directory will specify all of the GUI elements including any
image files used for those elements in lieu of rgb color
specifications. A theme directory must use the suffix ".themed" after
the theme name. <br>
</p>
<p> </p>
<center><a href="index.html">Back to index</a></center>

148
docs/guidedtour/clip.html Normal file
View File

@@ -0,0 +1,148 @@
---
layout: default
title: Guided Tour - Clip
---
<h1><strong>
<center>CLIP</center>
</strong></h1>
<p>
</p>
<center><a href="index.html">Back to index</a><br>
</center>
<ul>
</ul>
<p>By default, The clip is represented by the icon on the top left of
the screen containing a paperclip image.</p>
<p style="text-align: center;"><img style="width: 64px; height: 64px;" alt="Clip icon" src="images/clip.png"><br>
</p>
<p>The clip's primary function is to serve as a workspace-specific
dock. In
other words, applications may be attached to the clip just as they are
to the dock, but the clip and its associated applications are specific
to each individual workspace - not available on all workspaces as they
are on the dock.</p>
<p>The clip's secondary function is to act as a "pager" - a utility for
changing from one workspace to another (paging). The arrows at the top
right and bottom left corners of the clip icon allow you to switch from
one workspace to the next workspace (top right) or previous workspace
(bottom left).
</p>
<p>The current workspace name (if any) and number are displayed on the
clip. <br>
</p>
<p>The clip also has a number of menu-driven features.
</p>
<h2>Clip Menu</h2>
<p>Right-clicking the clip displays a menu. </p>
<center>
<p><img src="images/clipm.jpg" alt="clip menu"> </p>
</center>
<h2>Clip Options<br>
</h2>
The first menu item allows you to select clip options. The following
options are available:<br>
<ul>
<li><span style="font-style: italic;">Keep on top</span> - do not
allow windows to cover the clip. <br>
</li>
<li><span style="font-style: italic;">Collapsed</span> - icons
attached to the clip are hidden until you left-click the clip, which
unhides them.</li>
<li><span style="font-style: italic;">Autocollapse</span> - same as
the previous option, except that mouseing over the clip unhides
application icons.</li>
<li><span style="font-style: italic;">Autoraise</span> - clicking an
icon representing a
window hidden under a larger window brings that window to the front.</li>
<li><span style="font-style: italic;">Autoattract icons</span>
- selecting this option attracts the icon of any application launched
on the current workspace. Closing the application removes the icon from
the clip.</li>
</ul>
<h2>Rename Workspace</h2>
This item gives you to ability to name (or rename) the current
workspace. <br>
<br>
Some users tend to group certain applications by workspace
and like to name the workspace to indicate the nature of the
applications on the clip. For example, a user might have a browser, an
IRC client, and a file transfer application clipped on a workspace, and
might name that workspace "internet" to indicate the workspace's
primary function. The user might have a seperate workspace with a
vector graphics application, an image manipulation application, and an
image viewer on the clip, and might name that workspace "graphics."<br>
<br>
<h2>Other Options</h2>
Right-clicking a clipped application's icon gives options specific to
that application. <br>
<ul>
<li>You may make the application's icon <span style="font-style: italic;">omnipresent</span>
(clipped on all workspaces). <br>
</li>
<li>You may <span style="font-style: italic;">select</span> one or all clipped icons. <br>
</li>
<li>You may <span style="font-style: italic;">move</span>
one or all icons to a
different workspace. <br>
</li>
<li>You may <span style="font-style: italic;">remove</span> the icon.</li>
<li>You may instruct Window Maker to have all icons "<span style="font-style: italic;">attracted</span>" to
the clip as soon as each application is launched, rather than placing them intially in the defined location on the display. </li>
</ul>
The remaining clip menu items are similar to those of the <a href="dock.html#conf" target="_blank">dock
application icon menu</a>.
As with the dock, clipped applications may be launched, hidden, or
killed and their settings (icon used, application launch
path/arguments, middle-click launch) may be
modified. <br>
<br>
From version 0.80.0 on, the clip can "steal" appicons. This feature has
nothing to
do with autoattracting icons. When you start an application from somewhere
other than either the clip or the dock (i.e., from the menu or a
terminal), and the application is already either docked or clipped, a
new application icon does not appear at the bottom
of your
screen. The icon that is already docked or clipped "steals" the icon
function. As a
result, the icon for the newly-launched application is the icon already on
the
clip or
the dock. <br>
<br>
<center><a href="index.html">Back to index</a></center>

180
docs/guidedtour/dock.html Normal file
View File

@@ -0,0 +1,180 @@
---
layout: default
title: Guided Tour - Dock
---
<h1><strong>
<center>DOCK</center>
</strong></h1>
<h2><strong></strong></h2>
<strong></strong>
<center><a href="index.html">Back to index</a></center>
<ul>
<li><a href="dock.html#what" name="what">Application dock</a></li>
<li><a href="dock.html#start" name="start">Starting an application</a></li>
<li><a href="dock.html#cust" name="cust">Customizing</a></li>
<li><a href="dock.html#conf" name="conf">Configuring</a></li>
</ul>
<h2><a name="what">Application dock</a></h2>
<p>The dock is the column of icons located by default on the right
side of the screen.</p>
<p>Any application can be attached to the dock. To do this, open an
application then simply left-click-and-drag the application's icon to
the last position on the dock. The dock will "attract" the icon and it
will remain on the dock until removed by the user (left-click-and-drag
the icon off the dock - it will disappear.) If you have saved your
Window Maker session prior to logout (or set Window Maker to autosave
your session upon logout) any icons you docked will automatically
reappear at your next - and each subsequent - session.<br>
</p>
<p>The dock has it's own menu for user configuration.<br>
</p>
<p>The dock can be configured to remain on top of maximized windows. To
do this, right-click on any docked icon then select "Keep on top" from
the application icon menu. This will keep the entire dock visible
(maximized windows will not be allowed to cover the dock). To allow the
dock to be covered, uncheck the "Keep on top" item in the application
icon menu.<br>
</p>
<p>The WMDock icon (by default, with the GNUstep logo) can be dragged
sideways
to switch the
the entire dock from one side of the display to the other.<br>
</p>
<p>Dragging the WMDock icon downward will move the dock off the display
with the
exception of the WMDock icon itself, which will remain visible. To
restore dock visibility, left-click-and-drag the dock back on screen.<br>
</p>
<h2><a name="start">Starting an application</a></h2>
<p>Double-clicking the icon of a docked application starts the
application. <br>
</p>
<p>An application that has not been launched normally has an elipsis
(three dots) in the bottom-left-corner of the icon and appears in full
color as shown below.&nbsp; <br>
</p>
<p style="text-align: center;"><img style="width: 62px; height: 62px;" alt="Unlaunched application icon" src="images/iconwithelipsis.png"><br>
</p>
<p>When the application is running, the elipsis disappears from the
bottom-left-corner of the icon and the icon becomes "greyed out,"
giving a visual cue that the application is already open. <br>
</p>
<p style="text-align: center;"><img style="width: 62px; height: 62px;" alt="Launched application icon" src="images/greyedouticon.png"><br>
</p>
<p>A docked icon that continues to show an elipsis and remains "full
color" even after an instance of the
application is running indicates that the application's settings have
been modified to allow multiple launches from one docked icon. To do
this you must open the application and modify the
"application specific" settings in the <a href="win.html#menu">"commands
menu"</a> of the application to allow
"shared application icons."</p>
<p>Using the "launch" command in the "application icon menu" for the
icon is another way to start an application from the dock.<br>
<br>
From version 0.80.0 on, the dock can "steal" appicons. This feature has
nothing to
do with Autoattract Icons. When you start an application from somewhere
else
than either the clip or the dock (menu or terminal), and the appicon
exists in
one of them (clip or dock), this appicon doesn't appear at the bottom
of your
screen. The appicon existing in the clip or the dock "stole" it. As a
result, the
appicon is the same as the one used to start the application from the
clip or
the dock. </p>
<p> </p>
<h2><a name="cust">Customizing</a></h2>
<p>Left-clicking and dragging an application icon to the dock adds this
application to the dock. Obviously, this means the application is
running! <br>
</p>
<p><span style="font-style: italic;">Miniwindows</span> (windows of
minimized applications) cannot be docked. The small titlebar on the
miniwindow differentiates it from an application's icon. <br>
</p>
<p>Dragging an icon off the dock removes the docked application.&nbsp; <br>
</p>
<p> </p>
<h2><a name="conf">Configuring</a></h2>
<p>There is a dock menu for each icon. Right-clicking the icon displays
the "application icon menu." Select the "Settings..." option to
configure the application.&nbsp;</p>
<center>
<p><a href="images/docks.jpg"><img src="images/docks.jpg" alt="dock"></a></p>
</center>
<p>The application's <span style="font-style: italic;">path</span> and
its arguments, the command for middle-click launch, and the icon
employed can
be changed in this panel.<br>
</p>
<p>Shell commands such as redirection cannot be used in the command
field. <br>
</p>
<p>The desired icon must be in one of the directories displayed
in the panel while browsing. New directories can be added from the <a href="prefs.html#search">Search path preferences</a><br>
</p>
<p> A checkbox allows you to start the application when Window Maker is
first started. (Note: <span style="font-style: italic;">You want to be
careful with this</span>. If you have, for example, your terminal
emulator, your file manager, and your browser set to start when Window
Maker is started you'll get an open terminal, an open file manager and
an open browser <span style="font-style: italic;">every time</span>
you start a session! Normally you will only want to start certain
dockapps - "regular" applications like a terminal emulator or browser
can be started <span style="font-style: italic;">after</span> your
session is up and going.)<br>
</p>
<p>From version 0.62.0 on, a checkbox can be used to prevent accidental
removal from the dock. <br>
<br>
From version 0.70.0 on, a new field has been added for middle-click
launch. Entering, for example, "firefox" into a docked
application
settings panel will launch the Firefox browser.<br>
<br>
</p>
<p> </p>
<center><a href="index.html">Back to index</a></center>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 658 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 817 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 554 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

118
docs/guidedtour/index.html Normal file
View File

@@ -0,0 +1,118 @@
---
layout: default
title: Guided Tour - Index
---
<h1 align="center"><strong><big>Window Maker</big></strong></h1>
<h2 align="center">Guided Tour</h2>
<p>
</p>
<center><img src="images/gnusteplogo.png" alt="Amanda by Agnieszka Czajkowska" height="100" width="100"></center>
<p>
</p>
<center>
<h3><a href="http://www.windowmaker.org/">Window Maker</a></h3>
</center>
<h2><strong>Foreword</strong></h2>
This tutorial is intended to help Window Maker users gain knowledge
about the many excellent features
of this window manager.&nbsp; The official Users Guide is worth reading. It can
be reached from the <a href="http://windowmaker.org/guide_toc.php">Window
Maker site</a>.&nbsp;
Other guides, tutorials and tips can be found at various sites on the
internet.&nbsp; An
internet search for "Window Maker guide how-to" might provide
additional worthwhile information. <br>
<br>
This guided tour is NOT supposed to be a README, INSTALL or FAQ . These
are worth reading, or more accurately, they should be considered COMPULSORY reading.
<br>
<br>
The information in the guided tour is based upon Window Maker version 0.95.3.
Check your version by opening WPrefs.app (the Window Maker Preferences
tool). The version number is shown in the initial WPrefs window just
below the "Window Maker Preferences" title. You may also run the
command "<span style="font-style: italic;">wmaker --version</span>" in
a terminal (without the quotation marks). This command returns the installed version number of Window Maker.
<br>
<h2><strong>A special word of thanks</strong></h2>
The original Window Maker Guided Tour site was created and maintained
for many years by Georges Tarbouriech. Where possible, I have retained
his original work - including the layout and structure of the pages,
the descriptions of Window Maker features,
and even some of his original graphics. I want these pages to be up-to-date,
but I also want them to be (as much as possible) a continuation
of Georges' work. <span style="font-style: italic;">Thank you, Georges</span>.
(Having said that, anything you
find in error is without question my fault - so don't blame Georges
for any mistakes!)
If you find an error, have a suggestion, or wish to make a comment, you may contact me by email at <span style="font-style: italic;">bnance&lt;atsigngoeshere&gt;uu.edu</span>.<br>
<br>
This tour will attempt to follow Window Maker development, but not
every update can be taken into account.&nbsp; In other words, this
tour can help you learn the basics, but does not pretend to provide all
of the detail or all of the latest information available in the
official README, INSTALL and FAQ documents provided by Window Maker
developers and maintainers.<br>
<h2><strong>Table of contents</strong></h2>
<ul>
<li><a href="prefs.html">Preferences</a><a href="prefs.html"><br>
</a></li>
<li><a href="win.html">Windows</a></li>
<li><a href="menu.html">Menus</a></li>
<li><a href="dock.html">Dock</a></li>
<li><a href="clip.html">Clip</a></li>
<li><a href="back.html">Backgrounds and themes</a></li>
<li><a href="misc.html">Miscellaneous</a></li>
<li><a href="news.html">News</a></li>
</ul>
<p>
</p>
<h2><strong>Archives</strong></h2>
<p>
</p>
<p>
Two archives are available: HTML and pictures.
<br>
<a href="tut.tar.gz">tut.tar.gz (12K) HTML files</a> <br>
<a href="img.tar.gz">img.tar.gz (613K) Picture files</a> </p>
<p>
</p>
<h2><strong>Links of interest</strong></h2><a href="https://www.youtube.com/watch?v=dIkbxMbhBpc" target="_blank">Window Maker on Debian 6 (YouTube)</a> by fourandnine<br>
<a href="https://wiki.archlinux.org/index.php/Window_Maker" target="_blank">Arch Linux Window Maker Wiki Entry</a><br>
<a href="http://packages.debian.org/squeeze/wmaker">Debian Stable (Squeeze) Package Listing</a><br>
<a href="http://www.youtube.com/watch?v=T7VFjW8p9NU" target="_blank">Window Maker on Mageia Linux (YouTube)</a> by St. Louis Mageia Users' Group<br>
<br>
<p>
</p>
<center><a href="http://www.windowmaker.org"><strong><span class="">Window
Maker</span></strong></a></center>
<p>
</p>

185
docs/guidedtour/menu.html Normal file
View File

@@ -0,0 +1,185 @@
---
layout: default
title: Guided Tour - Menus
---
</head>
<h1>
<center>Menus</center>
</h1>
<center><a href="index.html">Back
to Index</a></center>
<ul>
<li><a href="#menu">Menu list</a></li>
<li><a href="#root">Root window menu</a></li>
<li><a href="#list">Window list menu</a></li>
<li><a href="#wspace">Workspaces menu</a></li>
<li><a href="#apps">Application icon menu</a></li>
</ul>
<h2><a id="menu">Menu list</a></h2>
<p>Different menus are available within Window Maker:</p>
<ul>
<li>The root window menu or applications menu</li>
<li>The window list menu</li>
<li>The workspace menu</li>
<li>The application icon menu<br>
</li>
</ul>
<p>Menus provide a list of applications or commands for execution. They
can be used to launch applications, to get information, to configure
the workspace...<br>
</p>
<p>Menus are opened by right-clicking either in the "blank" area of the
workspace or in a window's titlebar or in docked icons. The <em>window
list menu</em> is the only one opened with the middle mouse button.
With a two-button mouse, pressing both buttons at once usually does the
trick. A number of keyboard shortcuts are provided. These shortcuts are
indicated by the modifier key + letter shown to the right of a menu
item.</p>
<p>The keyboard can be used to open and move through some of the menus.
For instance, the root menu can be opened using F12 (default setting).
The Up and Down arrow keys can then be used to navigate through the
menu or the Left and Right arrow keys to jump between parent menus and
submenus. Hitting the <em>Enter</em> key executes the selected item.
the <em>Escape</em> key closes the menu or stops menu traversal.</p>
<p>Menus can be forced to remain open on the workspace by left-clicking
the titlebar. This creates a <em>close</em> button on the titlebar.</p>
<h2><a id="root">Root window menu</a></h2>
<center><img style="width: 107px; height: 261px;" alt="Root window menu (applications menu)" src="images/apm.png"></center>
<br>
The root window menu or applications menu is opened by right-clicking
on an empty area of the workspace or by hitting the pre-defined
keyboard shortcut (default is F12). This menu launches applications,
allows for the customization of the workspace (backgrounds, themes...),
and the management of other workspace characteristics using standard X
utilities (xprop, xfontsel, xcmap...).
<p>The menu content is totally configurable, either using WPrefs.app or
by editing the plain text menu file. Instructions on how to configure
one or the other can be found in the WindowMaker directory of the
distribution. To use WPrefs.app, menus must be in property list format
(plmenu). A script is available to convert plain text menus to property
list menus and it's called wm-oldmenu2new. </p>
<h2><a id="list">Window list menu</a></h2>
<center><img style="width: 265px; height: 141px;" alt="Window list menu" src="images/wlm.png"></center>
<br>
Middle-clicking an empty area of the workspace opens the window list
menu. With a two-button mouse, clicking both buttons at once usually
gives the same result. F11 is the default keyboard shorcut to open the
window list menu.
<p>This menu lists all windows - whether active or inactive - in every
workspace. The workspace containing each window is indicated at the
right of the window name. The current focused window is marked by a
diamond sign to the left of the window's name. Clicking any window in
the list focuses and raises the corresponding window and moves you to
the workspace where it's located.</p>
<h2><a id="wspace">Workspaces menu</a></h2>
<center><img style="width: 101px; height: 121px;" alt="Workspaces menu" src="images/wksm.png"></center>
<br>
<br>
The workspaces menu is part of the root menu (applications menu).
This item has two options: <em>new</em> and <em>destroy last</em>.
<p>The first option creates a new workspace and automatically switches
you to it. </p>
<p>The second option destroys the last workspace as soon as there are
no windows opened in it.</p>
<p>Each workspace has a corresponding item in this menu. The active
workspace is indicated by a diamond to the left of the workspace name
or number.</p>
<p>Clicking a workspace entry switches from the current workspace to
the selected workspace.</p>
<p>To change the name of a workspace, first "stick" the menu by
left-clicking the menu titlebar. Then <em>Ctrl + click</em> the menu
item to make it editable and type in the new name. Hitting <em>Return</em>
saves the new name, hitting <em>Escape</em> cancels the operation.</p>
<p>Key bindings allow movement from one workspace to another. Usually <em>Meta
+ (number)</em>. The <span style="font-style: italic;">Meta</span> key
is normally the "<span style="font-style: italic;">Alt</span>" key,
while <em>(number)</em> represents a number
key that corresponds to the workspace number. For instance 1 can be
the default workspace (workspace 1), 2 the second workspace and so on.
Thus,
<span style="font-style: italic;">Meta + 2</span> switches to workspace
2.</p>
<p>These key bindings can be set (or changed) from the keyboard
shortcut dialog in
WPrefs.app. </p>
<h2><a id="apps">Application icon menu</a></h2>
<center><img style="width: 98px; height: 119px;" alt="Icon application menu" src="images/dockm.png"></center>
<br>
<br>
Clicking an icon in the dock with the right mouse button brings a
menu for modifying that icon's application. There are six options
available in the application icon menu for docked applications. (Some
applications will not have all six&nbsp; options available.&nbsp; If an
option is not available, it will appear "greyed out" in the menu.) <br>
<ol>
<li>
<p>Clicking "Keep on top" places a check-mark beside that option,
which means that the icon will always be on "top" of
opened windows. If "Keep on top" is unchecked, windows will be allowed
to cover the icons in the dock. Selecting "Keep on top" for one icon
automatically affects all of the items in the dock. You cannot keep
just one docked icon on top of windows - it's all or nothing, one way
or the other.<br>
</p>
</li>
<li>
<p>"Launch" opens the application without double-clicking the icon.</p>
</li>
<li>
<p>"Bring here" unhides the application in the current workspace.</p>
</li>
<li>
<p>"Hide" hides the application or unhides it if already hidden.
Unhiding opens the application in the workspace where it is located.
(This option may not work if the application has it's own hiding menu
option.)</p>
</li>
<li>
<p>"Settings" allows the modification of application path and
arguments, the command line, and the icon used.</p>
</li>
<li>
<p>"Kill" closes the application immediately and should only be
used if absolutely necessary.</p>
</li>
</ol>
<center><a href="index.html">Back
to Index</a></center>

88
docs/guidedtour/misc.html Normal file
View File

@@ -0,0 +1,88 @@
---
layout: default
title: Guided Tour - Miscellaneous
---
<h1><strong>
<center>Miscellaneous</center>
</strong></h1>
<strong></strong>
<center><a href="index.html">Back to index</a></center>
<ul>
<li><a href="misc.html#loc" name="loc">Localization</a></li>
<li><a href="misc.html#font" name="font">Fonts</a></li>
<li><a href="misc.html#util" name="util">Utilities</a></li>
</ul>
<h2><a name="loc">Localization</a></h2>
As soon as Window Maker is compiled with some options and gettext
installed, it
is fully localizable. Check the INSTALL file. <br>
However, localization of menus can be used without the LANG environment
variable
set. Using pl menu allows to get menus in any available language
without setting
this variable. <br>
Why do such a "thing" instead of setting the localization the "right"
way? <br>
For some reasons users may want to keep the system default language
instead of
defining a new localization. One of the main reason is that most
software doesn't
exist in all languages. <br>
<h2><a name="font">Fonts</a></h2>
It's possible to change the fonts in Window Maker, editing the
WindowMaker file
or the WMGLOBAL file in ~/GNUstep/Defaults. <br>
Once again the INSTALL file gives instructions on how to do it. <br>
The specific file to edit varies according to the fonts to be changed. <br>
The script <span style="font-style: italic;">wsetfont</span> is
provided to do the job.
<h2><a name="util">Utilities</a></h2>
Window Maker provides the user with some useful utilities. <br>
There is a README file concerning these scripts in the util directory. <br>
Almost each script has it's own man page recommended reading. <br>
These utilities mainly concern the GUI: icons, styles, fonts, menus,
backgrounds. <br>
A few of them deserve special interest as many users don't seem to know
about them. <br>
The <span style="font-style: italic;">wdwrite</span> script, for
instance, writes data into the
configuration
files. <br>
The <span style="font-style: italic;">setstyle</span> (or <span style="font-style: italic;">getstyle</span>) scripts are used to
manage themes. <br>
<span style="font-style: italic;">Wxcopy</span> and <span style="font-style: italic;">wxpaste</span> allows copying and pasting
using the X cutbuffer. <br>
The first one makes part of the default applications menu, in the
selection
item. <br>
For KDE users, wkdemenu.pl is worth using. <br>
From version 0.63.0 on, a new utility is available : <span style="font-style: italic;">wmagnify</span>. It allows magnification
of the area under the mouse pointer.<br>
<br>
<center><a href="index.html">Back to index</a></center>

168
docs/guidedtour/news.html Normal file
View File

@@ -0,0 +1,168 @@
---
layout: default
title: Guided Tour - News
---
<h1><strong>
<center>News</center></strong></h1>
<strong>
</strong>
<p>
</p>
<center><a href="index.html">Back to index</a></center>
<p>
<strong>This page has been added to allow easy discovery of the main
changes from one
version to another. The original text is drawn directly from the <a href="http://windowmaker.org/news.php" target="_blank">windowmaker.org site</a>.
Moving forward, it is anticipated that additional comments and
observations on Window Maker development news will be provided as well.</strong>
</p>
<h3>Version 0.95.4 released</h3>
<p> Window Maker 0.95.4 was released on January 3rd 2013. There was a major code cleanup related to icons, some changes
in WPrefs, the addition of a new "Center" placement strategy, support for _NET_FRAME_EXTENTS, the removal of CPP
dependency to process menu files and small fixes and improvements all around.</p>
<h3>Version 0.95.3 released</h3>
<p> Window Maker 0.95.3 was released on May 16th 2012. This release fixes a regression
which would cause more than one instance of an application to start (under some circunstances) when using menu
shortcuts. The window maximization procedures now have a more intuitive behavior with respect to remembering
the old geometry and going back to it. Furthermore, there are some other small fixes and cleanups.</p>
<h3>Version 0.95.2 released</h3>
<p> Window Maker 0.95.2 was released on February 14th 2012, and it contains just a few
commits on top of 0.95.1. They were necessary to fix a few issues like 'make dist' not compiling.
Furthermore a few more code cleanups slipped in.</p>
<h3>Version 0.95.1 released</h3>
<p>Window Maker 0.95.1 was released on January 29th 2012.</p>
<p>The last official Window Maker release was version 0.92.0 from 2005, and version 0.95.1 contains many bug fixes and
also a few new features.</p>
<h3>New features and highlights</h3>
<p>The following list is incomplete, but should give a first-order approximation to the new features in this release.
For the truly curious among you, reading through <code>git log</code> is the only complete source of information.</p>
<ul>
<li>
<p><a href="http://repo.or.cz/w/wmaker-crm.git/commit/6924454836b3a9432def2749f093ea060ac82e97">Left Half / Right
Half Maximize</a>.</p>
</li><li>
<p><a href="http://repo.or.cz/w/wmaker-crm.git/commit/cf62d1591f5aef1e6760a8c0881a6de97ae26e92">Maximus: tiled
maximization</a>. Maximizes a window such that it occupies the largest area without overlapping others.</p>
</li><li>
<p><a href="http://repo.or.cz/w/wmaker-crm.git/commit/a063338175511c4e6af211cef9f2c8a555d7cb44">New mouse-resizing
functionality</a>. Windows can now be resized vertically (horizontally) using MOD+Wheel (CTRL+Wheel).</p>
</li><li>
<p><a href="http://repo.or.cz/w/wmaker-crm.git/commit/05720d97076ffc1569e50d904b998ec99c3d3d4e">History and TAB
completion in dialogs</a>. To use this new functionality in your old WMRootMenu, replace %a by %A in the relevant
entry. It will look like this <code>(Run..., SHEXEC, "%A(Run, Type command:)")</code>. Or use
<code>wmgenmenu</code> to generate a new menu.</p>
</li><li>
<p><a href="http://repo.or.cz/w/wmaker-crm.git/commit/a257e16593bb471662ce46f65d489c2ba6d87813">Bouncing appicon
effect</a>.</p>
</li><li>
<p>New applications (<a href="http://repo.or.cz/w/wmaker-crm.git/commit/1861880239634774bf898175a3155b7c7cd9b59c">wmgenmenu</a> and wmmenugen)
to generate the root menu automatically by looking which applications you have on your $PATH. Translations to
German, <a href="http://repo.or.cz/w/wmaker-crm.git/commit/077a2eaa71623421eaffc234c30e6d40a52f0220">Spanish and
French</a> of menus generated by wmgenmenu.</p>
</li><li>
<p><a href="http://repo.or.cz/w/wmaker-crm.git/commit/56d856878743ec2d3b8d98ab6a0b61a6b2c99129">Automatic detection
of configuration changes</a>. Linux users whose kernel supports the <a href="http://en.wikipedia.org/wiki/Inotify">inotify</a> mechanism have their configuration changes detected
automatically without polling, reducing the number of CPU wakeups.</p>
</li><li>
<p><a href="http://repo.or.cz/w/wmaker-crm.git/commit/9318a7f42870753bd6b8c306573936369aa819f4">Improved dockapp
recognition.</a></p>
</li><li>
<p>And many trivial things which reduce little annoyances one might have. For example, an option was added to
control whether or not Window Maker should do <a href="http://repo.or.cz/w/wmaker-crm.git/commit/d6c134f420bfa1cd6b6a9474d01548933b559901">automatic workspace
switching</a> to satisfy a focus request from a window located in another workspace.</p>
</li><li>
<p>(For developers). The <a href="http://repo.or.cz/w/wmaker-crm.git/commit/442e3876c6e5a78c6ed385ec204647553f45c168">addition</a> of a debian/
folder which allows the creation of a debian package for wmaker using the git sources.</p>
</li><li>
<p><a href="http://repo.or.cz/w/wmaker-crm.git/commit/b6689a0108fd06ba4d7bf22b789b3de531c2ad70">Added keyboard
shortcut to uncover/cover the dock</a>.</p>
</li><li>
<p><a href="http://repo.or.cz/w/wmaker-crm.git/commit/18408fff93468c533bf4aef3ce6c9808b415adde">Mac OS X-style
window cycling</a>.</p>
</li><li>
<p><a href="http://repo.or.cz/w/wmaker-crm.git/commit/c201e1612c1798106ccc2f806669a90b0bbb7a19">Preliminary XRandR
support</a> (needs a bit more work to be bug-free; not compiled in by default. Use --enable-xrandr if you want to
test it).</p>
</li>
</ul>
<h3>Bug fixes</h3>
<p>Window Maker 0.92.0 was already very stable, but many bugs were fixed in this release. A <strong>very</strong>
incomplete list is given below, and as time permits it will be updated (including links to the commits) in the future.
But the message now is that if you don't like bugs, use version 0.95.1.</p>
<ul>
<li>
<p><a href="http://repo.or.cz/w/wmaker-crm.git/commit/37829a7c60ca09eb47d4d82b00070f6f6c0fb277">Fix loading saved
states on 64-bit systems</a></p>
</li><li>
<p>Fix to avoid a segfault when creating more than 81 workspaces, as reported on youtube <a href="http://www.youtube.com/watch?v=fkNJZvKwmhE">here</a>.</p>
</li><li>
<p><a href="http://repo.or.cz/w/wmaker-crm.git/commit/c91bb1ba1360006c568db37438779e525868cf17">Periodic focus
bug</a>.</p>
</li>
</ul>
<h3>Summary of changes</h3>
<p>A lot of effort was put into cleaning up the code, with lots of code removal and tidying things up. The following
output should give you an idea of the development in the last cycle:</p>
<pre>git diff --shortstat wmaker-0.92.0+..wmaker-0.95.1<br> 592 files changed, 118361 insertions(+), 133342 deletions(-)<br>git diff --shortstat 688a56e8ab67b..wmaker-0.95.1<br> 566 files changed, 37676 insertions(+), 41817 deletions(-)<br></pre>
The first shortstat is really everything, including the (huge) patch generated in this <a href="http://repo.or.cz/w/wmaker-crm.git/commit/688a56e8ab67b56550e2874d9d7423f0d435bfd9">commit</a> from 2009, which changed the old
sources to the linux kernel coding style. The second shortstat contains the summary of development afterwards -- but included is
the addition of a debian folder with files summing around ~20k lines. The full diffstat for the second command can be seen
<a href="http://windowmaker.org/fulldiffstat.php">here</a>.
<p>
</p>
<center><a href="index.html">Back to index</a></center>

476
docs/guidedtour/prefs.html Normal file
View File

@@ -0,0 +1,476 @@
---
layout: default
title: Guided Tour - Prefs
---
<h1>
<center>Preferences</center>
</h1>
<p>
</p>
<center><img style="width: 64px; height: 64px;" src="images/wprefs.jpg" alt="Amanda by Agnieszka Czajkowska"></center>
<p>
</p>
<center><a href="index.html">Back
to Index</a>
<h2 style="text-align: left;">WPrefs.app</h2>
</center>
<p>WPrefs.app is the heart of the configuration process in Window Maker.</p>
<p>Upon installing Window Maker and running it for the first time, the
WPrefs icon is already docked. By default, it's the one with the
GNUstep logo in the background and a few tools in the foreground
(although your distibution may use the plain GNUstep icon or something
enitrely different). Normally Linux distributions position WPrefs as
the second or third icon in the
Dock column by default, just above or below the terminal icon. <br>
</p>
<center>
<p><img style="width: 64px; height: 64px;" alt="GNUstep Logo with Tools" src="images/wmakerconf.png" align="middle" hspace="20"><img style="width: 64px; height: 64px;" alt="GNUstep Logo" src="images/gnustep_64.png" align="middle" hspace="20"><br>
</p>
</center>
<p>Double-clicking on this icon opens the WPrefs.app window.
Across the top of the window there is a row of icons, each one
corresponding to a group of settings options. There is a checkbox for
balloon help on the bottom left of the WPrefs.app window. Most of the
following is taken directly from the content of the ballon help dialogs.</p>
<h2>Available preference settings</h2>
<ul>
<li><a href="#wplace">Window handling</a></li>
<li><a href="#switch">Window Focus</a></li>
<li><a href="#menu">Menu</a></li>
<li><a href="#icon">Icon</a></li>
<li><a href="#ergo">Ergonomy</a></li>
<li><a href="#search">Search path</a></li>
<li><a href="#worksp">Workspace</a></li>
<li><a href="#other">Other</a></li>
<li><a href="#appmenu">Applications menu</a></li>
<li><a href="#keyb">Keyboard shortcut</a></li>
<li><a href="#mouse">Mouse</a></li>
<li><a href="#appear">Appearance</a></li>
<li><a href="#exp">Expert user</a></li>
<li><a href="#font">Font configuration</a></li>
<li><a href="#edit">Editing the configuration file</a></li>
</ul>
<h2><a id="whand">Window handling</a></h2>
<center><img style="width: 519px; height: 414px;" alt="WPrefs.app window handling preferences" src="images/prefs1.png"></center>
<br>
Clicking the second icon allows you to select the window handling
options. Clicking on this icon opens a panel allowing you to define the
default placement and properties of windows in the workspace.
<ul>
<li>
<p><em>Window placement</em><br>
You can use the sliders around the screen representation to modify the
original placement.
The gadget tells Window Maker how to order windows on the screen: <span style="font-style: italic;">Random</span>, <span style="font-style: italic;">Manual</span>, <span style="font-style: italic;">Cascade</span> or <span style="font-style: italic;">Smart</span>. <span style="font-style: italic;">Automatic</span> is the default.</p>
</li>
<li>
<p><em>Edge resistance</em><br>
To set the edge resistance and whether it resists or attracts windows.
According to the selection, windows resist or attract when moved
against other windows or the edges of the screen. The slider defines
the threshold. Some applications' title bars may disappear
at the top of the screen, with the window being too high for the screen
area. Setting the edge
resistance to "0" may solve this problem.</p>
</li>
<li>
<p><em>Open dialogs in the same workspace as their owners</em><br>
Obviously, whether to force dialog boxes "spawned" by an application to
open in same workspace as their owners.</p>
</li>
<li>
<p><em>Opaque move/resize</em><br>
Clicking on <span style="font-style: italic;">opaque move</span>
causes windows to be moved with their contents visible. If not checked,
only the frame is displayed during the move. <span style="font-style: italic;">Opaque resize</span> makes window contents
visible during resizing, otherwise only the frame is displayed.<br>
</p>
</li>
<li>
<p><em>When maximizing</em><br>
This option allows the window to cover (or not) icons or the dock when
maximizing. </p>
</li>
</ul>
<h2><a id="switch">Window focus</a></h2>
<center><img style="width: 519px; height: 411px;" alt="WPrefs.app window focus controls" src="images/prefs2.png"></center>
<br>
The first icon from the left-hand side controls the way windows get
their focus (how they are activated).
<ul>
<li>
<p><em>Input focus mode</em> (two choices are available): <br>
<strong>Manual</strong> - click on the window to set keyboard input
focus.<br>
<strong>Auto</strong> - set keyboard input focus to the window
under the mouse pointer.</p>
</li>
<li>
<p><em>Install colormap in the window</em><br>
Select either (a) install the colormap in the window that has the input
focus or (b) that is under the mouse pointer.</p>
</li>
<li>
<p><em>Automatic window raise delay</em><br>
Setting the delay (in msec) for automatic window raising</p>
</li>
<li>
<p><em>Checkboxes</em><br>
The topmost check box prevents applications from receiving the focusing
mouse-click (I don't know why you would use this, but some people
obviously find it useful).&nbsp;
The bottom checkbox allows you to choose whether newly-opened
application windows automatically receive the focus, or must be clicked
to gain focus. </p>
</li>
</ul>
<h2><a id="menu">Menu</a></h2>
<center><img style="width: 519px; height: 412px;" alt="WPrefs.app menu preferences" src="images/prefs3.png"></center>
<br>
This panel allows you to set menu scrolling speed and submenu
alignment with the parent menu. In addition, two checkboxes are
provided:
<ul>
<li>The topmost box forces submenus to open inside the screen instead
of scrolling&nbsp; when they would otherwise be off-screen.<br>
</li>
<li>The middle box allows submenus to open off-screen, but causes
off-screen menus to scroll when the mouse pointer is
moved over them. This setting is also of value if you "tear off" a menu
and leave it positioned on the desktop. In that case, you might wish to
"park" the menu off-screen (with only the titlebar showing, for
example) and have it reappear when you mouse over it. This is
convenient in some workflows, as when you have multiple applications
open and you are using the window list menu to switch between
applications.</li>
<li>The bottom box allows you to assign EMACS-like keybindings for
the selection of menu items.<br>
</li>
</ul>
<h2><a id="icon">Icon</a></h2>
<center><img style="width: 516px; height: 410px;" alt="WPrefs.app icon preferences" src="images/prefs4.png"></center>
<br>
<br>
<p>Set icon or miniwindow handling options.<br>
</p>
<ul>
<li><em>Icon positioning</em><br>
This area defines the initial placement of miniwindows or icons will be
displayed: <span style="font-style: italic;">bottom, top, right, left</span>...<br>
</li>
<li>
<p><em>Checkboxes</em><br>
The topmost box enables/disables auto-arrangement of icons.&nbsp; The
bottom box places miniwindows for opened applications on all existing
workspaces (<span style="font-style: italic;">omnipresent</span>).</p>
</li>
<li>
<p><em>Iconification animation</em><br>
When an application's window is miniaturized, <span style="font-style: italic;">miniaturization animation style</span>
offers four animation choices.</p>
</li>
<ul>
<li>Shrinking/Zooming,<br>
</li>
<li>Spinning/Twisting,<br>
</li>
<li>3D Flipping, or<br>
</li>
<li>None </li>
</ul>
<li>
<p><em>Icon size</em><br>
Selects the size of the icons shown when a window is miniaturized and
for application icons. Dockapp developers usually assume that tiles
will be 64x64 pixels, so it's
probably a good idea to leave it at that size, unless you know you
won't be using dockapps.</p>
</li>
</ul>
<h2><a id="ergo">Ergonomy</a></h2>
<center><img style="width: 518px; height: 413px;" alt="WPrefs.app ergonomic settings" src="images/prefs5.png"></center>
<br>
Various types of information are defined in this panel.
<ul>
<li>
<p><em>Size display</em> <br>
Window Maker provides a box that informs you about the size of a window
during resizing. You may choose to have this display (a) in the center
of the screen, (b) the center of the screen, (c) the center of the
resized window, (d) the side and bottom of the window as a technical
drawing-like size display or (e) not at all.</p>
</li>
<li>
<p><em>Position display</em><br>
Same information as above but regarding the screen placement of a
window while moving (no technical drawing-like option).<br>
</p>
</li>
<li>
<p><em>Workspace border</em><br>
You can set a small border for the workspace. This allows you to easily
access the clip (for instance) when windows are maximized.</p>
</li>
<li>
<p><em>Show balloon text for</em><br>
Selecting
checkboxes displays balloon text for: incomplete window
titles, miniwindow titles, application and dock icons, or internal
help. This may be useful for new users but many people find having help
balloons pop out all over the desktop gets annoying quickly. I use the <span style="font-style: italic;">incomplete window title</span> and the <span style="font-style: italic;">miniwindow title</span> options and none
of the others.<br>
</p>
</li>
<li>
<p><em>Checkbox</em><br>
The top check bos, if selected, raises a window when switching focus
with the keyboard. The bottom box enables a keyboard language selection
button on window titlebars (must have multiple keyboard maps/locales
defined - this is handy if you are working in multiple languages in
applications such as word processors, for example).<br>
</p>
</li>
</ul>
<h2><a id="search">Search Path</a></h2>
<center><img style="width: 521px; height: 408px;" alt="WPrefs.app icon and pixmap search path settings" src="images/prefs6.png"></center>
<br>
This panel is used to add or delete directory paths to search for
icons and pixmaps. These paths are used in the <span style="font-style: italic;">settings</span>
dialogs for dockapps and docked application icons, so having a good,
complete set of defined paths is important.&nbsp; This may require some
manual intervention, especially upon initial setup, since some default
paths will not be present on your system, while others not predefined
will be present.&nbsp; Use the <span style="font-style: italic;">add</span>
and <span style="font-style: italic;">remove</span> dialogs to
configure according to what is actually available.<br>
<h2><a id="worksp">Workspace</a></h2>
<center><img style="width: 520px; height: 410px;" alt="WPrefs.app workspace preference settings" src="images/prefs7.png"></center>
<br>
This panel defines navigation features within the workspace.
<ul>
<li>
<p><em>Workspace navigation</em><br>
Selecting the first
checkbox allows switching to the first workspace when
switching past the last workspace and vice-versa. Selecting the second
checkbox allows windows to be dragged from one workspace to another.
Selecting the third checkbox
cause a new workspace to be created when windows are dragged off the
last existing workspace. A selection menu allows you to define where
the workspace name&nbsp; is displayed each time you move from one
workspace to another (or not to display the workspace name at all).</p>
</li>
<li>
<p><em>Dock and clip</em><br>
Enables / disables the dock and/or the clip. I have seen some
interesting configurations using no dock but having the clip present.
For users who prefer a bottom or top "panel" of application launchers,
system monitors and other tools, this is a very valuable bit of
flexibility.<br>
</p>
</li>
</ul>
<h2><a id="other">Other</a></h2>
<center><img style="width: 516px; height: 413px;" alt="WPrefs.app other workspace configuration settings" src="images/prefs8.png"></center>
<br>
<br>
<p>This panel sets icon slide speed, shade animation speed, smooth
scaling and titlebar control (button) style. Animations and sound are
also defined here.</p>
<ul>
<li>
<p><em>Icon slide speed</em><br>
Selecting the left icon gives the slowest result, selecting the right
one gives the fastest.</p>
</li>
<li>
<p><em>Shade animation speed</em><br>
Same as icon slide</p>
</li>
<li>
<p><em>Smooth scaling</em><br>
If selected, neutralizes pixelization effect on background images. The
side-effect is to slow down background image loading.</p>
</li>
<li>
<p><em>Titlebar style</em><br>
To choose a more or less "NeXTish" titlebar. (The top version is
"newer," while the bottom left is ca. 1990 and the bottom right is ca.
1988.)<br>
</p>
</li>
<li>
<p><em>Animations</em><br>
Selecting the animations icon enables animations for window
miniaturization, shading and so on.<br>
Selecting
the superfluous icon enables "ghosting" of dock (when moved -
especially when moved from one side of the screen to the other) and
explosion
animation for icons you remove from the dock.<br>
</p>
</li>
<li>
<p><em>Dithering colormap for 8bpp</em><br>
For 8-bit displays (anyone still have one of these?) this enables
dithering and changes the number of colors to reserve either for
applications or for Window Maker. The Default setting almost always
gives the best result.</p>
</li>
</ul>
<h2><a id="appmenu">Applications menu</a></h2>
<center><img style="width: 517px; height: 413px;" alt="WPrefs.app application menu configuration" src="images/prefs9.png"></center>
<br>
<br>
<p>In this panel the applications menu and the commands to launch each
application can be defined. This panel has been changed in version
0.63.and later. It now displays the actual menu thus allowing direct
editing. This can be done only if the menu is in property list format.
Menus in plain text format can't be edited in WPrefs. Check the README
file in the Window Maker directory on how to use one or the other.</p>
<h2><a id="keyb">Keyboard shortcut</a></h2>
<center><img style="width: 518px; height: 412px;" alt="WPrefs.app keyboard shortcut settings" src="images/prefs10.png"></center>
<br>
Many actions in Window Maker have predefined keyboard shortcuts.
These actions mainly concern windows and workspaces.
Modifying, adding or removing shortcuts can be done in this panel.
Defining a shortcut can be done interactively, capturing the key
combination.
<h2><a id="mouse">Mouse</a></h2>
<center><img style="width: 520px; height: 413px;" alt="WPrefs.app mouse configuration" src="images/prefs11.png"></center>
<br>
This panel sets the mouse speed and double-click delay.
Mouse button bindings can be defined and can be disabled or enabled.
<p>The default setting binds the right mouse button to the applications
menu, middle button to the window list menu and left button to window
selection (focus). Of course, with a two button mouse, the middle
button binding will not work. However, on some OSes pressing both
buttons at once gives the same result as the one obtained with middle
button.</p>
<p>Starting from version 0.65 on, the mouse wheel can be used to switch
workspaces. This is not default behavior and must be enabled here.</p>
<p>The mouse grab modifier represents the keyboard shortcut to use for
actions like dragging windows with the mouse or clicking inside the
window. Mod1 (Alt) is the default.</p>
<h2><a id="appear">Appearance</a></h2>
<center><img style="width: 520px; height: 412px;" alt="WPrefs.app appearance settings" src="images/prefs12.png"></center>
<br>
In this panel, everything related to the appearance of the GUI (except
the background color or image) can
be configured. Windows, menus and icons can have their own background
"texture," meaning color gradients of various types can be configured
here. Texture, color, menu style, and title alignment can be fully
customized.
<h2><a id="exp">Expert user</a></h2>
<center><img style="width: 519px; height: 411px;" alt="WPrefs.app expert user settings" src="images/prefs13.png"></center>
<br>
Using this panel implies some knowledge. Many options are available.
Among these are:
<ul>
<li>Disabling miniwindows (useful when using with KDE and GNOME)</li>
<li>Using (or not) xset</li>
<li>Saving session on exit (highly recommended!)</li>
<li>Using SaveUnder in different objects</li>
<li>Using Win style cycling (added from version 0.63.0)</li>
<li>Disabling confirmation panel for the kill command</li>
<li>Disabling cycling colors highlighting of icons</li>
</ul>
<h2><a id="font">Font configuration</a></h2>
<center><img style="width: 517px; height: 411px;" alt="Wprefs.app font configuration options" src="images/prefs14.png"></center>
<br>
This panel allows you to configure fonts for the window and menu
titlebars, for the menu body text, and for the icon and clip
text.&nbsp; In addition, a font may be defined for desktop messages.<br>
<h2><a id="edit">Editing the configuration file</a></h2>
<p>If needed, the defaults configuration file found in
$(HOME)/GNUstep/Defaults/WindowMaker can be edited by hand. This file
is a database with a property list syntax. When selecting an option in
WPrefs.app, it's written down into this file. When modifying this
defaults file, it's very important to follow the syntax.<br>
</p>
<center><a href="index.html">Back
to Index</a>
</center>

106
docs/guidedtour/title.css Normal file
View File

@@ -0,0 +1,106 @@
body {
color: #FFF;
font-size: 14pt;
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
background-color: #505075;
border-size: 2px;
margin-top: 0px;
margin-right: 12px;
margin-bottom: 0px;
margin-left: 12px;
}
.hpadding {
color: #483d8b;
font-weight: normal;
font-size: 14px;
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
padding: 0px 10px
}
.textpadding {
color: white;
font-size: 14px;
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
line-height: normal;
margin: 0;
padding: 0 10px
}
a {
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
}
table .inner {
margin-left: 1em;
width: 90%;
}
h1 {
color: #ebdeff;
font-size: 20pt;
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
font-style: italic;
font-weight: bold;
line-height: 22pt
}
h2 {
color: #ebdeff;
font-size: 18pt;
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
font-style: italic;
line-height: 20pt
}
h3 {
color: #e8fd00;
font-size: 14pt;
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
font-style: normal;
line-height: 16pt
}
h4 {
color: #FFF;
font-size: 12pt;
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
font-style: normal;
font-weight: bolder;
line-height: 12pt
}
.caption {
font-size: 11pt;
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif
}
a:hover, a:focus {
text-decoration: underline;
font-style: italic;
color: #CCC;
}
a:link, a:visited, a:active {
text-decoration: underline;
color: #FFF;
}
img {
border: none;
}
#dock {
position: absolute; top: 100px; left: 5px;
}
#inhalt {
position: absolute; top: 40px; left: 100px;
min-width: 800px;
}
div.screenshot {
height: 250px;
border: none;
float: left;
margin: 5px;
}

366
docs/guidedtour/win.html Normal file
View File

@@ -0,0 +1,366 @@
---
layout: default
title: Guided Tour - Windows
---
<h1>
<center>Windows</center>
</h1>
<center><a href="index.html">Back
to Index</a>
</center>
<ul>
<li><a href="#desc">Description</a></li>
<li><a href="#focus">Focusing</a></li>
<li><a href="#order">Reordering</a></li>
<li><a href="#move">Moving</a></li>
<li><a href="#max">Maximizing</a></li>
<li><a href="#mini">Miniturizing</a></li>
<li><a href="#size">Resizing</a></li>
<li><a href="#shade">Shading</a></li>
<li><a href="#hide">Hiding</a></li>
<li><a href="#close">Closing</a></li>
<li><a href="#menu">Commands menu</a></li>
</ul>
<h2><a id="desc">Description</a></h2>
<p>General layout of a window:</p>
<ul>
<li>
<p><em>Titlebar</em>: Gives the name of the application, document
or window. It's color (usually) indicates the focus state (active or
inactive window). I say (usually) because some styles and themes do not
provide different colors for focused or unfocused windows - although
this is rare (and, I might add, cruel!).</p>
</li>
<li>
<p><em>Miniaturize button</em>:
Clicking on the left button of the titlebar iconifies the window.</p>
</li>
<li>
<p><em>Close button</em>:
Clicking on the right button of the titlebar closes the window or kills
the application.</p>
</li>
<li>
<p><em>Resizebar</em>:
The bottom part of the window. Dragging the resizebar with the mouse
resizes the window.</p>
</li>
<li><em>Client area</em>:
The window content. It can be an application, some text, a picture... </li>
</ul>
<h2><a id="focus">Focusing</a></h2>
<p>A window can be in two states: focused or unfocused. The focused
window is the active window, the one receiving keystrokes. It's
titlebar has a differentiated color (usually!). Dialog windows or
panels opened
from a main window, automatically get the focus. As soon as they are
closed, the main window gets the focus back.</p>
<p>Two modes are available to focus a window:</p>
<ul>
<li>
<p><em>Click to focus mode</em>: clicking on any part of the window
activates it.</p>
</li>
<li>
<p><em>Focus follows mouse mode</em>: moving the mouse pointer over
the window activates it. </p>
</li>
</ul>
<h2><a id="order">Reordering</a></h2>
<p>Windows can overlap other windows, in which case some will hide all
or part of others. Clicking on the titlebar or resizebar with the left
mouse button brings a window to the "front" (gives that window focus).
Selecting a window from the window list menu does the same.</p>
<p>Some key bindings are provided and are very useful when a window is
hidden behind others.</p>
<ul>
<li>
<p><em>Meta key + click on the titlebar with left mouse button</em>-<br>
sends the window to the back and gives focus to the topmost window.</p>
</li>
<li>
<p><em>Meta key + click on the client area with left mouse button</em>-<br>
brings the window to the front and focuses it.</p>
</li>
<li>
<p><em>Meta key + Up Arrow key</em>-<br>
brings the current focused window to the front.</p>
</li>
<li>
<p><em>Meta key + Down Arrow key</em>-<br>
sends the current focused window to the back.</p>
</li>
</ul>
<p>Many window attributes can be modified from the attributes panel in
the window commands menu (clicking the right mouse button on the
titlebar). From version 0.62.0, window cycling was changed to Windows
style (Alt-Tab).</p>
<h2><a id="move">Moving</a></h2>
<p>Clicking on the titlebar of a window and dragging it with the left
mouse button pressed moves the window.
The little box in the middle indicates the current position in pixels
relative to the top left corner of the screen (+0 +0).
Extra key bindings give more flexibility.
- Dragging the titlebar with middle mouse button: moves the window
without changing it's stacking order.
- Dragging the titlebar + Ctrl key: moves the window without focusing
it.
- Dragging the client area or the resizebar + Meta key: moves the
window.</p>
<h2><a id="max">Maximizing</a></h2>
<p>Double-clicking the titlebar while holding the Ctrl key resizes the
window's height to full screen.</p>
<p>Double-clicking the titlebar while holding the Shift key resizes the
window's width to full screen.</p>
<p>Double-clicking the titlebar while holding both Ctrl and Shift keys
resizes the window's height and width to full screen.
Double-clicking the titlebar while holding Ctrl or Shift key restores
the initial size of the window.</p>
<p>To prevent a maximized window from covering the dock, the "Keep on
top" option must be selected from the dock menu.</p>
<h2><a id="mini">Miniaturizing</a></h2>
<p>Clicking the miniaturize button (the left one on the titlebar)
shrinks the window into a miniwindow with an icon and a title and
places it at the bottom of the screen. Hitting the assigned shortcut
does the same. (Default is Meta + m.)</p>
<p>The miniwindow is different from the application icon in that the
miniwindow cannot be docked.</p>
<p>Double-clicking in the miniwindow restores a miniaturized window.
Double-clicking in an application icon with the middle mouse button
restores all miniaturized and hidden windows of this application.</p>
<h2><a id="size">Resizing</a></h2>
<p>The resizebar, at the bottom of the window, is divided into three
regions: left end region, middle region and right end region.</p>
<p>Depending upon the region you click, the resize operation is
constrained to one direction. </p>
<p>Clicking in the middle region of the resizebar and dragging it
vertically changes the window's height.</p>
<p>Clicking in either the left or right region of the resizebar and
dragging it horizontally changes the window's width. </p>
<p>Dragging with Shift key pressed gives the same result. Clicking in
either end region of the resizebar and dragging it diagonally changes
both height and width.</p>
<p>Key bindings give more options.</p>
<ul>
<li>
<p>Dragging the window in the client area with the right mouse
button + Meta key resizes the window.</p>
</li>
<li>
<p>Dragging the resizebar with the middle mouse button resizes the
window without bringing it to the front.</p>
</li>
<li>
<p>Dragging the resizebar + Ctrl key resizes the window without
focusing it.</p>
</li>
</ul>
<h2><a id="shade">Shading</a></h2>
<p>Double-clicking on the titlebar of a window shades it.
This means the window rolls up to it's titlebar. A shaded window has
almost the same properties as a normal window. It can be miniaturized
or closed.</p>
<p>From version 0.80.0, you can shade/unshade a window using a mouse
wheel on its titlebar. This of course, assumes your system is able to
manage a mouse wheel. The WMGLOBAL file in you $HOME/GNUstep/Defaults
should contain two new directives : MouseWheelUp and MouseWheelDown.</p>
<h2><a id="hide">Hiding</a></h2>
<p>Clicking the the miniaturize button (the left one on the titlebar)
with the right mouse button hides the application.
Using the middle mouse button unhides the application, simultaneously
opening the windows list menu and selecting the hidden application.
(Pressing both buttons at once with a two buttons mouse does the same
on some OSes.) If this doesn't work, use the F11 key binding (the
default) to open the windows list menu.</p>
<h2><a id="close">Closing</a></h2>
<p>Clicking the close button (the right one on the titlebar) closes the
window. When the close button has a different form (not an X), it means
an application is running in that window.
Double-clicking in this close button kills the application. This can be
done too with <em>Ctrl key + clicking the close button</em>.</p>
<p>Usually, it's much better to exit an application from inside
(through it's menu, for instance).</p>
<h2><a id="menu">Commands menu</a></h2>
<p>Clicking on the titlebar of a window with the right mouse button
opens a menu containing commands applying to this window. The keyboard
shortcut Ctrl + Esc can replace the click on the titlebar. Esc closes
this menu.</p>
<p><strong>List of Commands Menu commands:</strong></p>
<p><em>Maximize/Unmaximize</em>:<br>
Either maximizes or returns the window to it's initial state.</p>
<p><em>Miniaturize</em>:<br>
Miniaturizes the window (miniwindow). The keyboard shortcut is Meta + m.</p>
<p><em>Shade/Unshade</em>: Shades (or unshades) the window.</p>
<p><em>Hide</em>:<br>
Hides all windows of the application. Clicking on the application icon
unhides the windows.</p>
<p><em>Hide Others</em>:<br>
From version 0.80.1 it is possible to hide all others windows. The
window list menu allows to unhide selecting the window to redisplay.</p>
<p><em>Resize/Move</em>:<br>
When this menu option is selected, the window is ready to be moved or
resized (the little box with coordinates is displayed inside the
window). Clicking on the titlebar deselects the option.</p>
<p><em>Select</em>:<br>
Obviously selects the window which then can be moved or resized...
Reselecting this option deselects the window.</p>
<p><em>Move to</em>:<br>
Allows to move the window to another workspace (if existing!).</p>
<p><em>Attributes</em>:<br>
Opens the attributes panel to edit attributes and options for the
window.</p>
<p>Five options are available in this panel: Window specification,
Window attributes, Advanced options, Icon and initial workspace and
application specific.</p>
<ul>
<li>Window specification: Defines that the configuration will apply
to windows having their WM_CLASS property set to the selected name.
This is because windows can have different names.
From version 0.65.0, you can select the window to get the right
specification.</li>
<li>
<p>Window attributes: selecting the corresponding checkbox allows
to: </p>
<ul>
<li>disable titlebar</li>
<li>disable resizebar</li>
<li>disable close button</li>
<li>disable miniaturize button</li>
<li>disable border</li>
<li>keep on top</li>
<li>keep at bottom</li>
<li>omnipresent</li>
<li>start miniaturized</li>
<li>start maximized</li>
<li>full screen maximization</li>
</ul>
</li>
<li>
<p>Advanced options: selecting the corresponding checkbox allows
to: </p>
<ul>
<li>don't bind keyboard shortcuts</li>
<li>don't bind mouse clicks</li>
<li>don't show in the window list</li>
<li>don't let the window take focus</li>
<li>keep inside screen</li>
<li>ignore "Hide others"</li>
<li>ignore "Save session"</li>
<li>emulate application icon</li>
</ul>
</li>
<li>
<p>Icon and initial workspace: allow to </p>
<ul>
<li>choose an icon browsing directories</li>
<li>ignore client supplied icon when selecting the checkbox</li>
<li>define initial workspace</li>
</ul>
</li>
<li>
<p>Application specific: selecting checkboxes allows to:</p>
<ul>
<li>start hidden or with no application icon</li>
<li>collapse application icons (from version 0.65.0)</li>
</ul>
</li>
<li>
<p>From version 0.80.0 a new checkbox is available : "Shared
application icon". It replaces the "Collapse application icon"
checkbox. That is, you can have many open windows from the same
application with only one appicon. This feature is on by default except
for some incompatible applications. This behavior can be defined for
all windows in the Window Specification inspector selecting the
Defaults for all windows checkbox.</p>
</li>
</ul>
<p>You can revert to the old behavior changing SharedAppIcon to "No" in
the WMWindowAttributes file, either in the global domain or in the
local domain : $HOME/GNUstep/Defaults.</p>
<p><em>Options</em>:</p>
<p>Submenu options allow to:</p>
<ul>
<li>to keep the window on top</li>
<li>to keep the window at bottom</li>
<li>to keep the window omnipresent</li>
<li>to set shortcuts for the window</li>
</ul>
<p>Ten shortcuts are available as soon as they have been set in the
keyboard shortcut dialog. The shortcuts to define are those named
"Shortcut for window + figure". Then, using the defined shortcut gives
the focus to the window.</p>
<p><em>Close</em>:<br>
Closes the window</p>
<p><em>Kill</em>:<br>
Kills the application.
Usually, an application must be closed from inside (menu or other
means). This option is especially reserved for "emergency" cases.</p>

View File

@@ -21,16 +21,16 @@ title: Documentation
sections below, which should make the experience of learning Window Maker a more pleasant one.</p>
<ul>
<li><a href="installation.php">Installation Basics</a></li>
<li><a href="wmaker_install.php">Window Maker Compilation and Installation</a></li>
<li><a href="wmaker_i18n.php">Window Maker Internationalisation</a></li>
<li><a href="installation.html">Installation Basics</a></li>
<li><a href="wmaker_install.html">Window Maker Compilation and Installation</a></li>
<li><a href="wmaker_i18n.html">Window Maker Internationalisation</a></li>
<li><a href="guidedtour/index.html">Guided Tour</a></li>
<li><a href="guide_toc.php">User Guide</a></li>
<li><a href="guide_toc.html">User Guide</a></li>
<!-- <li><a href="desktop.php">Desktop/X Integration</a></li> -->
<li><a href="FAQ.php">FAQ</a></li>
<li><a href="FAQ.html">FAQ</a></li>
<li><a href="wings.php">WINGs</a></li>
<li><a href="wings.html">WINGs</a></li>
</ul>
<h3>Very frequently asked question </h3>

103
docs/installation.html Normal file
View File

@@ -0,0 +1,103 @@
---
layout: default
title: Documentation
---
<br />
<br />
<h3>Installation Basics</h3>
<h3>Downloading and Extracting</h3>
<p>The first necessary step is to <a href="http://windowmaker.org/pub/source/release/WindowMaker-0.95.5.tar.gz">download</a>
the Window Maker source distribution. From this point on, we'll assume it has
been retrieved and is residing on the local hard disk. The next step is to extract it, and change into the source
directory.</p>
<pre>
<code># cd /path/to/your/download
# gunzip WindowMaker-0.xx.xx.tar.gz
# tar -xf WindowMaker-0.xx.xx.tar
# cd WindowMaker-0.xx.xx
</code>
</pre>
<p>Now that things are extracted, it's time to look at the relevant pieces of documentation. Most UNIX oriented free
software packages come with a README file, and Window Maker is no exception. The README file contains a summary
overview of what the distribution is, what the various directories contain, and other general information.</p>
<p>Moving along, we have the NEWS file. For now, we just want to point out its existence. It will become more useful to
novice users over time. Veteran Window Maker users will find it handy for keeping their configuration files up to date,
and learning about various changes which affect Window Maker's behavior.</p>
<p>The two remaining files we need to look at are INSTALL and BUGS. The INSTALL file provides additional information
that is necessary to install Window Maker successfully. The BUGS file contains a list of known Window Maker bugs. If a
user feels they've found a bug in Window Maker, they should consult the BUGS file first. If the bug isn't listed,
proceed to the Bug Tracker and see if its there.</p>
<h3>Compiling</h3>
<p>After extracting the latest version of Window Maker using the previous instructions, the next step is to compile it.
First of all, the configure script should be run. It will test to make sure all the necessary libraries, compilers and
build tools are available on the local system. The configure script allows for various arguments to be passed to it
which relate to Window Maker's installation. For a complete list of all configurable settings, enter:</p>
<pre>
<code>$ ./configure --help
</code>
</pre>
<p>Commonly used configuration options are:</p>
<pre>
<code>--prefix=DIR --enable-modelock --enable-xinerama --enable-silent-rules
</code>
</pre>
<p>The first configuration option lets Window Maker be installed into a non-default installation directory (e.g if
Window Maker cannot be installed system wide for some reason, a user can specify a path under his/her home directory).
The default installation directory is /usr/local/bin. Note that root access
will be needed later on during the installation process if the defaults were used.</p>
<p>So if a user johndoe would like to install the wmaker binary into /home/johndoe/wmaker/bin instead of the default
/usr/local/bin, the following argument would be passed to the configure script:</p>
<pre>
<code> $ ./configure --prefix=/home/johndoe/wmaker
</code>
</pre>
<p>After the configure script has been successfully executed, Window Maker can now be compiled with the make command;
simply enter:</p>
<pre>
<code>$ make
</code>
</pre>
<p>The final step is to install the binaries and other support files. This is accomplished by entering: # make install</p>
<p>Note that this is the step that needs to be performed by root if the default installation directory was used, or if
a directory was specified that the running user cannot write to. If the installing user has root access, they should
first become root by issuing <code>su - root</code>. Otherwise, reconfigure and recompile Window Maker by specifying a
different installation directory, or kindly ask the local system administator to install it system wide.</p>
<p>Once Window Maker is installed system-wide, a default configuration can be installed on a per-user basis, through
the bundled installation script, <code>wmaker.inst</code>. Enter <code>wmaker.inst</code> in a terminal emulator to
configure Window Maker for your user.</p>
<p>This script copies the default Window Maker configuration to your user's home directory and sets Window Maker as the
default window manager. It is recommended to create ~/GNUstep before executing the script.</p>
<h3> Final tweaks</h3>
<p> Edit your ~/.xinitrc to load your newly installed Window Maker using the line
<code> exec /usr/local/bin/wmaker</code>.</p>
<p> Generate a new root menu (accessible with F12) with <code>wmgenmenu</code>, for example
<pre>
<code> $ wmgenmenu > $HOME/GNUstep/Defaults/WMRootMenu </code>
</pre>
<p> Another recommended step is to install a few dockapps like wmvolman, wmmixer and wmsystemtray which allow one to
easily mount external media on /media among other things. Visit <a href="http://www.dockapps.net">dockapps</a>
for many more choices.</p>
<br><br><br>

74
docs/wings.html Normal file
View File

@@ -0,0 +1,74 @@
---
layout: default
title: WINGs
---
<br />
<br />
<h3>WINGs Is Not GNUstep</h3>
<p>While GNUstep is our ideal development framework, it's overkill for a window manager like Window Maker. We had a
need for a quick, lightweight toolkit to handle basic window manager tasks, which is how WINGs was born, and why it has
become an integral part of Window Maker's core.</p>
<p>Unlike the general uses of the GNUstep development environment, the WINGs toolkit was designed as a specific
solution for Window Maker. It is not implemented in an object-oriented language, but was designed with OO schemas in
mind. It is encapsulated in objects that have various methods (functions), which in turn can be accessed like real
objects (i.e it's unknown what they contain, and they only have the interface functions to alter their data). As much
as C will allow, that is. What really matters is that it's functional and small enough for our purposes.</p>
<p>Surprisingly, there have been several developers who think WINGs is mature and functional enough to write full
fledged applications with it. For developers who are interested in creating real applications, we would encourage them
to look at GNUstep instead. GNUstep is written in Objective-C, and anyone with a solid C++ background shouldn't need
more than an hour to begin programming in Objective-C. For more information on this, please visit the <a href=
"http://www.gnustep.org/developers/documentation.html">GNUstep Developer Documentation</a> section.</p>
<p>So, what does WINGs do for us, specifically? It contains many necessary widgets, such as the buttons, file browser,
color chooser, and text editor dialog that are all used for creating the UI. It is currently missing a few important
items, such as DnD, treeview, and application menus, but those will be integrated in future releases.</p>
<p>One of the more important aspects of WINGs is that it now provides proplist functionality. proplist, short for
<a href="http://en.wikipedia.org/wiki/Property_list">property list</a>, is what Window Maker uses to generate and
maintain structured configuration files. This data is stored as plain ASCII text under a user's ~/GNUstep directory.
These files are what make up the menus, the current state and appearance of the desktop, the Dock, the Clip, and the
values set in WPrefs.</p>
<p>As an example, here is a short snippet from the proplist version of the default menu:</p>
<pre>
<code>(
Applications,
(
Info,
("Info Panel", INFO_PANEL),
(Legal, LEGAL_PANEL),
("System Console", EXEC, xconsole),
("System Load", SHEXEC, "xosview || xload"),
("Process List", EXEC, "xterm -e top"),
("Manual Browser", EXEC, xman)
),
(Run..., EXEC, "%a(Run,Type command to run:)"),
...
)
</code>
</pre>
<h3>External sources of information</h3>
<p>As this section evolves, we will be providing more documentation on the internals of WINGs. For the time being,
developers interested in WINGs should see Alexey Voinov's <a href=
"http://voins.program.ru/windowmaker/wingsman.html">WINGsman documentation project</a>. Starters may find <a href=
"http:///www.quantitativefinanceservices.com/OpenDir/WINGslib/WINGToc.html">this tutorial</a>, which includes a library
listing based on Voinov's work, useful. We'll try to cover some examples and/or more tutorials on how to program small
applications in WINGs in the near future. For anyone already using WINGs for a project, please <a href=
"lists.php">contact us</a>, as we'd like to get an idea of its popularity and practical uses, as well as some
additional material to place here.</p><br />
<br />
<br />
</td>
</tr>
</table>
<?php include("footer.php"); ?>
</body>
</html>

486
docs/wmaker_i18n.html Normal file
View File

@@ -0,0 +1,486 @@
---
layout: default
title: Internationalisation
---
<a name="Top"></a>
<a name="Window-Maker-Internationalisation"></a>
<h1 class="top">Window Maker Internationalisation</h1>
<p>A guide to enable support for language translations
in <small>WINDOW MAKER</small> and to the contributors
who want to help translating.
</p>
<a name="SEC_Contents"></a>
<h2 class="contents-heading">Table of Contents</h2>
<div class="contents">
<ul class="no-bullet">
<li><a name="toc-Enabling-Languages-support-1" href="#Enabling-Languages-support">1 Enabling Languages support</a>
<ul class="no-bullet">
<li><a name="toc-Getting-the-list-of-supported-languages" href="#Getting-the-list-of-supported-languages">1.1 Getting the list of supported languages</a></li>
<li><a name="toc-Translations-for-Menus" href="#Translations-for-Menus">1.2 Translations for Menus</a></li>
<li><a name="toc-Setting-LINGUAS-at-system-level" href="#Setting-LINGUAS-at-system-level">1.3 Setting <code>LINGUAS</code> at system level</a></li>
</ul></li>
<li><a name="toc-Choosing-the-Language-1" href="#Choosing-the-Language">2 Choosing the Language</a></li>
<li><a name="toc-Troubleshooting-1" href="#Troubleshooting">3 Troubleshooting</a></li>
<li><a name="toc-Contribute-to-Translations-1" href="#Contribute-to-Translations">4 Contribute to Translations</a>
<ul class="no-bullet">
<li><a name="toc-Install-the-latest-sources" href="#Install-the-latest-sources">4.1 Install the latest sources</a></li>
<li><a name="toc-Updating-the-Translations" href="#Updating-the-Translations">4.2 Updating the Translations</a></li>
<li><a name="toc-Translate-the-Man-Pages" href="#Translate-the-Man-Pages">4.3 Translate the Man Pages</a></li>
<li><a name="toc-Checking-the-Result" href="#Checking-the-Result">4.4 Checking the Result</a></li>
<li><a name="toc-Submitting-your-Contribution" href="#Submitting-your-Contribution">4.5 Submitting your Contribution</a></li>
</ul></li>
</ul>
</div>
<br>
<p>This manual is for Window Maker, version git#next.
</p>
<hr>
<a name="Enabling-Languages-support"></a>
<a name="Enabling-Languages-support-1"></a>
<h2 class="chapter">1 Enabling Languages support</h2>
<p><small>WINDOW MAKER</small> has the possibility to be translated in many languages, but by default none of
them will be installed, and the support for translation will not be compiled.
</p>
<p>To enable the translation capabilities, you have to specify which language(s) you want to be
installed: this is done with the variable <code>LINGUAS</code> when running the <code>configure</code> script.
This variable should contain the space-separated list of languages you want to install.
</p>
<p>You could for instance enable both French (<code>fr</code>) and Dutch (<code>nl</code>) with this:
</p>
<div class="example">
<pre class="example">./configure LINGUAS=&quot;fr nl&quot;
</pre></div>
<p>You can of course add any other option that you want to the <code>configure</code> command.
From the moment you specify the variable, the <code>configure</code> script will check that you have
the appropriate dependencies for this (basically the <code>gettext</code> function and the <code>libintl</code>
library); when you run <code>make</code> to compile the project, it will also compile the translation
(<code>mo</code> files) for the language(s) you asked (if available, of course), and during
<code>make install</code> it will install them in the usual directory.
</p>
<p>The installation directory can be changed with the standard option <samp>--localedir</samp> to the
<code>configure</code> script, the default path being
<samp><em>&lt;prefix&gt;</em>/share/locale/<em>&lt;lang&gt;</em>/LC_MESSAGES</samp>).
</p>
<a name="Getting-the-list-of-supported-languages"></a>
<h3 class="section">1.1 Getting the list of supported languages</h3>
<p>The naming convention for the languages follows the <cite>ISO 639-1</cite> standard,
for which you can find a summary list in the
<a href="https://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html">GNU gettext manual</a>.
</p>
<p>But as <small>WINDOW MAKER</small> does not support all of them, the <code>configure</code> script will print a
warning for each language you specify that it does not know, and sum up at the end the list of
enabled languages that will be installed.
</p>
<p>There is a non-standard possibility to set <code>LINGUAS</code> to <code>list</code>, in which case the
<code>configure</code> script will provide you the list of languages it supports, and stop:
</p>
<div class="example">
<pre class="example">./configure LINGUAS=&quot;list&quot;
</pre></div>
<p>There is also another non-standard possibility to enable all the languages that <small>WINDOW MAKER</small>
supports by setting <code>LINGUAS</code> to <code>*</code>.
This is an internal trick implemented so the development team can have the command
<code>make distcheck</code> include some checks on translations:
</p>
<div class="example">
<pre class="example">./configure LINGUAS='*'
</pre></div>
<a name="Translations-for-Menus"></a>
<h3 class="section">1.2 Translations for Menus</h3>
<p>In order to propose an <em>Application Menu</em> (also called <em>Root Menu</em>) that is also
translated in the language of the interface, <small>WINDOW MAKER</small> implements two complementary
mechanisms:
</p>
<p>The first, always enabled when i18n support is enabled, is to look for the menu file containing the
name of the locale.
For example, if the file is called <samp>menu</samp> and the language is set as <code>LANG=fr_FR.utf-8</code>,
then <small>WINDOW MAKER</small> will search for, and use the first match found:
</p>
<ul>
<li> <code>menu.fr_FR.utf-8</code>
</li><li> <code>menu.fr_FR</code>
</li><li> <code>menu.fr</code>
</li><li> <code>menu</code>
</li></ul>
<p>The second possibility, which is not enabled by default, is to be able to use a custom <samp>po</samp>
file which contains the translations for the text of the menu.
This feature is enabled at compile time, using the option <samp>--with-menu-textdomain</samp> to the
<code>configure</code> script. For example, if you specify:
</p>
<div class="example">
<pre class="example">./configure --with-menu-textdomain=WMMenu
</pre></div>
<p>then the translations for the menu will be searched in the file <samp>WMMenu.mo</samp> located
at the standard location, the default path being
<samp><em>&lt;prefix&gt;</em>/share/locale/<em>&lt;lang&gt;</em>/LC_MESSAGES/<em>WMMenu</em>.mo</samp>.
</p>
<p>If you do not enable the feature (the default behaviour, or with an explicit
<samp>--without-menu-textdomain</samp>), then <small>WINDOW MAKER</small> will <b>not</b> try to translate the
strings, even using its own domain file (<samp>WindowMaker.mo</samp>).
</p>
<a name="Setting-LINGUAS-at-system-level"></a>
<h3 class="section">1.3 Setting <code>LINGUAS</code> at system level</h3>
<p>As the variable <code>LINGUAS</code> is quite standard, you also have the possibility to set its value in
the <samp>config.site</samp> file for <small>AUTOCONF</small>.
This file can be placed in one of these paths:
</p>
<ul>
<li> <samp><em>&lt;prefix&gt;</em>/share/config.site</samp>
</li><li> <samp><em>&lt;prefix&gt;</em>/etc/config.site</samp>
</li></ul>
<p>This way, the same language list will be used for all the programs that use <small>AUTOCONF</small> that you
would compile.
Please note that if you also specify a value on the command line, it will have precedence over the
value in that file.
</p>
<hr>
<a name="Choosing-the-Language"></a>
<a name="Choosing-the-Language-1"></a>
<h2 class="chapter">2 Choosing the Language</h2>
<p>If you have compiled and installed <small>WINDOW MAKER</small> with support for your language,
the effective translation is done is the very same way as any other application on an <small>UNIX</small>
system, you just have to set the shell variable <code>LANG</code> to your language before <code>wmaker</code>
is started.
In <code>sh</code> type of shell (<small>SH</small>, <small>KSH</small>, <small>BASH</small>, ...), this is done for example with
(<code>fr</code> is for French):
</p>
<div class="example">
<pre class="example">export LANG=fr
</pre></div>
<p>There is also a command line option <samp>--locale</samp> for <small>WINDOW MAKER</small> which may be used to set
the language:
</p>
<div class="example">
<pre class="example">wmaker --locale fr
</pre></div>
<p>When using this option, <small>WINDOW MAKER</small> will use the locale you specified, redefining the
<code>LANG</code> environment variable to this value so all program started from <small>WINDOW MAKER</small> will
inherit its value.
</p>
<p>If your system is using <small>SYSTEMD</small>, you can also configure the locale at system level using the
command:
</p>
<div class="example">
<pre class="example">localectl set-locale LANG=fr
</pre></div>
<p>You can check if the current value is properly supported with the command:
</p>
<div class="example">
<pre class="example">locale
</pre></div>
<p>If this does not work, you may need first to activate the support for your locale in the system;
you can get the list of currently enabled locales with the command:
</p>
<div class="example">
<pre class="example">locale -a
</pre></div>
<p>You should be able to enable a new language support by editing the file <samp>/etc/locale.gen</samp> to
uncomment the locale(s) you need (by removing the <code>#</code> character and space(s) in front of it,
and by running the command <code>locale-gen</code> as root.
</p>
<p>For further information, you may wish to read dedicated documentation, for example from
<a href="http://tldp.org/HOWTO/HOWTO-INDEX/other-lang.html">the Linux Documentation Project</a>
or through pages like
<a href="http://www.shellhacks.com/en/HowTo-Change-Locale-Language-and-Character-Set-in-Linux">Shell Hacks&rsquo; note on Changing Locale</a>.
</p>
<hr>
<a name="Troubleshooting"></a>
<a name="Troubleshooting-1"></a>
<h2 class="chapter">3 Troubleshooting</h2>
<p>If I18N support does not work for you, check these:
</p>
<ul class="no-bullet">
<li>- the <code>LANG</code> environment variable is set to your locale, and
the locale is supported by your OS&rsquo;s locale or X&rsquo;s locale
emulation. you can display all supported locales by
executing &quot;<code>locale -a</code>&quot; command if it is available; you
can check if your locale is supported by X&rsquo;s locale emulation,
see <samp>/usr/share/X11/locale/locale.alias</samp>
</li><li>- check if you are using an appropriate fonts for the locale you
chose. If you&rsquo;re using a font set that has a different
encoding than the one used by <small>XLIB</small> or <small>LIBC</small>, bad things can
happen. Try specifically putting the encoding in the <code>LANG</code>
variable, like <code>ru_RU.KOI8-R</code>. Again, see
<samp>/usr/share/X11/locale/locale.alias</samp>
</li><li>- the fonts you&rsquo;re using support your locale. if your font
setting on <samp>$HOME/GNUstep/Defaults/WindowMaker</samp> is like...
<div class="example">
<pre class="example"> WindowTitleFont = &quot;Trebuchet MS:bold:pixelsize=12&quot;;
MenuTitleFont = &quot;Trebuchet MS:bold:pixelsize=12&quot;;
</pre></div>
<p>then you can&rsquo;t display Asian languages (<code>ja</code>, <code>ko</code>, <code>ch</code>, ...) characters using
<code>Trebuchet MS</code>. A font that is guaranteed to work for any language is
<code>sans</code> (or <code>sans-serif</code>). <code>sans</code> is not a font itself, but an alias which
points to multiple fonts and will load the first in that list that
has the ability to show glyphs in your language. If you don&rsquo;t know
a font that is suited for your language you can always set all your
fonts to something like:
</p>
<div class="example">
<pre class="example"> &quot;sans:pixelsize=12&quot;
</pre></div>
<p>However, please note that if your font is something like:
</p>
<div class="example">
<pre class="example"> &quot;Trebuchet MS,sans serif:pixelsize=12&quot;
</pre></div>
<p>this will not be able to display Asian languages if any of the
previous fonts before sans are installed. This is because unlike
the proper font pickup that <code>sans</code> guarantees for your language,
this construct only allows a font fallback mechanism, which tries
all the fonts in the list in order, until it finds one that is
available, even if it doesn&rsquo;t support your language.
</p>
<p>Also you need to change font settings in style files in
the <samp>$HOME/Library/WindowMaker/Style</samp> directory.
</p>
</li><li>- the <code>LC_CTYPE</code> environment variable is unset or it has the correct
value. If you don&rsquo;t know what is the correct value, unset it.
</li></ul>
<hr>
<a name="Contribute-to-Translations"></a>
<a name="Contribute-to-Translations-1"></a>
<h2 class="chapter">4 Contribute to Translations</h2>
<p>You may have noticed that many translations are not up to date, because the code has evolved but the
persons who initially contributed may not have had the time to continue, so any help is welcome.
</p>
<p>Since <small>WINDOW MAKER</small> 0.95.7 there are some targets to <code>make</code> that can help you in that
task.
</p>
<a name="Install-the-latest-sources"></a>
<h3 class="section">4.1 Install the latest sources</h3>
<p>If you want to contribute, the first step is get the development branch of the code;
this is done using <code>git</code>.
If you do not feel confident at all with using <code>git</code>, you may also try to ask for a
<em>snapshot</em> on the developer&rsquo;s mailing list <a href="mailto:wmaker-dev@lists.windowmaker.org">wmaker-dev@lists.windowmaker.org</a>.
With <code>git</code> the procedure is:
</p>
<div class="example">
<pre class="example"># Get your working copy of the sources
git clone git://repo.or.cz/wmaker-crm.git
# Go into that newly created directory
cd wmaker-crm
# Switch to the branch where everything happens
git checkout next
# Generate the configuration script
./autogen.sh
</pre></div>
<p>Now you should have an up-to-date working copy ready to be compiled;
you will not need to go the full way but you should run the <code>configure</code> script, so it will
create the <samp>Makefile</samp>s, and you may want to compile the code once so it will not do it again
automatically later while you are doing something else:
</p>
<div class="example">
<pre class="example"># Setup the build, enabling at least the language you want to work on
./configure LINGUAS=&quot;&lt;list of iso 639 country code&gt;&quot;
# Compile the code once
make
</pre></div>
<a name="Updating-the-Translations"></a>
<h3 class="section">4.2 Updating the Translations</h3>
<p>The typical process for translating one program is:
</p>
<ul>
<li> generate a POT file (PO Template):
this is done with <code>xgettext</code> which searches for all the strings from the sources that can be
translated;
</li><li> update the PO file for your language:
this is done with <code>msgmerge</code> which compares the PO file and aligns it to the latest
template;
</li><li> edit the new PO file:
this is done by you with your favourite editor, to add the missing <code>msgstr</code>, review the
possible <em>fuzzy matches</em>, ...
</li><li> check the PO file:
unfortunately there is no definitive method for this;
</li><li> submit your contribution to the project:
this is done with <code>git</code>.
</li></ul>
<p>In <small>WINDOW MAKER</small>, you have actually 4 <code>po</code> files to take care of:
</p>
<ul class="no-bullet">
<li>- <samp>po/<em>&lt;lang&gt;</em>.po</samp>: for <small>WINDOW MAKER</small> itself
</li><li>- <samp>WPrefs.app/po/<em>&lt;lang&gt;</em>.po</samp>: for the Preference Editor program
</li><li>- <samp>WINGs/po/<em>&lt;lang&gt;</em>.po</samp>: for the graphic toolkit library
</li><li>- <samp>util/po/<em>&lt;lang&gt;</em>.po</samp>: for the command-line tools of <small>WINDOW MAKER</small>
</li></ul>
<p>As stated previously, there is a <code>make</code> target that can help you to automatically generate
the POT and update the PO for these 4 cases:
</p>
<div class="example">
<pre class="example">make update-lang PO=&lt;lang&gt;
</pre></div>
<p>Once run, it will have updated as needed the 4 <code>po</code> files against the latest source code.
You may wish to use the command <code>git gui</code> to view the changes;
you can now edit the files to complete the translation, correct them, remove deprecated stuff, ...
Please note that the encoding should be set to <em>UTF-8</em> as this is now the standard.
</p>
<p>If you think an error message is too obscure, just ask on the developer mailing list
<a href="mailto:wmaker-dev@lists.windowmaker.org">wmaker-dev@lists.windowmaker.org</a>: in addition to clarifications there&rsquo;s even a chance for the original message
to be improved!
</p>
<p>You may find some information on working with <code>po</code> file in the
<a href="https://www.gnu.org/software/gettext/manual/html_node/Editing.html">GNU gettext documentation</a>.
</p>
<a name="Translate-the-Man-Pages"></a>
<h3 class="section">4.3 Translate the Man Pages</h3>
<p>You may want to extend the translation to the documentation that is provided to users in the form
of Unix <i>man pages</i>.
The sources of the man pages are located in the <samp>doc/</samp> directory;
the translation should be placed in the directory <samp>doc/<i>lang</i>/</samp> with the same file name.
</p>
<p>The directory will also need a file <samp>Makefile.am</samp> which provides the list of man pages to be
included in the distribution package and to be installed.
You can probably get inspiration from an existing one from another language;
if you do not feel confident about it do not hesitate to ask on the project&rsquo;s mailing list
(<a href="mailto:wmaker-dev@lists.windowmaker.org">wmaker-dev@lists.windowmaker.org</a>), either for help or to ask someone to make it for you.
</p>
<p>Please note that although most man pages sources are directly in man page format
(<em>nroff</em>, the file extension being a number), a few of them are processed by a script
(those with the <samp>.in</samp> extension, like <samp>wmaker.in</samp>).
This is done because in some case we want the man page to reflect the actual compilation options.
</p>
<p>You may not want to bother with this hassle, in which case you can simply name your translation
file with the <samp>.1</samp> and remove the special <code>@keyword@</code> marks.
If you are sure you want to keep that processing but do not feel confident about hacking the
<samp>Makefile.am</samp> do not hesitate to ask on the project&rsquo;s mailing list (<a href="mailto:wmaker-dev@lists.windowmaker.org">wmaker-dev@lists.windowmaker.org</a>).
</p>
<a name="Checking-the-Result"></a>
<h3 class="section">4.4 Checking the Result</h3>
<p>In the <small>WINDOW MAKER</small> build tree you also have another target that can help you, it is
<code>make check</code>.
</p>
<p>At current time, it does not check much, but if during the <code>make update-lang</code> new <code>po</code>
file have been created you may get some errors, because you have to add these new files to the
variable <var>EXTRA_DIST</var> in the corresponding <samp>Makefile</samp>.
</p>
<p>If you do not feel confident about doing it, do not worry, just tell about it when you submit your
work, and some developer on the mailing list will just be happy to do it for you when integrating
your valuable contribution (we always like when someone helps making <small>WINDOW MAKER</small> better).
</p>
<a name="Submitting-your-Contribution"></a>
<h3 class="section">4.5 Submitting your Contribution</h3>
<p><em>Preliminary Remark</em>: if the update process made changes in a <code>po</code> file but you did not
change any <code>msgstr</code> content, it is probably a good idea to not submit the changes to that
<code>po</code> file because it would just add noise.
</p>
<p>When you feel ready to send your changes, the first step is to prepare them.
This is done with <code>git</code>: if you have not run the <code>git gui</code> previously then it is a
good time to do it now.
This window offers you the possibility to show your changes and to decide what you want to send.
</p>
<p>The window is divided in 4 panes:
</p><ul>
<li> top-right show the current changes you have selected, for review
(and also for cherry-picking stuff if you want to select precisely)
</li><li> top-left (&quot;Unstaged Changes&quot;) the list of files with changes to be send,
you can click on the name of the file to see the changes,
you can click on the icon of the file if you want to send all the changes in this file;
an icon in blue shows a file that have been changed and an icon in black shows a file that is new
</li><li> bottom-left (&quot;Staged Changes&quot;) the list of files with changes that you have chosen to send so far,
you can click on the file name to view these changes,
you can click on the icon if you want to remove the changes from this file from the list to send
</li><li> bottom-right (&quot;Commit Message&quot;) the message you want to attach to your changes when you submit them
to the development team
</li></ul>
<p>The idea here is to pick your changes to the <code>po</code> files;
for the <em>commit message</em> you may wish to stuck to a simple, single line:
</p>
<blockquote>
<p>&quot;Updated translations for <em>&lt;lang&gt;</em>&quot;
</p></blockquote>
<p>The penultimate step is to click on the button <tt class="key">Sign Off</tt> (it will add a line in the commit
message), and then click on the button <tt class="key">Commit</tt>.
From this time, the commit message will clear itself and the &quot;Staged Changes&quot; also, showing that
your action was done.
</p>
<p>You may now quit the <code>git gui</code>, the final step begins by running this command:
</p>
<div class="example">
<pre class="example">git format-patch HEAD^
</pre></div>
<p>This will generate a file named like <samp>0001-<em>updated-translations-for-XX</em>.patch</samp>
which contains your changes, ready for sending.
The goal will now be to email this file to <a href="mailto:wmaker-dev@lists.windowmaker.org">wmaker-dev@lists.windowmaker.org</a>.
If you feel confident in having <code>git</code> send it for you, you may want to read the file
<samp>The-perfect-Window-Maker-patch.txt</samp> to see how to configure <code>git</code> for mailing, so you
can run:
</p>
<div class="example">
<pre class="example">git send-email 0001-<em>updated-translations-for-XX</em>.patch
</pre></div>
<hr>

801
docs/wmaker_install.html Normal file
View File

@@ -0,0 +1,801 @@
---
layout: default
title: Compilation and Installation
---
<a name="Top"></a>
<a name="Window-Maker-Compilation-and-Installation"></a>
<h1 class="top">Window Maker Compilation and Installation</h1>
<p>A guide to configure, compile and install
<small>WINDOW MAKER</small> from sources.
</p>
<a name="SEC_Contents"></a>
<h2 class="contents-heading">Table of Contents</h2>
<div class="contents">
<ul class="no-bullet">
<li><a name="toc-Prerequisites-1" href="#Prerequisites">1 Prerequisites</a>
<ul class="no-bullet">
<li><a name="toc-Supported-Platforms" href="#Supported-Platforms">1.1 Supported Platforms</a></li>
<li><a name="toc-Software-Dependencies-1" href="#Software-Dependencies-1">1.2 Software Dependencies</a></li>
<li><a name="toc-Special-Dependencies-1" href="#Special-Dependencies-1">1.3 Special Dependencies</a></li>
<li><a name="toc-Optional-Dependencies-1" href="#Optional-Dependencies-1">1.4 Optional Dependencies</a></li>
</ul></li>
<li><a name="toc-Building-WINDOW-MAKER" href="#Building-Window-Maker">2 Building <small>WINDOW MAKER</small></a>
<ul class="no-bullet">
<li><a name="toc-Getting-the-Sources" href="#Getting-the-Sources">2.1 Getting the Sources</a></li>
<li><a name="toc-Build-and-Install" href="#Build-and-Install">2.2 Build and Install</a></li>
<li><a name="toc-User-specific-configuration" href="#User-specific-configuration">2.3 User specific configuration</a></li>
<li><a name="toc-Locales_002fInternationalisation" href="#Locales_002fInternationalisation">2.4 Locales/Internationalisation</a></li>
<li><a name="toc-Configure-Options-1" href="#Configure-Options-1">2.5 Configure Options</a>
<ul class="no-bullet">
<li><a name="toc-Installation-Directory" href="#Installation-Directory">2.5.1 Installation Directory</a></li>
<li><a name="toc-External-Libraries" href="#External-Libraries">2.5.2 External Libraries</a></li>
<li><a name="toc-X11-and-Extensions" href="#X11-and-Extensions">2.5.3 X11 and Extensions</a></li>
<li><a name="toc-Feature-Selection" href="#Feature-Selection">2.5.4 Feature Selection</a></li>
<li><a name="toc-Developer-Stuff" href="#Developer-Stuff">2.5.5 Developer Stuff</a></li>
</ul></li>
</ul></li>
<li><a name="toc-Miscellaneous-1" href="#Miscellaneous">3 Miscellaneous</a>
<ul class="no-bullet">
<li><a name="toc-Platform-Specific-Notes" href="#Platform-Specific-Notes">3.1 Platform Specific Notes</a></li>
<li><a name="toc-I-don_0027t-have-the-root-password-_003a_0028" href="#I-don_0027t-have-the-root-password-_003a_0028">3.2 I don&rsquo;t have the <em>root</em> password :(</a></li>
<li><a name="toc-Upgrading" href="#Upgrading">3.3 Upgrading</a></li>
</ul></li>
<li><a name="toc-Troubleshooting-1" href="#Troubleshooting">4 Troubleshooting</a>
<ul class="no-bullet">
<li><a name="toc-Error-with-loading-fonts_002c-even-if-they-exist" href="#Error-with-loading-fonts_002c-even-if-they-exist">4.1 Error with loading fonts, even if they exist</a></li>
<li><a name="toc-configure-doesn_0027t-detect-libtiff_002c-or-other-graphic-libraries" href="#configure-doesn_0027t-detect-libtiff_002c-or-other-graphic-libraries">4.2 configure doesn&rsquo;t detect <em>libtiff</em>, or other graphic libraries</a></li>
<li><a name="toc-configure-doesn_0027t-detect-libXpm" href="#configure-doesn_0027t-detect-libXpm">4.3 configure doesn&rsquo;t detect <em>libXpm</em></a></li>
<li><a name="toc-Segmentation-fault-on-startup" href="#Segmentation-fault-on-startup">4.4 Segmentation fault on startup</a></li>
<li><a name="toc-_0022_002e_002e_002e_003a-your-machine-is-misconfigured_002e-gethostname_0028_0029-returned-_0028none_0029_0022" href="#g_t_0022_002e_002e_002e_003a-your-machine-is-misconfigured_002e-gethostname_0028_0029-returned-_0028none_0029_0022">4.5 &quot;...: your machine is misconfigured. gethostname() returned (none)&quot;</a></li>
<li><a name="toc-The-root-menu-contains-only-2-entries_002e-_0028_0022XTerm_0022-and-_0022Exit_002e_002e_002e_0022_0029" href="#The-root-menu-contains-only-2-entries_002e-_0028_0022XTerm_0022-and-_0022Exit_002e_002e_002e_0022_0029">4.6 The root menu contains only 2 entries. (&quot;XTerm&quot; and &quot;Exit...&quot;)</a></li>
</ul></li>
</ul>
</div>
<br>
<p>This manual is for Window Maker, version git#next.
</p>
<hr>
<a name="Prerequisites"></a>
<a name="Prerequisites-1"></a>
<h2 class="chapter">1 Prerequisites</h2>
<a name="Supported-Platforms"></a>
<h3 class="section">1.1 Supported Platforms</h3>
<ul class="no-bullet">
<li>- Intel GNU/Linux Systems in general, <tt>ix86</tt> and <tt>x86_64</tt> but other architectures should work
</li><li>- BSD systems
</li><li>- Solaris, at least on release 10 and 11
</li></ul>
<p>Patches to make it work on other platforms are welcome.
</p>
<a name="Software-Dependencies-1"></a>
<h3 class="section">1.2 Software Dependencies</h3>
<a name="Software-Dependencies"></a>
<p>The following software is required to use <small>WINDOW MAKER</small>:
</p><ul class="no-bullet">
<li>- X11R6.x
<p>Window Maker can be compiled in older versions of <em>X</em>, like <em>X11R5</em> (<em>Solaris</em>)
or <em>X11R4</em> (<em>OpenWindows</em>) but it will not work 100% correctly.
In such servers there will not be application icons and you&rsquo;ll have trouble using the dock.
Upgrading the client libraries (<em>Xlib</em>, <em>Xt</em>, etc.) will help if you can&rsquo;t upgrade
the server.
</p></li></ul>
<p>The following is required to build <small>WINDOW MAKER</small>:
</p><ul class="no-bullet">
<li>- Basic obvious stuff
<ul>
<li> <em>gcc</em> (or some other ANSI C compiler, supporting some C99 extensions)
</li><li> <em>glibc</em> development files (usually <samp>glibc-devel</samp> in Linux distributions)
</li><li> <em>X</em> development files (<samp>XFree86-devel</samp> or something similar)
</li></ul>
</li><li>- <em>Xft2</em> and its dependencies
<p>Dependencies include <em>freetype2</em> and <em>fontconfig</em>.
You will also need the development files for them (<samp>xft2-devel</samp>).
Sources are available at: <a href="http://www.freedesktop.org/wiki/Software/Xft/">http://www.freedesktop.org/wiki/Software/Xft/</a>
</p>
</li></ul>
<p><b>Note</b>:
<small>WINDOW MAKER</small> is known to compile with <em>gcc</em> and <em>clang</em>;
the code source is mostly ANSI C (also known as C89 and C90) but is uses very few of the C99
novelties;
it also uses a few attributes introduced in the C11 standard but those are detected automatically,
so most compilers should work.
</p>
<a name="Special-Dependencies-1"></a>
<h3 class="section">1.3 Special Dependencies</h3>
<a name="Special-Dependencies"></a>
<p>If you want to compile using the sources from the git repository instead of the distribution
package, you will also need:
</p><ul>
<li> <em>git</em>
</li><li> <em>autoconf</em> 2.69
</li><li> <em>automake</em> 1.12
</li><li> <em>libtool</em> 1.4.2
</li></ul>
<a name="Optional-Dependencies-1"></a>
<h3 class="section">1.4 Optional Dependencies</h3>
<a name="Optional-Dependencies"></a>
<p>These libraries are not required to make <small>WINDOW MAKER</small> work, but they are supported in case you
want to use them. Version numbers are indicative, but other versions might work too.
</p>
<ul class="no-bullet">
<li>- <em>libXPM</em> 4.7 or newer
<p>Older versions may not work!
</p>
<p>Available from <a href="http://xlibs.freedesktop.org/release/">http://xlibs.freedesktop.org/release/</a>
</p>
<p>There is built-in support for <em>XPM</em> files, but it will not
load images in some uncommon encodings.
</p>
</li><li>- <em>libpng</em> 0.96 or newer and <em>zlib</em>
<p>For <em>PNG</em> image support,
<a href="http://www.libpng.org/pub/png/libpng.html">http://www.libpng.org/pub/png/libpng.html</a>
</p>
</li><li>- <em>libtiff</em> 3.4 or newer
<p>For <em>TIFF</em> image support,
<a href="http://www.libtiff.org/">http://www.libtiff.org/</a>
</p>
</li><li>- <em>libjpeg</em> 6.0.1 or newer
<p>For <em>JPEG</em> image support,
<a href="http://www.ijg.org/">http://www.ijg.org/</a>
</p>
<p>Note that if you don&rsquo;t have it, <code>configure</code> will issue a big warning in the end,
this is because JPEG images are often used in themes and for background images
so you probably want this format supported.
</p>
</li><li>- <em>libgif</em> 2.2 or <em>libungif</em>
<p>For <em>GIF</em> image support,
<a href="http://giflib.sourceforge.net/">http://giflib.sourceforge.net/</a>
</p>
</li><li>- <em>WebP</em> 0.4.1 or newer
<p>The reference library from <em>Google</em> for their image format,
<a href="https://developers.google.com/speed/webp/download">https://developers.google.com/speed/webp/download</a>
</p>
</li><li>- <em>GNU xgettext</em>
<p>If you want to use translated messages, you will need <em>GNU gettext</em>.
Other versions of <em>gettext</em> are not compatible and will not work.
Get the <em>GNU</em> version from <a href="http://www.gnu.org/software/gettext/">http://www.gnu.org/software/gettext/</a>
</p>
</li><li>- <em>Pango</em> 1.36.8 or newer
<p>This library can be used by the <em>WINGs</em> toolkit to improve support for <em>UTF-8</em> and for
languages written in right-to-left direction, in some widgets.
You have to explicitly ask for its support through (see <a href="#Configure-Options">Configure Options</a>).
You can get it from <a href="http://www.pango.org/Download">http://www.pango.org/Download</a>
</p>
</li><li>- <em>libbsd</em>
<p>This library can be used by the <em>WINGs</em> utility library to make use of <code>strlcat</code> and
<code>strlcpy</code> instead of using built-in functions if your system does not provide them in its
core <em>libc</em>.
You should let <small>WINDOW MAKER</small>&rsquo;s <code>configure</code> detect this for you.
You can get it from <a href="http://libbsd.freedesktop.org/wiki/">http://libbsd.freedesktop.org/wiki/</a>
</p>
</li><li>- <em>Inotify</em>
<p>If you have Linux&rsquo;s <em>inotify</em> support, <small>WINDOW MAKER</small> will use it to check for configuration
updates instead of polling regularly the file.
The needed header comes with the kernel, typical packages names include:
</p><ul>
<li> <samp>kernel-headers</samp> for <em>Slackware</em> and <em>Fedora</em>
</li><li> <samp>linux-userspace-headers</samp> for <em>Mageia</em>
</li><li> <samp>linux-libc-dev</samp> for <em>Debian</em> and <em>Ubuntu</em>
</li><li> <samp>linux-glibc-devel</samp> for <em>OpenSuSE</em>
</li></ul>
</li><li>- <em>MagickWand</em> 6.8.9-9 or newer
<p>If found, then the library <em>WRaster</em> can use the <em>ImageMagick</em> library to let
<small>WINDOW MAKER</small> support more image formats, like <em>SVG</em>, <em>BMP</em>, <em>TGA</em>, ...
You can get it from <a href="http://www.imagemagick.org/">http://www.imagemagick.org/</a>
</p>
</li><li>- <em>Boehm GC</em>
<p>This library can be used by the <em>WINGs</em> utility toolkit to use a
<cite>Boehm-Demers-Weiser Garbage Collector</cite> instead of the traditional
<code>malloc</code>/<code>free</code> functions from the <em>libc</em>.
You have to explicitly ask for its support though (see <a href="#Configure-Options">Configure Options</a>).
You can get it from <a href="http://www.hboehm.info/gc/">http://www.hboehm.info/gc/</a>
</p>
</li></ul>
<hr>
<a name="Building-Window-Maker"></a>
<a name="Building-WINDOW-MAKER"></a>
<h2 class="chapter">2 Building <small>WINDOW MAKER</small></h2>
<a name="Getting-the-Sources"></a>
<h3 class="section">2.1 Getting the Sources</h3>
<p>The latest version of <small>WINDOW MAKER</small> (<tt>-crm</tt>) can be downloaded from
<a href="http://www.windowmaker.org/">http://www.windowmaker.org/</a>
</p>
<p>Alternatively, the development branch, called <tt>#next</tt> is in the <em>git</em> repository at
<a href="http://repo.or.cz/w/wmaker-crm.git">http://repo.or.cz/w/wmaker-crm.git</a>
</p>
<p>If you want to use the <em>git</em> versions, you can get it with:
</p><div class="example">
<pre class="example">git clone -b next git://repo.or.cz/wmaker-crm.git
</pre></div>
<p>then, assuming you have the dependencies listed in <a href="#Special-Dependencies">Special Dependencies</a>, you have to
type:
</p><div class="example">
<pre class="example">./autogen.sh
</pre></div>
<p>to generate the configuration script.
</p>
<a name="Build-and-Install"></a>
<h3 class="section">2.2 Build and Install</h3>
<p>For a quick start, type the following in your shell prompt:
</p>
<div class="example">
<pre class="example">./configure
make
</pre></div>
<p>then, login as <em>root</em> and type:
</p>
<div class="example">
<pre class="example">make install
ldconfig
</pre></div>
<p>or if you want to strip the debugging symbols from the binaries to make them smaller,
you can type instead:
</p>
<div class="example">
<pre class="example">make install-strip
ldconfig
</pre></div>
<p>This will build and install <small>WINDOW MAKER</small> with default parameters.
</p>
<p>If you want to customise some compile-time options, you can do the following:
</p>
<ol>
<li> (optional) Look at the <a href="#Configure-Options">Configure Options</a>, for the options available.
Also run:
<div class="example">
<pre class="example">./configure --help
</pre></div>
<p>to get a complete list of options that are available.
</p>
</li><li> Run configure with the options you want.
For example, if you want to use the <samp>--enable-modelock</samp> option, type:
<div class="example">
<pre class="example">./configure --enable-modelock
</pre></div>
</li><li> (optional) Edit <samp>src/wconfig.h</samp> with your favourite text editor and browse through it for some
options you might want to change.
</li><li> Compile. Just type:
<div class="example">
<pre class="example">make
</pre></div>
</li><li> Login as root (if you can&rsquo;t do that, read the <a href="#No-Root-Password">I don&rsquo;t have the <em>root</em> password</a>)
and install <small>WINDOW MAKER</small> in your system:
<div class="example">
<pre class="example">su root
make install
</pre></div>
</li></ol>
<a name="User-specific-configuration"></a>
<h3 class="section">2.3 User specific configuration</h3>
<p>These instructions do not need to be followed when upgrading <small>WINDOW MAKER</small>
from an older version, unless stated differently in the <cite>NEWS</cite> file.
</p>
<p>Every user on your system that wishes to run <small>WINDOW MAKER</small> must do the
following:
</p>
<ol>
<li> Install Window Maker configuration files in your home directory.
Type:
<div class="example">
<pre class="example">wmaker.inst
</pre></div>
<p><code>wmaker.inst</code> will install <small>WINDOW MAKER</small> configuration files and will
setup X to automatically launch <small>WINDOW MAKER</small> at startup.
</p>
</li></ol>
<p>That&rsquo;s it!
</p>
<p>You can type <code>man wmaker</code> to get some general help for configuration
and other stuff.
</p>
<p>Read the <cite>User Guide</cite> for a more in-depth explanation of <small>WINDOW MAKER</small>.
</p>
<p>You might want to take a look at the <cite>FAQ</cite> too.
</p>
<a name="Locales_002fInternationalisation"></a>
<h3 class="section">2.4 Locales/Internationalisation</h3>
<p><small>WINDOW MAKER</small> has national language support. The procedure to enable national
language support is described in the dedicated
<a href="wmaker_i18n.html#Enabling-Languages-support">Enabling Languages support</a> in <cite><samp>README.i18n</samp></cite>.
</p>
<a name="Configure-Options-1"></a>
<h3 class="section">2.5 Configure Options</h3>
<a name="Configure-Options"></a>
<p>These options can be passed to the configure script to enable/disable
some <small>WINDOW MAKER</small> features. Example:
</p><div class="example">
<pre class="example">./configure --enable-modelock --disable-gif
</pre></div>
<p>will configure <small>WINDOW MAKER</small> with <em>modelock</em> supported and disable <em>gif</em> support.
Normally, you won&rsquo;t need any of them.
</p>
<p>To get the list of all options, run <code>./configure --help</code>
</p>
<a name="Installation-Directory"></a>
<h4 class="subsection">2.5.1 Installation Directory</h4>
<p>The default installation path will be in the <samp>/usr/local</samp> hierarchy;
a number of option can customise this:
</p>
<dl compact="compact">
<dt><samp>--prefix=<i>PREFIX</i></samp></dt>
<dt><samp>--exec-prefix=<i>EPREFIX</i></samp></dt>
<dt><samp>--bindir=<i>DIR</i></samp></dt>
<dt><samp>--sysconfdir=<i>DIR</i></samp></dt>
<dt><samp>--libdir=<i>DIR</i></samp></dt>
<dt><samp>--includedir=<i>DIR</i></samp></dt>
<dt><samp>--datarootdir=<i>DIR</i></samp></dt>
<dt><samp>--datadir=<i>DIR</i></samp></dt>
<dt><samp>--localedir=<i>DIR</i></samp></dt>
<dt><samp>--mandir=<i>DIR</i></samp></dt>
<dd><p>Standard options from <em>autoconf</em> to define target paths,
you probably want to read <a href="INSTALL.html#Installation-Names">Installation Names</a> in <cite><samp>INSTALL</samp></cite>.
</p>
</dd>
<dt><samp>--sbindir=<i>DIR</i></samp></dt>
<dt><samp>--libexecdir=<i>DIR</i></samp></dt>
<dt><samp>--sharedstatedir=<i>DIR</i></samp></dt>
<dt><samp>--localstatedir=<i>DIR</i></samp></dt>
<dt><samp>--oldincludedir=<i>DIR</i></samp></dt>
<dt><samp>--infodir=<i>DIR</i></samp></dt>
<dt><samp>--docdir=<i>DIR</i></samp></dt>
<dt><samp>--htmldir=<i>DIR</i></samp></dt>
<dt><samp>--dvidir=<i>DIR</i></samp></dt>
<dt><samp>--pdfdir=<i>DIR</i></samp></dt>
<dt><samp>--psdir=<i>DIR</i></samp></dt>
<dd><p>More standard options from <em>autoconf</em>, today these are not used by <small>WINDOW MAKER</small>;
they are provided automatically by <em>autoconf</em> for consistency.
</p>
</dd>
<dt><samp>--with-gnustepdir=<i>PATH</i></samp></dt>
<dd><p>Specific to <small>WINDOW MAKER</small>, defines the directory where <samp>WPrefs.app</samp> will be installed,
if you want to install it like a <em>GNUstep</em> applications.
If not specified, it will be installed like usual programs.
</p>
</dd>
<dt><samp>--with-pixmapdir=<i>DIR</i></samp></dt>
<dd><p>Specific to <small>WINDOW MAKER</small>, this option defines an additional path where <em>pixmaps</em> will be
searched. Nothing will be installed there; the default path taken is <samp><em>DATADIR</em>/pixmaps</samp>,
where <var>DATADIR</var> is the path defined from <samp>--datadir</samp>.
</p>
</dd>
<dt><samp>--with-defsdatadir=<i>DIR</i></samp></dt>
<dd><p>Specific to <small>WINDOW MAKER</small>, defines the directory where system configuration
files, e.g., <samp>WindowMaker</samp>, <samp>WMRootMenu</samp>, etc., are installed. The
default value is <samp><em>SYSCONFDIR</em>/WindowMaker</samp>, where <var>SYSCONFDIR</var> is
the path defined from <samp>--sysconfdir</samp>.
</p>
</dd>
</dl>
<a name="External-Libraries"></a>
<h4 class="subsection">2.5.2 External Libraries</h4>
<p>Unless specifically written, <code>configure</code> will try to detect automatically for the libraries;
if you explicitly provide <samp>--enable-<em>FEATURE</em></samp> then it will break with an error message
if the library cannot be linked;
if you specify <samp>--disable-<em>FEATURE</em></samp> then it will not try to search for the library.
You can find more information about the libraries in the
<a href="#Optional-Dependencies">Optional Dependencies</a>.
</p>
<dl compact="compact">
<dt><samp>--enable-boehm-gc</samp></dt>
<dd><p>Never enabled by default, use Boehm GC instead of the default <em>libc</em> <code>malloc()</code>
</p>
</dd>
<dt><samp>--disable-gif</samp></dt>
<dd><p>Disable GIF support in <em>WRaster</em> library; when enabled use <samp>libgif</samp> or <samp>libungif</samp>.
</p>
</dd>
<dt><samp>--disable-jpeg</samp></dt>
<dd><p>Disable JPEG support in <em>WRaster</em> library; when enabled use <samp>libjpeg</samp>.
</p>
</dd>
<dt><samp>--without-libbsd</samp></dt>
<dd><p>Refuse use of the <samp>libbsd</samp> compatibility library in <em>WINGs</em> utility library,
even if your system provides it.
</p>
</dd>
<dt><samp>--disable-magick</samp></dt>
<dd><p>Disable <em>ImageMagick&rsquo;s MagickWand</em> support in <em>WRaster</em>, used to support for image formats.
</p>
</dd>
<dt><samp>--enable-pango</samp></dt>
<dd><p>Disabled by default, enable <em>Pango</em> text layout support in <em>WINGs</em>.
</p>
</dd>
<dt><samp>--disable-png</samp></dt>
<dd><p>Disable PNG support in <em>WRaster</em>; when enabled use <samp>libpng</samp>.
</p>
</dd>
<dt><samp>--disable-tiff</samp></dt>
<dd><p>Disable TIFF support in <em>WRaster</em>. when enabled use <samp>libtiff</samp>.
</p>
</dd>
<dt><samp>--disable-webp</samp></dt>
<dd><p>Disable WEBP support in <em>WRaster</em>. when enabled use <samp>libwebp</samp>.
</p>
</dd>
<dt><samp>--disable-xpm</samp></dt>
<dd><p>Disable use of <samp>libXpm</samp> for XPM support in <em>WRaster</em>, use internal code instead.
</p>
</dd>
</dl>
<p>The following options can be used to tell <code>configure</code> about extra paths that needs to be
used when compiling against libraries:
</p>
<dl compact="compact">
<dt><samp>--with-libs-from</samp></dt>
<dd><p>specify additional paths for libraries to be searched.
The <samp>-L</samp> flag must precede each path, like:
</p><div class="example">
<pre class="example">--with-libs-from=&quot;-L/opt/libs -L/usr/local/lib&quot;
</pre></div>
</dd>
<dt><samp>--with-incs-from</samp></dt>
<dd><p>specify additional paths for header files to be searched.
The <samp>-I</samp> flag must precede each paths, like:
</p><div class="example">
<pre class="example">--with-incs-from=&quot;-I/opt/headers -I/usr/local/include&quot;
</pre></div>
</dd>
</dl>
<a name="X11-and-Extensions"></a>
<h4 class="subsection">2.5.3 X11 and Extensions</h4>
<p><code>configure</code> will try to detect automatically the compilation paths for X11 headers and
libraries, and which X Extensions support can be enabled.
if you explicitly provide <samp>--enable-<em>FEATURE</em></samp> then it will break with an error message
if the extension cannot be used;
if you specify <samp>--disable-<em>FEATURE</em></samp> then it will not check for the extension.
</p>
<dl compact="compact">
<dt><samp>--x-includes=<i>DIR</i></samp></dt>
<dt><samp>--x-libraries=<i>DIR</i></samp></dt>
<dd><p><em>Autoconf</em>&rsquo;s option to specify search paths for <em>X11</em>,
for the case were it would not have been able to detect it automatically.
</p>
</dd>
<dt><samp>--disable-xlocale</samp></dt>
<dd><p>If you activated support for Native Languages, then <em>X11</em> may use a hack to also configure its
locale support when the program configure the locale for itself.
The <code>configure</code> script detects if the <em>Xlib</em> supports this or not;
this options explicitly disable this initialisation mechanism.
</p>
</dd>
<dt><samp>--enable-modelock</samp></dt>
<dd><p>XKB language status lock support. If you don&rsquo;t know what it is you probably don&rsquo;t need it.
The default is to not enable it.
</p>
</dd>
<dt><samp>--disable-shm</samp></dt>
<dd><p>Disable use of the <em>MIT shared memory</em> extension.
This will slow down texture generation a little bit, but in some cases it seems to be necessary due
to a bug that manifests as messed icons and textures.
</p>
</dd>
<dt><samp>--disable-shape</samp></dt>
<dd><p>Disables support for <em>shaped</em> windows (for <code>oclock</code>, <code>xeyes</code>, etc.).
</p>
</dd>
<dt><samp>--enable-xinerama</samp></dt>
<dd><p>The <em>Xinerama</em> extension provides information about the different screens connected when
running a multi-head setting (if you plug more than one monitor).
</p>
</dd>
<dt><samp>--enable-randr</samp></dt>
<dd><p>The <em>RandR</em> extension provides feedback when changing the multiple-monitor configuration in X11
and allows to re-configure how screens are organised.
</p>
<p>At current time, it is not enabled by default because it is NOT recommended (buggy);
<small>WINDOW MAKER</small> only restart itself when the configuration change, to take into account the new
screen size.
</p>
</dd>
</dl>
<a name="Feature-Selection"></a>
<h4 class="subsection">2.5.4 Feature Selection</h4>
<dl compact="compact">
<dt><samp>--disable-animations</samp></dt>
<dd><p>Disable animations permanently, by not compiling the corresponding code into <small>WINDOW MAKER</small>.
When enabled (the default), you still have a run-time configuration option in <em>WPrefs</em>.
</p>
</dd>
<dt><samp>--disable-mwm-hints</samp></dt>
<dd><p>Disable support for Motif&rsquo;s MWM Window Manager hints.
These attributes were introduced by the Motif toolkit to ask for special window appearance requests.
Nowadays this is covered by the NetWM/EWMH specification, but there are still applications that rely on MWM Hints.
</p>
</dd>
<dt><samp>--enable-wmreplace</samp></dt>
<dd><p>Add support for the <em>ICCCM</em> protocol for cooperative window manager replacement.
This feature is disabled by default because you probably don&rsquo;t need to switch seamlessly the window manager;
if you are making a package for a distribution you&rsquo;d probably want to enable this because it allows users to give
a try to different window managers without restarting everything for an extra cost that is not really big.
</p>
</dd>
<dt><samp>--disable-xdnd</samp></dt>
<dd><p>Disable support for dragging and dropping files on the dock, which launches a user-specified command
with that file.
Starting from version 0.65.6 this feature is enabled by default.
</p>
</dd>
<dt><samp>--enable-ld-version-script</samp></dt>
<dd><p>This feature is auto-detected, and you should not use this option.
When compiling a library (<samp>wrlib</samp>, ...), <em>gcc</em> has the possibility to filter the list of
functions that will be visible, to keep only the public API, because it helps running programs
faster.
</p>
<p>The <code>configure</code> script checks if this feature is available;
if you specify this option it will not check anymore and blindly trust you that it is supposed to
work, which is not a good idea as you may encounter problems later when compiling.
</p>
</dd>
<dt><samp>--enable-usermenu</samp></dt>
<dd><p>This feature, disabled by default, allows to add a user-defined custom menu to applications;
when choosing an entry of the menu it will send the key combination defined by the user to that
application. See <a href="NEWS.html#Application-User-Menu">Application User Menu</a> in <cite><samp>NEWS</samp></cite> for more information.
</p>
</dd>
<dt><samp>--with-menu-textdomain=<i>DOMAIN</i></samp></dt>
<dd><p>Selection of the domain used for translation of the menus;
see <a href="wmaker_i18n.html#Translations-for-Menus">Translations for Menus</a> in <cite><samp>README.i18n</samp></cite>.
</p>
</dd>
</dl>
<a name="Developer-Stuff"></a>
<h4 class="subsection">2.5.5 Developer Stuff</h4>
<p>These options are disabled by default:
</p>
<dl compact="compact">
<dt><samp>--config-cache</samp></dt>
<dd><p>If you intend to re-run the <code>configure</code> script often, you probably want to include this
option, so it will save and re-use the status of what have been detected in the file
<samp>config.cache</samp>.
</p>
</dd>
<dt><samp>--enable-debug</samp></dt>
<dd><p>Enable debugging features (debug symbol, some extra verbosity and checks) and add a number of
check flags (warnings) for the compiler (in <em>gcc</em> fashion).
</p>
</dd>
<dt><samp>--enable-lcov=<i>DIRECTORY</i></samp></dt>
<dd><p>Enable generation of code coverage and profiling data;
if the <samp><i>DIRECTORY</i></samp> is not specified, use <samp>coverage-report</samp>.
</p>
<p>This option was meant to be use with <em>gcc</em>;
it was not used recently so it is probable that is does not work anymore;
the <code>configure</code> script will not even check that your compiling environment has the
appropriate requirements and works with this.
Despite all this, if you think there&rsquo;s a use for it and feel in the mood to help, do not hesitate to
discuss on the mailing list <a href="mailto:wmaker-dev@lists.windowmaker.org">wmaker-dev@lists.windowmaker.org</a> to get it working.
</p>
</dd>
</dl>
<hr>
<a name="Miscellaneous"></a>
<a name="Miscellaneous-1"></a>
<h2 class="chapter">3 Miscellaneous</h2>
<a name="Platform-Specific-Notes"></a>
<h3 class="section">3.1 Platform Specific Notes</h3>
<ul class="no-bullet">
<li>- <em>GNU/Linux</em> in general
<p>Make sure you have <samp>/usr/local/lib</samp> in <samp>/etc/ld.so.conf</samp> and that you
run <code>ldconfig</code> after installing.
Uninstall any packaged version of <small>WINDOW MAKER</small> before installing a new version.
</p>
</li><li>- <em>RedHat GNU/Linux</em>
<p><em>RedHat</em> systems have several annoying problems.
If you use it, be sure to follow the steps below or <small>WINDOW MAKER</small> will not work:
</p>
<ul>
<li> if you installed the <small>WINDOW MAKER</small> that comes with <em>RedHat</em>, uninstall it before upgrading;
</li><li> make sure you have <samp>/usr/local/bin</samp> in your <code>PATH</code> environment variable;
</li><li> make sure you have <samp>/usr/local/lib</samp> in <samp>/etc/ld.so.conf</samp> before running <code>ldconfig</code>;
</li></ul>
</li><li>- <em>PowerPC MkLinux</em>
<p>You will need to have the latest version of <em>Xpmac</em>.
Older versions seem to have bugs that cause the system to hang.
</p>
</li><li>- <em>Debian GNU/Linux</em>
<p>If you want <em>JPEG</em> and <em>TIFF</em> support, make sure you have <samp>libtiff-dev</samp>
and <samp>libjpeg-dev</samp> installed.
</p>
</li><li>- <em>SuSE GNU/Linux</em>
<p>If you installed the <small>WINDOW MAKER</small> package from <em>SuSE</em>, uninstall it before trying to
compile <em>Window Maker</em> or you might have problems.
</p>
</li><li>- <em>MetroX</em> (unknown version)
<p><em>MetroX</em> has a bug that corrupts pixmaps that are set as window backgrounds.
If you use <em>MetroX</em> and have weird problems with textures, do not use textures in title bars.
Or use a different X server.
</p>
</li></ul>
<a name="I-don_0027t-have-the-root-password-_003a_0028"></a>
<h3 class="section">3.2 I don&rsquo;t have the <em>root</em> password :(</h3>
<a name="No-Root-Password"></a>
<p>If you can&rsquo;t get superuser privileges (can&rsquo;t be <i>root</i>) you can install <em>Window Maker</em> in your own
home directory.
For that, supply the <samp>--prefix</samp> option when running configure in step 2 of building
<small>WINDOW MAKER</small>.
You will also need to supply the <samp>--with-gnustepdir</samp> option, to specify the path for
<code>WPrefs.app</code>.
Example:
</p>
<div class="example">
<pre class="example">./configure --prefix=/home/jshmoe --with-gnustepdir=/home/jshmoe/GNUstep/Applications
</pre></div>
<p>Then make <samp>/home/jshmoe/bin</samp> be included in your search <code>PATH</code>, add <samp>/home/jshmoe/lib</samp>
to your <code>LD_LIBRARY_PATH</code> environment variable and run <code>bin/wmaker.inst</code>
</p>
<p>Of course, <samp>/home/jshmoe</samp> is supposed to be replaced by your actual home directory path.
</p>
<a name="Upgrading"></a>
<h3 class="section">3.3 Upgrading</h3>
<p>If you are upgrading from an older version of <small>WINDOW MAKER</small>:
</p>
<ol>
<li> Configure and build <small>WINDOW MAKER</small> as always
</li><li> Install <small>WINDOW MAKER</small> (but do not run <code>wmaker.inst</code>)
</li><li> Read the <cite>NEWS</cite> file and update your configuration files if necessary.
</li></ol>
<hr>
<a name="Troubleshooting"></a>
<a name="Troubleshooting-1"></a>
<h2 class="chapter">4 Troubleshooting</h2>
<p>When you have some trouble during configuration (while running configure), like not being able to
use a graphic format library you think you have installed, look at the <samp>config.log</samp> file for
clues of the problem.
</p>
<a name="Error-with-loading-fonts_002c-even-if-they-exist"></a>
<h3 class="section">4.1 Error with loading fonts, even if they exist</h3>
<p>This is probably a problem with NLS (Native Language Support), you probably want to look at the
<a href="wmaker_i18n.html#Troubleshooting">Troubleshooting</a> in <cite><samp>README.i18n</samp></cite>
or try rebuilding without NLS support, which is done with:
</p><div class="example">
<pre class="example">./configure LINGUAS=&quot;&quot;
</pre></div>
<a name="configure-doesn_0027t-detect-libtiff_002c-or-other-graphic-libraries"></a>
<h3 class="section">4.2 configure doesn&rsquo;t detect <em>libtiff</em>, or other graphic libraries</h3>
<p>Delete <samp>config.cache</samp>, then rerun configure adding the following options to <code>configure</code>
(among the other options you use):
</p><div class="example">
<pre class="example">--with-libs-from=&quot;-L/usr/local/lib&quot;
--with-incs-from=&quot;-I/usr/local/include -I/usr/local/include/tiff&quot;
</pre></div>
<p>Put the paths where your graphic libs and their corresponding header files are located.
You can put multiple paths in any of these options, as the example of <samp>--with-incs-from</samp> shows.
Just put a space between them.
</p>
<a name="configure-doesn_0027t-detect-libXpm"></a>
<h3 class="section">4.3 configure doesn&rsquo;t detect <em>libXpm</em></h3>
<p>Check if you have a symbolic link from <samp>libXpm.so.4.9</samp> to <samp>libXpm.so</samp>
</p>
<a name="Segmentation-fault-on-startup"></a>
<h3 class="section">4.4 Segmentation fault on startup</h3>
<ul>
<li> Check if the version of <em>libXPM</em> you have is at least 4.7
</li><li> Check if you have an updated version of <samp>~/GNUstep/Defaults/WindowMaker</samp>
</li></ul>
<p>If you&rsquo;re not sure, try renaming <samp>~/GNUstep</samp> to <samp>~/GNUtmp</samp>
and then run <code>wmaker.inst</code>
</p>
<a name="g_t_0022_002e_002e_002e_003a-your-machine-is-misconfigured_002e-gethostname_0028_0029-returned-_0028none_0029_0022"></a>
<h3 class="section">4.5 &quot;...: your machine is misconfigured. gethostname() returned (none)&quot;</h3>
<p>the host name of your machine is set to something invalid, that starts with a parenthesis.
Do a <code>man hostname</code> for info about how to set it.
</p>
<a name="The-root-menu-contains-only-2-entries_002e-_0028_0022XTerm_0022-and-_0022Exit_002e_002e_002e_0022_0029"></a>
<h3 class="section">4.6 The root menu contains only 2 entries. (&quot;XTerm&quot; and &quot;Exit...&quot;)</h3>
<p><small>WINDOW MAKER</small> could not read your menu definition file.
You should check the output of <code>wmaker</code> for an error, it may be visible in the console or in the
<samp>.xsession-errors</samp> file.
</p>
<hr>