Chapter 2
Windows
Generally an application will have the following layout:
![[Anatomy of a Window]](guide/images/anatomy.gif)
Titlebar |
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. |
| Miniaturize
button. |
You can click on the miniaturize button to
miniaturize/iconify a window or click it with the Meta key pressed to hide the application. |
Close Button. |
The close button can be used to close a window or kill the
application, if the application can't understand the close message. |
Resizebar. |
You use the resizebar to (surprise!) resize a
window. |
Client Area. |
The client area is where the application show it's
information. If the window if inactive, you can click on it to activate it. |
Windows can be in two states: focused , or unfocused. 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.
The image below shows an active Open File panel and it's owner window.
There are three styles of window focusing:
Click-to-Focus,or manual focus mode. In click-to-focus mode, you explicitly choose the window that should be
focused. This is the default mode.
Focus-Follow-Mouse,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.
Sloppy-Focus,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.
You can choose between these modes with the FocusMode option
To focus a window in click-to-focus mode:
- Click on the titlebar, resizebar or in the client area of the window with the left or
right mouse button.
OR
- Click on the titlebar with the middle mouse button. This will focus the window without
bringing it to the front.
OR
- Open the window list menu and select the window to focus.
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
IgnoreFocusClick option.
To focus a window in focus-follow-mouse mode:
- Move the pointer over the window you want to focus.
Windows can overlap other
windows, making some windows be over or in front of others.
To bring a window to the front:
- Click on the titlebar or resizebar of the desired window with the left mouse button.
OR
- Select the desired window from the Window List menu.
Dialog/transient windows are always placed over their owner windows, unless the OnTopTransients 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 AlwaysOnTop window option or set it in the Window Inspector
panel.
Extra Bindings
| Action |
Effect |
|
| Meta-Click on the window
titlebar. with the left mouse button |
Sends the window to the
back. |
|
| Meta-Click on the Client Area of
the window with the left mouse button. |
Brings the window to the front
and focuses it. |
|
| Hold the Meta key and press the
Up Arrow key |
Brings the current focused
window to the front. |
|
| Hold the Meta key and press the
Down Arrow key |
Sends the current focused window
to the back. |
|
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.
To move a window:
- Click on the titlebar of the window you want to move with the left mouse button and drag
it with the button pressed.
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.
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 DontMoveOff window attribute.
Extra Bindings
| Action |
Effect |
|
| Drag the titlebar with the
middle mouse button |
Move the window without changing
it's stacking order. |
|
| Drag the titlebar while holding
the Control key |
Move the window without focusing
it. |
|
| Drag the client area or
resizebar while holding the Meta key |
Move the window. |
|
The size of a window can be adjusted by
dragging the resizebar.
Depending on the place you click to drag the resizebar, the resize operation is constrained to a direction.
To resize a window
- To change the window's height, click in the middle region of the resizebar and drag it
vertically.
- To change the window's width, click in either end regions of the resizebar and drag it
horizontally.
- To change both height and width at the same time, click in either end regions of the
resizebar and drag it diagonally.
Extra Bindings
| Action |
Effect |
|
| Drag the window in the client
area with the Right mouse button, while holding the Meta key |
Resizes the window. |
|
| Drag the resizebar with the
middle mouse button |
Resize the window without
bringing it to the front |
|
| Drag the resizebar while holding
the Control key |
Resize the window without
focusing it. |
|
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.
![[A Mini-window]](guide/images/mini.gif) |
A mini-window |
You can move the miniwindow around the screen by dragging it. Unlike application icons, miniwindows cannot be
docked.
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.
To miniaturize a window:
- Click on the miniaturize button.
OR
- Use the keyboard shortcut assigned to this action, Meta+m in the default
configuration.
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.
If you want to temporarily get rid of a window,
an option for it's miniaturization is to shade 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.
To shade a window:
- Double Click on the titlebar of the window.
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.
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.
To force the closure of a window (by killing the application):
- Hold the Control key and click on the close button.
OR
- Double click the close button.
It is also possible to kill applications that can be normally closed by clicking the close button while holding the
Control key.
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.
To maximize a window:
- Hold the Control key and double click on the window titlebar to resize the window's height
to full screen.
OR
- Hold the Shift key and double click on the window titlebar to resize the window's width to
full screen.
OR
- 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.
To restore the size of a maximized window:
- Hold the Control OR Shift key and double click on the window titlebar.
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 WinDock option.
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.
| (Un)Maximize |
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. |
| Miniaturize |
Will miniaturize the
window. |
| (Un)Shade |
Will shade the window, or
unshade it if it is already shaded. |
| Hide |
Will hide all the windows of the
application |
| Hide Others |
Will hide all current
applications except the current one |
| Move To |
Allows you to move the window to
a different workspace |
| Attributes... |
Opens the Window Attributes
Inspector (see section 2.3
) |
| Close |
Will close the
window |
| Kill |
Will kill the application. Use
this option only if the application does not provide means to close it normally, or in extreme
cases. |
This panel Allows you to specify the
WM_CLASS that WindowMaker should use to identify the window whose attributes you are setting.
This panel lets you set the attributes for the
selected window.
| Disable titlebar |
Causes the titlebar for the
selected window not to be displayed |
| Disable resizebar |
Causes the resizebar for the
selected window not to be displayed |
| Disable close
button |
Causes the close button for the
selected window not to be displayed |
| Disable miniaturize
button |
Causes the miniaturize button
for the selected window not to be displayed |
| Keep on Top |
Causes the selected window to
stay on top of all other windows |
| Omnipresent |
Causes the selected window to be
displayed in all workspaces |
| Start miniaturized |
Causes the selected window to
start miniaturized |
| Skip window list |
Causes the select window to be
skipped when cycling through the window list. |
| Ignore HideOthers |
Causes the selected window to
remain visible when HideOthers is selected from the Window Commands Menu |
| Don't bind keyboard
shortcuts |
Causes the selected window to
receive ALL keyboard events |
| Don't bind mouse
clicks |
Causes the selected window to
receive all mouse-click events |
| Keep Inside Screen |
Causes the selected window not
to be able to place itself off the screen |
| Don't let it take
focus |
Causes the selected window not
to be able to take input focus |
| Don't Save Session |
Causes the state of the selected
window not to be saved when a session is saved. (either when quitting WindowMaker, or when done
manually.) |
| Emulate Application
Icon |
Emulates an Application Icon for
"broken" applications |
This panel allows you to
browse for, and update the mini-window image for the selected window, as well as setting the
initial workspace.
Attributes specific to the selected
application
| Start hidden |
Starts the selected application in
a hidden state |
| No application icon |
Disables the application icon for
the selected application |
|
|