Descriptions
Overview
Certain bang commands refer to desktops, windows, and monitors, which are
described by identifying some property, and in case nothing matches that
property, a second choice, third choice, and so on. Choices are separated
by slashes, so for example,
!sbDesk next/first
will switch to the next desk and wrap around to the first desk at the end,
but
!sbDesk next/newnext
will switch to the next desk, but make a new desk rather than wrap
around.
Desktops
Wherever a bang command or variable refers to a desktop, you may choose a
desktop using one of the following descriptions. Note that there may not be
such a desktop; for example, if the last desktop is selected, then "next"
doesn't refer to anything. If no parameter is given or if none of the
described desks exists, defaults to clicked/next/prev/current. The available
descriptions are:
-
[n]
The nth desktop. Starts at 1 (there is no 0th desktop). May be any
positive integer less than or equal to the number of desktops. If
negative, desk -1 is the last desk, and -n is the Nth to last desk.
-
prev(m), next(m)
Where m is a monitor, or if no monitor is given, the monitor which the
mouse cursor is on. The desktops before and after the desk which is
visible on the indicated monitor.
-
first, last
The first and last desktops.
-
current
The desktop you are looking at now
-
other
The last desktop you looked at, besides the focused one
-
up, left, right, down
Synonyms for nextwrap and prevwrap provided for compatibility (up/left is
prevwrap, down/right is nextwrap.)
-
newprev(m), newnext(m), newfirst, newlast
New desktops created in the corresponding positions. Note that empty
desktops will be automatically deleted, so you must either put something
on it (eg with !sbMoveApp) or set the sbKeepEmptyDesktops option.
-
hovered
The desk defined in the context of the element the mouse is currently
over, if any. Undefined if the mouse is not over a panel, or if it's
over a part of a panel which does not correspond to a desk.
-
clicked
If used in a mouse press, release, or click event handler, the desk
which was clicked on.
-
dragged, dropped
Only meaningful inside a drag 'n drop handler when the dragged (or
dropped-on) elements have a desk defined in their context.
Windows
Whenever a bang command or variable refers to a window, you may choose a
window using one of the following descriptions. (These descriptions are mainly
to support mouse event handling and drag and drop).
If a task owns more than one window, then layout elements involving it will
use the root window. Most bang commands (like !sbMoveApp) will affect the
entire task, including all its child windows.
-
all(m)
All windows on monitor m. If m is not specified, it is 'all' by default.
-
tasks(m)
All task windows on monitor m. If m is not specified, it is 'all' by
default. Task windows are windows which would normally appear on the
taskbar, as opposed to child windows, tool windows, etc.
-
focused, foreground
The current desk's topmost window. Note that this window doesn't have to
actually have the focus; if a Litestep window has the focus, then the
topmost window will still be used.
-
topmost(m)
The topmost window on the given monitor.
-
hovered
The task defined in the context of the hovered element, if any.
-
clicked
If in the context of a mouse click handler, the task which was clicked
on.
-
dragged dropped
If in the context of a drag event handler, the task which is being
dragged or being dragged onto.
Monitors
Whenever a bang command or variable refers to a monitor, you may choose a
monitor using one of the following descriptions. When a monitor is expected
but none is specified, 'cursor' is used as the default.