Raising and Lowering Windows
Over time, Sawfish has accumulated several subtle variations of
functions for raising and lowering windows. One set of functions
operates on single windows.
| lower-window window
|
Function |
| lower-single-window window
|
Command |
|
Lower window to the bottom of its stacking depth.
|
| raise-window window
|
Function |
| raise-single-window window
|
Command |
|
Raise window to the top of its stacking depth.
|
| raise-lower-window window
|
Function |
| raise-lower-single-window window
|
Command |
|
If window is the highest in its stacking level, lower it to the
bottom of this level, otherwise raise it to the top of its level.
|
Notice how the function name and command name for each pair differs
slightly. Another set of functions supports operating on multiple windows
simultaneously. Again, the function name and command name for each
pair is different.
| lower-window* window
|
Function |
| lower-window window
|
Command |
|
Lower window and possibly associated windows to the bottom of
their stacking depths.
|
| raise-window* window
|
Function |
| raise-window window
|
Command |
|
Raise window and possibly associated windows to the top of their
stacking depth.
|
| raise-lower-window* window
|
Function |
| raise-lower-window window
|
Command |
|
If window is the highest in its stacking level, lower it and
possibly associated windows to the bottom of their level, otherwise
raise them to the top of their level.
|
Indicates which windows the lower-window*, raise-window*
and raise-lower-window* functions affect. This variable can be
none
- Only the specific argument window is affected.
transients
- The specific argument window and all of its transients are affected.
This is the default.
group
- The specific argument window and all windows in its group are
affected.
|
| maybe-raise-window w
|
Function |
If window w supports the _SAWFISH_WM_RAISE_WINDOW
protocol, ask it whether it wants to raise itself or not. Otherwise,
raise the window unconditionally.
|
| maybe-lower-window w
|
Function |
If window w supports the _SAWFISH_WM_LOWER_WINDOW
protocol, ask it whether it wants to lower itself or not. Otherwise,
lower the window unconditionally.
|
Sawfish has more general operations that raising a window to the top
or lowering it to the bottom. It can place a window relative to one
or more other managed windows.
| raise-windows w order
|
Function |
| lower-windows w order
|
Function |
| raise-lower-windows w order
|
Function |
|
Raise (or lower) all windows in order, such that items earlier in
the list are higher (or lower) than later items. The window w
is special, always being the highest or lowest window, even if appears
in the middle of order.
For raise-lower-windows, if w would be raised or lowered,
then all the other windows are also raised or lowered.
|
There are also functions (and associated commands) to change a
window's depth.
| lower-window-depth window
|
Function |
| lower-window-depth window
|
Command |
|
Decrement the stacking depth of window.
|
| raise-window-depth window
|
Function |
| raise-window-depth window
|
Command |
|
Increment the stacking depth of window.
|
Sawfish provides special support for "click-to-focus" mode, where
you may or may not want to raise the window or pass the click to the
underlying application.
| raise-and-pass-through-click w
|
Function |
Raise the window that received the current event with
maybe-raise-window. Then replay any pointer events that
invoked the command.
|
| raise-and-pass-through-click-if-focused w
|
Function |
Raise the window that received the current event (if it's focused)
with maybe-raise-window. Then replay any pointer events that
invoked the command.
|
| raise-or-pass-through-click w
|
Function |
If the window that received the current event is not on top, raise it
with maybe-raise-window. Otherwise replay any pointer events
that invoked the command, sending them to the window.
|
When the above commands are called interactively, Sawfish will try to
invoke them on the window that received the current event. Failing
that, Sawfish will invoke them on the currently focused window.