NAME
afterstep - X11 window manager
SYNOPSIS
afterstep [-d displayname] [--debug] [-f steprc_file] [-s]
[-v | --version] [-c | --config]
DESCRIPTION
afterstep is an X11 window manager with a NEXTSTEP look and
feel but which attempts to go beyond this to provide new
features and flexiblilty.
OPTIONS
-d [host]:display[.screen]
Manage the display [host]:display[.screen] instead of
the name obtained from the environment variable
$DISPLAY. $DISPLAY may be unix:0.0, :0.0 or :0, which
doesn't work too well when passed through rsh to
another machine, so $HOSTDISPLAY will also be set, and
will use a network-ready description of the display.
Unfortunately, $HOSTDISPLAY will use the TCP/IP tran-
sport protocol, even for a local connection, so
$DISPLAY should be used for local connections, as it
may use unix-domain sockets, which are faster.
--debug
Puts X transactions in synchronous mode, which dramati-
cally slows things down, but guarantees that
afterstep's internal error messages are correct.
-f streprc_file
Causes afterstep to use the old streprc_file format
instead of the default /usr/local/share/afterstep or
user specific ~/GNUstep/Library/AfterStep directory,
where the window manager configuration files are
located. afterstep will set both the $DISPLAY and
$HOSTDISPLAY environment variables which will be inher-
ited by all of its children; refer to the -d
host:display.screen to override these.
-s This will run afterstep on only the specified screen of
a multi-screen display. Normally, afterstep will
attempt to manage all screens of a multi-screen display
and treat each screen independantly. The "specified
screen" is the one provided by the $DISPLAY environment
variable, or provided through the -d displayname
option. Restarts as well as Quits of afterstep need to
be performed separately on each screen. The use of
EdgeScroll 0 0 is strongly recommended for multi-screen
displays.
-v | --version
Prints out the version number of afterstep.
-c | --config
Prints out the directory configuration specified to
afterstep at compile time.
INITIALIZATION
During initialization, afterstep will search for the confi-
guration files which define the look, feel, and functional-
ity. The system default configuration files are located
under /usr/local/share/afterstep; but if copied (and edited
to suit a user's needs) to ~/GNUstep/Library/AfterStep,
these will override the global share files. If the basic
"working" configuration files are not found in either
/usr/local/share/afterstep/non-configurable or
~/GNUstep/Library/AfterStep/non-configurable, afterstep will
exit. If these "working" configuration files have been cor-
rupted or are from a previous incompatible version, after-
step will exit. Also realize that a system administrator or
software packager might have these installed in alternate
locations, finding them should not be hard.
INVOCATION
afterstep is typically invoked from users' ~/.xinitrc as
"exec afterstep", located as the last line in this file.
xdm or asdm et al use the ~/.xsession file.
ANATOMY OF THE DESKTOP
The default AfterStep starts with the module WinList(1) run-
ning as a dark grey bar originating from the upper left
corner of the screen. This is to function in a manner simi-
lar to the Windows(R) StartBar, where windows appear when
opened and can be Maximized from. The Pager(1) is also
started in the upper right hand corner. This module controls
which desktop and or view is visable as well as handles the
graphics picked for the root background. Along the lower
right hand of the screen and moving upwards is the module
Wharf(1); this acts as a button bar in or from which appli-
cations can be started. A default startmenu was also pro-
vided which was created from the default start/ directory
structure. Clicking with the left mouse button on the root
background will bring this menu up, from which applications
can be launched. afterstep itself creates the decorations
for windows. The top decoration is called the TitleBar; it
contains various window action controlling buttons along
with the window's title. The lower decoration is called the
Handles (or low bar or BottomBar); it contains the window
resizing handles.
MODULES
A Module is a separate program, which runs as a separate
unix process, but transmits commands for afterstep to exe-
cute. These Modules get many kinds of window information
from afterstep, but typically use their own configuration
files. Users can write their own modules to do any weird or
bizarre manipulations, without affecting the integrity of
afterstep itself.
Modules are documented in their own man pages.
ENVIRONMENT VARIABLES
$SCREEN_GAMMA
Value of this env variable is used to gamma-correct PNG
and JPEG images, when loading them from files. Default
value of 1.0 is used if this variable is not defined -
which means no correction at all. Try using 2.2 for
some older monitors to get brighter images.
CONFIGURATION DIRECTORIES
There are several files within numerous directories which
control and or provide configurations for afterstep.
The backgrounds/ directory is where afterstep looks for root
background images for insertion into the menu, so that pick-
ing one of these images causes Pager(1) to load the image
into the root background. The Pager(1) must be running to
utilize the menu Pictures entry. Valid images are currently
XPM, JPEG, and PNG; provided the associated development
libraries were located during compile and libraries are
available during runtime.
The desktop/ directory contains the buttons/, icons/, and
sounds/ directories.
The desktop/buttons/ directory is the location afterstep
looks for the bitmaps or pixmaps to be used for the
TitleButtons. These are the "icons" which control options
for a window, e.g. shaded, iconified, and quit to name a
few. Pixmaps for the buttons are defined in the look.name
file and the actions taken are described in the feel.name
file.
The desktop/icons/ directory contains the icons which after-
step and its modules use. It is divided into three subdirec-
tories, 8bpp/, 16bpp/, and common/. With the default confi-
guration, 8bpp/ is used only when in 8bpp, 16bpp/ is used
only when in 15bpp or better, and common/ is always used.
The desktop/sounds/ directory contains the sounds used by
afterstep and its modules. See the Audio(1) man page for
more details on sound in AfterStep.
The feels/ directory contains configuration files used to
customize the feel of AfterStep. Any feel files created
should be placed within this directory, and upon the next
rebuild of the startmenu, they will appear under DeskTop-
>Feels in the menu. See the feel.name section below for more
details.
The looks/ directory contains configuration files used to
customize the look of AfterStep. Any look files created
should be placed within this directory, and upon the next
rebuild of the startmenu, they will appear under DeskTop-
>Looks in the menu. See the look.name section below for
more details.
The non-configurable/ directory contains "working" copies of
your configuration files; these are the Pager(1)'s image
files, the current feel.name, look.name and startmenu files.
Editing these files is a futile attempt unless you know that
these files get overwritten; ergo the name "non-
configurable".
The start/ directory contains the start menu directory tree,
which is used to build the popup desktop menu (startmenu).
See the startmenu section below for more details.
Also refer to the FILES section near the end of this man
page.
CONFIGURATION OPTIONS - autoexec
This is the file that initializes various Modules or pro-
grams when afterstep is either started or restared. Each
set is handled within Function stanzas. During the invoca-
tion of afterstep:
Function "InitFunction"
or during a restart called via the menu or other button:
Function "RestartFunction"
Refer to the BUILT-IN COMMANDS/FUNCTIONS and EXAMPLES sec-
tions below.
CONFIGURATION OPTIONS - base.#bpp
There should exist one base.#bpp configuration file for each
colordepth. The # can be any of 8, 15, 16, 24, and 32;
which are the colordepths available by most Xservers.
ModulePath path[:path]
Specifies the paths to locate the Modules in.
IconPath path[:path]
Specifies the paths to locate the bitmaps in, typically
used only if XPM, JPEG, or PNG images aren't available.
Valid bitmaps are standard X11 XBM's.
PixmapPath path[:path]
Specifies the paths to locate the pixmaps in. Valid
pixmaps are currently XPM, JPEG, and PNG.
*ScriptPath path[:path]
Specifies the paths to locate the scripts for use with
the Script Module.
Refer to the Pager(1) man page for the other settings.
CONFIGURATION OPTIONS - compatibility
This file is only used with the -f steprc_file option. It
defines a few needed configuration options which were not in
the old .steprc files.
PixmapPath path[:path]
Specifies the paths to locate the pixmaps in. Valid
pixmaps are currently XPM, JPEG, and PNG.
TitleButton button unclicked_image clicked_image
button defines the button location number from 1 to 10
in the following layout: [1] [3] [5] [7] [9] (title)
[10] [8] [6] [4] [2].
unclicked_image is the bitmap or pixmap to be used dur-
ing the static state of the associated buton location.
clicked_image is the bitmap or pixmap to be used during
a clicked state of the associated button location.
DrawMenuBorders 0|1|2
Specifies the look of the (start)menu. Using 0 will
draw the menu with no border on either the menu label
or menu item portions. Using 1 will draw a border
around each menu label and around the menu item. Using
2 will drawn a border around the menu label and the
entire menu item list. The border colors are calcu-
lated from the BackColor under MyStyle menu_item of the
look.name. The "hilight" (top & left) color is one half
lighter than the BackColor color and the "shadow" (bot-
tom & right) is one half darker than the BackColor
color. If the BackColor color is black, the color grey
is used.
CONFIGURATION OPTIONS - database
This file contains window properties for application windows
which controls their "behavior" within afterstep.
Style "WM_NAME" option[s]
The "WM_NAME" can the window's name, class or resource
string. It can also contain wildcards such as "*" or
"?", which are matched in the usual UNIX filename
manner. Using the standard X11 xprop(1) command at a
command prompt or the Window Properties menu item entry
under Desktop menu entry will return this (and other)
property.
The option[s] is a comma separated list containing all
or some of the following keywords. If conflicting
style options are specified, the last one will be used:
FocusStyle [style]
Specifies a MyStyle to be used for this window
when it has the keyboard focus. If style is
unspecified, the default focus style will be used
instead (see FWindowStyle, below).
StickyStyle style
Specifies a MyStyle to be used for this window
when it does not have the keyboard focus, and is
sticky. If style is unspecified, the default
sticky style will be used instead (see SWindowS-
tyle, below).
UnfocusStyle style
Specifies a MyStyle to be used for this window
when it does not have the keyboard focus, and is
not sticky. If style is unspecified, the default
unfocus style will be used instead (see
UWindowStyle, below).
AvoidCover | AllowCover
Specifies that other windows should not be allowed
to cover the app window. Prevents other windows
from moving in front of (or behind) the app win-
dow. If SmartPlacement is specified in the feel
file, windows will not be allowed to automatically
place themselves over the app window, if possible.
AllowCover turns off AvoidCover. The default is
AllowCover.
BorderWidth width
Specifying this in conjunction with NoHandles,
sets the border width of a window to be width. A
width of 0 causes no border.
This option has no affect if not used with NoHan-
dles. The default is 1 implicitly for all win-
dows.
NoFocus | Focus
This will set the window to refuse any input
focus. The default is Focus implicitly for all
windows.
Icon [/path/]name.[xpm|jpg|png] | NoIcon
Specifies the [/path/]name.[xpm|jpg|png] to use
when iconified, overriding any icon the app itself
might provide. NoIcon turns this off for the
specified app and the icon will simply disappear
when the app is iconified. Refer to the EXAMPLES
below for a method to make all icons disappear.
The default is to use the app's supplied icon or
the icon specified with the WM_NAME of "Unknown"
or "*".
NoTitle | Title
Specifies that afterstep should not put a title
bar decoration on the app. The default is Title
implicitly for all windows.
NoHandles | Handles
Specifies that the app window will not display the
"low bar" decoration. This also removes the abil-
ity to resize windows with the resize handles on
the "low bar" ends. The default is Handles impli-
citly for all windows.
WindowListSkip | WindowListHit
Specifies that the app name will be omitted from
both the internal Window List (default click of
mouse buttons 2 & 3 on the root window), and the
WinList(1) module bar. The default is WindowL-
istHit implicitly for all windows.
CirculateSkip | CirculateHit
Causes windows to be skipped over when the
ChangeWindowUp, ChangeWindowDown or Warp (also
called alt-tabbing) functions are invoked. The
default is CirculateHit implicitly for all win-
dows.
StaysOnTop | StaysPut | StaysOnBack
StaysOnTop causes the window to always try to stay
above all other open windows. If the window was
explicitly lowered, it will loose this charateris-
tic until explicitly told to stay on top again by
calling the Buit-in Function PutOnTop. StaysOnBack
causes a window to always try to remain behind all
open windows. The default is StaysPut implicitly
for all windows, which doesn't specify any
specific stacking order of open windows.
NOTE: deprecated, use Layer instead.
Layer layer
Specifies what layer this window should be in.
layer may be any integer (positive, negative, or
zero). Windows are grouped according to their
layer, and may not be moved out of their layer.
Windows in higher layers will be above windows in
lower layers. By default, windows are placed in
layer 0. StaysOnBack corresponds to Layer -1, and
StaysOnTop corresponds to Layer 1.
Sticky | Slippery
Causes the app window to stick to it's location
for each desktop that becomes current, allowing
the window to "follow" while changings desks/
views. The default is Slippery implicitly for all
windows.
StartIconic | StartNormal
Causes the app to start and immediately iconify
itself to the IconBox. The default is StartNormal
implicitly for all windows.
StartsOnDesk number | StartsAnyWhere
Causes the app window to start on the specified
desk number. If SmartPlacement is used in the
feel.name file, the window will appear on the
specified desk number, but will require interac-
tion to place it; unless it was called with
geometry settings. Specific Viewports are also
allowed, refer to them below. The default is
StartsAnyWhere implicitly for all windows.
VerticalTitle | HorizontalTitle
Causes the window titlebar to be placed vertically
along the left side of the window, instead of hor-
izontally across the top.
ViewportX number
Specifies the coordinate along the x-axis that
afterstep should place a window. This allows
opening a window on a particular desk and view.
number is measured in pixels and the screen reso-
lution is the outline of a desk's particular boun-
daries; where it will then place it upon another
desk or view. Combined with ViewportY, a window
can be given geometry by afterstep and be placed
in the desired desktop and view.
ViewportY number
Specifies the coordinate along the y-axis that
afterstep should place a window. This allows
opening a window on a particular desk and view.
number is measured in pixels and the screen reso-
lution is the outline of a desk's particular boun-
daries; where it will then place it upon another
desk or view. Combined with ViewportX, a window
can be given geometry by afterstep and be placed
in the desired desktop and view.
NoButton number | Button number
Specifing a number to each use of NoButton will
cause that buttons number to not be displayed in
the title bar. See TitleButtons above for the
number and their location on the title bar. The
default is to display all buttons defined in the
look.name file if the following conditions are
met: there is a valid bitmap or pixmap specified
for the button in the look.name file; and the but-
ton has not been forced not to display by the use
of Motif WM hints specified (set on) in the
feel.name file. The default is Button number
implicitly for all windows.
SuppressIcons
Specifies that no icon should be shown for any
window being iconified, similar to NoIcon.
CONFIGURATION OPTIONS - feel.name
AutoReverse 0|1|2
Specifies the window Warping (also called alt-tabbing)
style. 0 (the default) causes switching among windows
in one direction. 1 causes a closed loop switching -
#1->#2->#3->#4 then #4->#3->#2->#1. 2 causes an open
loop switching - #1->#2->#3->#4 then #4->#1->#2->#3
etc.
AutoTabThroughDesks
In conjunction with AutoReverse, this will Warp (alt-
tab) through windows on all desks.
AutoRaise delay
Specifies the delay in milliseconds of focus a window
must attain before being raised.
MWMFunctionHints
Adds support for Motif window manager function hints.
MWMDecorHints
Adds support for Motif window manager decoration hints.
MWMHintOverride
Allows Motif window manager function hints to be over-
ridden by afterstep window styles.
Xzap number
Specifies the horizontal offset of the cursor when
warping. This offset is relative to the upper-left
corner of the window being warped to.
Yzap number
Specifies the vertical offset of the cursor when warp-
ing. This offset is relative to the upper-left corner
of the window being warped to.
KeepIconWindows
Specifies that applications should be allowed to
specify their own icon windows.
Titlebarnopush
Specifying this will disable the illusion that the
title bars are being pressed when clicked upon.
Without this option, clicking the title bar will cause
it to invert its colors, making it appear to be a 3D
button being pressed in.
ClickToFocus
Specifies that the keyboard input (aka focus) stays
with one window until a new window's TitleBar is
clicked on, or gains focus through Warping or de-
iconification.
ClickToRaise buttons
Specifies that windows should be raised when a button
is clicked in the titlebar, handle (low bar), or appli-
cation area. buttons specifies the list of buttons
which triggers this function.
In AutoRaise mode this will simply raise the window if
the click is before the delay specified in AutoRaise.
In ClickToFocus mode, this will raise the window and
give it focus.
SloppyFocus
Specifies that windows retain focus until the mouse
moves to another window, or Warping causes another win-
dow to gain focus.
SloppyFocus has no effect if ClickToFocus is also
specified.
StubbornIcons
Specifies that icons should uniconify to their original
desk. By default, icons uniconify to the current desk.
StubbornPlacement
Specifies that new windows should avoid being placed
over icons.
StubbornIconPlacement
Specifies that icons should avoid being hidden behind
windows placed over the IconBox by moving themselves
around (dancing icons).
IconTitle
Specifies that a title should be displayed under an
iconified app. The colors used are the ForeColor and
BackColor of the unfocused_window_style in the
look.name file. Note: less space is left for the app's
icon, so it will be resized acordingly. Only a portion
of the icon title will be displayed until the icon
gains focus, and then the title "box" will expand to
reveal the window's entire name.
StickyIcons
Specifies that icons should stick to the screen's glass
and follow it from desk/view to desk/view.
CirculateSkipIcons
Specifies that all icons should be skipped when Warping
(alt-tabbing) between windows.
CenterOnCirculate
Specifies that when Warping (alt-tabbing), the desktop
page containing the window to which the pointer is mov-
ing will be automatically selected and afterstep will
attempt to center the target window in the desktop
viewport, rather than just flipping to the desktop the
window resides in.
ClickTime delay
Specifies that afterstep should consider two mouse
clicks made within delay milliseconds to be a double
mouse click, and not two single mouse clicks. The
default delay is 150 milliseconds.
OpaqueMove %
Specifies the maximum size window where opaque window
movement should be used. % is percent of the total
screen area. Set to 0, all windows will be moved using
the traditional rubber-band outline. Set to 100, all
windows will be move as solid windows. The default is 5
which allows small windows to be moved in an opaque
manner, but large windows to be moved as rubber-bands.
Using this option with large values can slow down video
response on slower systems.
OpaqueResize %
Specifies the maximum size window where opaque resizing
should be used. % is percent of the total screen area.
Set to 0, all windows will be resized using the tradi-
tional rubber-band outline. Set to 100, all windows
will be resized as solid windows. The default is 5
which allows small windows to be resized in an opaque
manner, but large windows to be resized as rubber-
bands. Using this option with large values can slow
down video response on slower systems.
EdgeScroll horizontal vertical
Specifies the percentage of a page to scroll when the
cursor hits the edge of a page. Setting EdgeScroll to 0
0 will disable scrolling. Setting this option to 100
100 will scroll whole pages. Set to 1000 1000, scrol-
ling will wrap around at the edge of the desktop. Both
horizontal and vertical should be positive numbers.
EdgeResistance delay pixels
Specifies how hard it should be to change views within
a desktop by moving the mouse over the edge of the
screen, and how hard it should be to move a window over
the edge of a screen.
The delay in milliseconds, defines how long the pointer
must spend at the screen edge before that view becomes
current. This is useful in conjunction with EdgeScroll
100 100, so the views don't get switched accidently.
The pixels defines how far over the edge a window must
"appear" to move before it actually moves partially off
the screen.
Note that with EdgeScroll 0 0, it is still possible to
move or resize windows across the edge of the current
screen. By setting the pixels parameter of EdgeResis-
tance to 10000, this type of motion is impossible. How-
ever, with EdgeResistances less than 10000, but greater
than 0, moving over pages becomes difficult but not
impossible.
SmartPlacement
Specifies that windows be placed in areas that no other
windows occupy, otherwise user intervention becomes
required for placement. Have fun, try specifying both.
:-)
RandomPlacement
Specifies that windows which would normally require
user intervention for placement be automagically placed
in ever-so-slightly random locations.
NoPPosition
Species that afterstep should ignore the PPosition
field when placing new windows, in other words, windows
can't choose where to place themselves. Adherence to
the PPosition field is required for some applications.
DecorateTransients
Specifies that transient windows (pop-up dialog boxes),
which are normally not decorated, should be given the
usual title and low bars. Note: some pop-up windows
and menus are not managed by the window manager, so do
not get these decorations.
AppsBackingStore
Specifies that app windows should request backing
store. X-terminals and low memory systems should avoid
this as redrawing will be quicker than pulling the
saved image from swap space. Backing store will always
be faster than redraw on machines that have enough
memory. This causes non-ICCCM compliance.
BackingStore
Specifies that decorations should request backing
store. Refer to AppsBackingStore above for further
details.
SaveUnders
Specifies that afterstep frames should request
saveunders. This will cause afterstep to save those
portions of windows that are not visible to system
memory. This can significantly improve the performance
during opaque moves, but it causes a significant
increase in memory usage. This can also cause garbled
display with some applications.
DontMoveOff
Specifies that windows should not be moved off or ini-
tially placed off of the desktop. A few programs will
not work correctly if you use this option. This only
keeps windows from being completely lost off the edge
of the desktop. It insists on keeping 16 pixels on the
desktop, but does not attempt to keep the entire window
on the desk.
XorValue value
Specifies the value with which bits are XOR'ed when
doing rubber-band window moving or resizing. Setting
this value is a trial-and-error process.
MenusHigh
Specifies that any pop-up menu's submenu should appear
at the top of the parent menu instead of starting at
the point in the parent window where the submenu item
lies.
PagingDefault 0|1
Specifies if Paging should be enabled (1) or disabled
(0). Paging is set to enabled by default.
Cursor cursor_number cursor_type
Specifies the cursor_type for the given cursor_number.
Valid cursor_numbers are 0 though 10 and listed in all
the shipped feel.name files. The cursor_types are
listed in the
/usr/include/X11/cursorfont.h file.
Functions
Specifies a function definition and is covered in the
BUILT-IN COMMAND/FUNCTION below.
Popup
Specifies a menu popup definition and is covered in the
BUILT-IN COMMAND/FUNCTION below.
Mouse button context modifier Command
Specifies a mouse binding definition. button is the
mouse button number [0, 1, 2, or 3]. If button is zero,
then any mouse button invoked issues the Command. con-
text describes where the mouse click occurred and can
be any combination of the following:
R = Root window (main background)
F = Window Frame (the BottomBar handle corners)
S = Window TitleBar or BottomBar
I = Iconified Button (minimized window icon)
T = Window TitleBar
W = Application Window
A = Any of the above except for TitleButtons
1-10 = TitleButton number of the TitleBar, corresponds to the
entry in the look.name file
The action to be taken by the defined TitleButton is
defined in the feel.name file. Defining a TitleButton
without having a corresponding entry in the feel.name
file will cause the TitleButton icon to be displayed,
but not react when pressed.
modifier is the key-stroke combination associated with
the context entry, to issue the Command. Valid
modifier's are:
N = No modifiers
C = Control
S = Shift
M = Meta
A = Any modifier
Command can be any afterstep Built-in command/ func-
tion, Popup or user defined Function.
Key keyname context modifier Command
Specifies a key-stroke binding definition, similar to
Mouse above. keyname is the keyboard key name. Valid
keyname's are found in the
/usr/X11/include/X11/keysymdef.h file and are specified
here without the leading "XK_". The context describes
where the mouse is resting when the keyname is pressed
and can be any combinationof the following:
R = Root window (main background)
F = Window Frame (the BottomBar handle corners)
S = Window TitleBar or BottomBar
I = Iconified Button (minimized window icon)
T = Window TitleBar
W = Application Window
A = Any of the above except for TitleButtons
1-10 = TitleButton number of the TitleBar [ not very useful here ]
modifier is the key-stroke combination associated with
the context entry, to issue the Command. Valid
modifier's are:
N = No modifiers
C = Control
S = Shift
M = Meta
A = Any modifier
Command can be any afterstep Built-in command/ func-
tion, Popup or user defined Function.
CONFIGURATION OPTIONS - look.name
ButtonTextureType type
Deprecated. Use MyStyle "ButtonPixmap" instead.
ButtonMaxColors maximum
Deprecated. Use MyStyle "ButtonPixmap" instead.
ButtonBgColor color
Deprecated. Use MyStyle "ButtonPixmap" instead.
ButtonTextureColor from to
Deprecated. Use MyStyle "ButtonPixmap" instead.
ButtonPixmap pixmap_name
Deprecated. Use MyStyle "ButtonPixmap" instead.
DecorateFrames [0|1]
Specifies that windows should not have a lowbar, and
should have a frame. The frame width and height are
defined by the width and height of the associated pix-
maps (see FrameNorth, FrameSouth, etc).
FrameNorth pixmap_name
Specifies the pixmap to be displayed in the top border
of the window frame, DecorateFrames is set. See Back-
Pixmap below for details on what pixmap_names are
allowed.
FrameSouth pixmap_name
Specifies the pixmap to be displayed in the bottom
border of the window frame, if DecorateFrames is set.
See BackPixmap below for details on what pixmap_names
are allowed.
FrameEast pixmap_name
Specifies the pixmap to be displayed in the right
border of the window frame, if DecorateFrames is set.
See BackPixmap below for details on what pixmap_names
are allowed.
FrameWest pixmap_name
Specifies the pixmap to be displayed in the left border
of the window frame, if DecorateFrames is set. See
BackPixmap below for details on what pixmap_names are
allowed.
FrameNE pixmap_name
Specifies the pixmap to be displayed in the top right
corner of the window frame, if DecorateFrames is set.
See BackPixmap below for details on what pixmap_names
are allowed.
FrameSE pixmap_name
Specifies the pixmap to be displayed in the bottom
right corner of the window frame, if DecorateFrames is
set. See BackPixmap below for details on what
pixmap_names are allowed.
FrameNW pixmap_name
Specifies the pixmap to be displayed in the top left
corner of the window frame, if DecorateFrames is set.
See BackPixmap below for details on what pixmap_names
are allowed.
FrameSW pixmap_name
Specifies the pixmap to be displayed in the bottom left
corner of the window frame, if DecorateFrames is set.
See BackPixmap below for details on what pixmap_names
are allowed.
MArrowPixmap pixmap_name
Specifies a pixmap to use as the submenu indicator in
popup menus. See BackPixmap below for details on what
pixmap_names are allowed.
MenuPinOn pixmap_name
Specifies a pixmap to use as the pinned menu indicator
in popup menus. See BackPixmap below for details on
what pixmap_names are allowed.
MenuPinOff pixmap_name
Specifies a pixmap to use as the unpinned menu indica-
tor in popup menus. See BackPixmap below for details on
what pixmap_names are allowed.
TexturedHandle
Specifies that the resize handles on the bottom of win-
dows should be textured. The titlebar texture will be
used.
TextGradientColor from to
Specifies a gradient to be applied to the focused win-
dow titlebar text. TextGradientColor is ignored unless
GradientText is also given. The gradient colors start
at from and end at to. from and to are standard X11
color definitions.
GradientText
Specifies that the gradient specified by TextGra-
dientColor should be applied to the focused window
titlebar text.
ButtonNoBorder
Specifies that the border normally drawn around iconi-
fied windows should be omitted.
DrawMenuBorders border_style
Specifies the menu border style. border_style can be
one of the following:
0: no borders
1: borders around each title and each item
2: borders around each title and all items
3: borders around each title, all items, and the hilighted item
TextureMenuItemsIndividually texture_style
Specifies how textures should be applied to menu items.
If texture_style is 0, menu items are textured as a
group. If texture_style is 1, menu items are textured
individually. This option is ignored if the menu item
MyStyle background uses a transparency effect.
SeparateButtonTitle onoff
Specifies where iconified window titles should be
drawn. If onoff is 0, the title will be drawn at the
top of the icon. If onoff is 1, the title will be
drawn in a separate window at the below the icon. The
default value of onoff is 1.
ButtonSize width height
Specifies the size of iconified windows. Every iconi-
fied window button will be exactly width pixels wide
and height pixels high. This includes titles drawn at
the top, but not the separate title window created by
SeparateButtonTitle. If either width or height is less
than one, that dimension will not be fixed. The
default is ButtonSize 0 0.
ResizeMoveGeometry geom
Specifies the location of the resize/move window. If
this option is not specified, the move/resize window
will be centered on the screen. geom may be any one of
the following:
++: upper-left corner
-+: upper-right corner
+-: lower-left corner
--: lower-right corner
MenuMiniPixmaps minis
Specifies whether mini pixmaps should be included in
menus. If minis is 0, mini pixmaps are not included. If
minis is 1, mini pixmaps are included. Note that mini
pixmaps will not be added to menus until the next time
menus are updated. Mini pixmaps can cause AS to take
much longer to load over a network.
IconFont font
Deprecated. Use MyStyle "ButtonPixmap", "Button-
TitleFocus", "ButtonTitleSticky", and "ButtonTitleUn-
focus" instead.
IconBox left top right bottom
Specifies a region of the screen in which to place
iconified windows. Up to four icon boxes can be
defined. If an IconBox is provided, icons will automat-
ically be placed in them, if possible. Otherwise, they
will be placed in the upper left corner of the screen.
Each time a window is iconified, a new place is found
for it, unless the icon has been moved manually. An
available space is searched for from left to right,
then top to bottom. Icons will not be automatically
placed on top of other icons, but they may be placed
underneath application windows if StubbornIconPlacement
has not been specified. If left or right is negative,
then AfterStep will add the screen width to it. If top
or bottom is negative, then AfterStep will add the
screen height to it. Note that -0 is not parsed as the
right or bottom pixel on the screen. Use -1 instead.
The IconBox will normally be filled from left to right,
then top to bottom. However, if the right edge of the
IconBox is closer to the right edge of the screen than
the left edge of the IconBox is to the left edge of the
screen, then it will be filled from right to left.
Similarly for top to bottom. For example, "2 2 -1 -1"
will result in an IconBox which fills from right to
left, then bottom to top.
RubberBand type
Specifies the RubberBand type to use when moving or
resizing non-opaque windows. There are 3 styles:
0: the window is represented as a number of rectangles
1: one rectangle the size of the window
2: one crossed-out rectangle the size of the window.
TitleTextAlign alignment
Specifies the alignment of the window title in the titlebar. The
allowable values for alignment are as follows:
1: left aligned
2: right aligned
3: center aligned (default)
TitlebarNoPush
Specifies that the titlebar should not to appear to be
"pushed in" when clicked with a mouse button. This is
useful to reduce video strain or if textured pixmaps
that do not look good "pushed in" are used.
TitleButton num pixmap_name
Specifies a pixmap to use as a titlebar button. Up to
10 buttons are possible. num specifies the position of
the button on the window and is an integer from 1 to
10. The positions are indicated as below:
[1] [3] [5] [7] [9] TitleBarText [10] [8] [6] [4] [2]
The action to be taken by the defined TitleButton is
defined in the feel.name file. Defining a TitleButton
without having a corresponding entry in the feel.name
file will cause the TitleButton icon to be displayed,
but not react when pressed.
TitleButtonStyle num
Specifies how much space is put between leftmost and
rightmost titlebar buttons, and the edges of the
titlebar. If num is 0, there is a two pixel buffer the
buttons and the edge. If num is 1, there is no space
between the buttons and the edge.
TitleButtonSpacing num
Specifies how much space (in pixels) to put between
titlebar buttons.
TitleButtonBalloons
Turns on the balloon feature. A "balloon" is displayed
showing the function(s) bound to a titlebar button. The
balloon background and text are configured with the
MyStyle "TitleButtonBalloon".
TitleButtonBalloonBorderWidth number
Sets the width of the balloon window's border. Defaults
to 1.
TitleButtonBalloonBorderColor color
Sets the color of the balloon window's border. Defaults
to black.
TitleButtonBalloonYOffset number
The balloon window is positioned to be horizontally
centered against the titlebar button it is describing.
The vertical position may be set as an offset. Negative
offsets of -N are placed N pixels above the pager win-
dow, positive offsets of +N are placed N pixels below.
Defaults to +2.
TitleButtonBalloonDelay number
Specifies the period in milliseconds to delay the
appearance of the balloon.
DefaultStyle "style_name"
Specifies the MyStyle to use when no style has been
specifically defined for a given situation. Note that
if a style named "default" has been defined and
DefaultStyle has not, the "default" style will be used
as the default.
FWindowStyle "style_name"
Specifies the MyStyle to use for the focused window
decorations.
UWindowStyle "style_name"
Specifies the MyStyle to use for the unfocused window
decorations.
SWindowStyle "style_name"
Specifies the MyStyle to use for the sticky window
decorations.
MenuItemStyle "style_name"
Specifies the MyStyle to use for menu items.
MenuTitleStyle "style_name"
Specifies the MyStyle to use for menu titles.
MenuHiliteStyle "style_name"
Specifies the MyStyle to use for hilighted menu items.
MenuStippleStyle "style_name"
Specifies the MyStyle to use for stippled menu items.
MyStyle "ButtonPixmap"
Specifies the background tile of iconified windows.
Inherits from the old ButtonPixmap, IconFont, Button-
TextureType, ButtonMaxColors, ButtonBgColor, and But-
tonTextureColor options, and also inherits from FWin-
dowStyle.
MyStyle "ButtonTitleFocus"
Specifies how focused iconified window titles should
look. Inherits from FWindowStyle.
MyStyle "ButtonTitleSticky"
Specifies how sticky iconified window titles should
look. Inherits from SWindowStyle.
MyStyle "ButtonTitleUnfocus"
Specifies how unfocused iconified window titles should
look. Inherits from UWindowStyle.
MyStyle "style_name"
style_option
~MyStyle
Specifies the beginning of a look style definition. The
style can be referred to later by style_name. ~MyStyle
ends a look style definition. The possible
style_options follow:
Font font
Specifies the font associated with this style.
font is a standard X11 font definition.
ForeColor color
Specifies the text color associated with this
style. color is a standard X11 color definition.
BackColor color
Specifies the background color associated with
this style. color is a standard X11 color defini-
tion.
TextStyle style
Specifies the text style associated with this
style. style can be 0, 1, or 2:
0: normal text
1: 3d effect #1
2: 3d effect #2
DrawTextBackground [0|1]
Specifies that the area behind text drawn in this
style should be cleared to BackColor. The argu-
ment is optional. If the argument is 0, this
option is turned off; if it is omitted or is
nonzero, the option is turned on.
MaxColors maximum
Specifies the maximum number of colors that the
BackGradient can use. jpegs specified with
BackPixmap will also be limited to this number of
colors.
BackGradient type from to
Specifies that a gradient should be used as a
background instead of a solid color. The gradient
colors start at from and end at to. from and to
are standard X11 color definitions. type can be 1,
2, 3, 4, or 5:
1: Wharf-style diagonal gradient
2: Horizontal from top to bottom
3: Horizontal from top/bottom to center
4: Vertical from left to right
5: Vertical from left/right to center
BackMultiGradient type offset1 color1 ... offsetN colorN
Specifies that a gradient should be used as a
background instead of a solid color. The gradient
colors start at color1 and end at colorN. Each
color has an offset associated with it. The offset
is a number between 0.0 and 1.0, and specifies
where in the gradient the colors are to be placed.
The colors are standard X11 color definitions. At
least two colors must be given. The offsets are
non-decreasing numbers between 0.0 and 1.0. If the
first offset is not 0.0, it will be set to 0.0. If
the last offset is not 1.0, it will be set to 1.0.
type may be any of the following:
6: diagonal from top-left to bottom-right
7: diagonal from bottom-left to top-right
8: left to right
9: top to bottom
BackPixmap type pixmap_name|color_name
Specifies that a pixmap should be used as a back-
ground instead of a solid color. This option has
two forms, depending on the value of type. If type
is 128, the second parameter, pixmap_name must be
the name of an xpm, jpeg, or png image which can
be found in PixmapPath. If type is 129, the root
pixmap (desktop background) will be used, and the
optional second parameter must be a color with
which the root pixmap will be shaded. If type is
130, the root pixmap will be averaged with the
specified pixmap, and the result will be used as
the background. In order for type 129 or type 130
to work properly, your desktop background must be
set by a program that also sets the _XROOTPMAP_ID
property on the root window, such as asetroot or
Esetroot.
128: tiled pixmap from the upper left
129: "transparent" (or tinted with color)
130: translucent pixmap
Inherit "style_name"
Specifies a MyStyle to inherit options from.
Options from style_name will override previously
specified options for this style. Inherit is a
good way to save memory and network bandwidth if
the same BackPixmap is used for several styles, as
the pixmap will only be loaded for the inherited
style.
CONFIGURATION OPTIONS - startmenu
The startmenu is built from the start/ tree by utilizing
files which have the menu items as command strings within
them. The basic structure of a command string is as fol-
lows:
Exec "name" exec command [-options]
Where Exec is a built-in command (see below); "name" is what
will appear as the entry in the created startmenu; exec
invokes a subprocess (via exec(3)) for the given "command";
and "command" is whatever program is to be invoked along
with any "-options" that might be desired.
.include
Any directory in the start/ directory tree may have an
.include file. Also, any directory which is subse-
quently included (via this include directive) may also
have an .include file. Valid entries for an .include
file are as follows:
Command command [args]
Specifies an AfterStep function to apply to all
items in this directory. Does not apply to sub-
directories or included directories. The resulting
function will be:
command "menu name" args /menu/item/full/path
Extension ext
Specifies an extension to strip from all filenames
in this directory prior to placing them in the
menu as menu item names. For example, an ext of
"look." will cause the file "look.DEFAULT" to show
up as "DEFAULT" in the menu, and an ext of
".tar.gz" will cause the file "theme.tar.gz" to
show up as "theme" in the menu.
Include "path" [command [args]]
Specifies the path to another directory, whose
contents will be included in this menu. If command
is given, it will be applied to all items in the
included directory as if a Command directive (see
above) had been given, except that subdirectories
of the included directory are also affected.
KeepName
Specifies that the directory name should be
retained when creating the distilled menu, so that
it can be referred to by name in a PopUp statement
(see BUILT-IN COMMANDS/FUNCTIONS, below). The
toplevel menu (start) has this option on by
default.
MiniPixmap pixmap
Specifies a pixmap to display to the left of the
menu item which invokes this menu, and in the
title of this menu.
Name name
Specifies the name of this folder in the final
menu displayed to the user. This name will be
overridden if the folder's filename includes an
order; use the order command (below), instead.
Order order
Specifies where in its parent menu the item which
invokes this menu should appear. A menu without
this option will be given an order of 10000 by
default.
BUILT-IN COMMANDS/FUNCTIONS
afterstep supports a small set of built in functions which
can be bound to key-stroke combinations or mouse buttons.
These can also be embeded within Function statements or
within menu statements in a feel.name file. NOTE: ["name"]
in the following is used in a popup or menu item entry to
define the name which will appear in said pop-up or menu.
Nop ""
Inserts a horizontal line (<HR> type html line) in a
menu entry list.
Nop "name"
Inserts a name in the menu, stippled (disabled and
grayed-out).
Title "name"
Insert a title line of heading name into a popup or
menu.
Beep Make the window manager issue a beep - pretty useful
eh? :)
Quit ["name"]
Exits afterstep, generally causing X to exit too.
Restart "name" WindowManagerName
Restarts X(1) with the given WindowManagerName. If
WindowManagerName isafterstep, then this forces after-
step to reread all of its configuration files and rein-
itiate the session. If WindowManagerName is not in the
default search path, then the full path name should be
given.
Refresh ["name"]
Causes all windows on the screen to re-draw themselves.
Move ["name"]
Allows the user to move a window or iconified app.
Resize ["name"]
Allows the user to resize a window.
Raise ["name"]
Allows the user to raise a window.
Lower ["name"]
Allows the user to lower a window.
RaiseLower ["name"]
Alternately raises and lowers a window; i.e. if it's
raised, the window will lower, and vice versa.
PutOnTop
Moves the target window to the top of its layer, or up
one layer if it is already at the top.
PutOnBack
Moves the target window to the bottom of its layer, or
down one layer if it is already at the bottom.
SetLayer layer
Moves the target window to layer layer.
ToggleLayer layer1 layer2
Specifies that if the window is in layer1, it should be
placed in layer2. Otherwise, it is placed in layer1.
In either case, the window will be placed on top of
other windows in the target layer.
Shade ["name"]
Emulates the MacOS WindowShade feature. Once activated
the window will become a titlebar only.
Delete ["name"]
Sends a WM_DELETE message to a window asking that it
remove itself, frequently causing the application to
exit.
Destroy ["name"]
Sends the XKillClient(3) to a window. Guaranteed to get
rid of the window.
Close ["name"]
First sends the WM_DELETE message, if this is not
understood, then the XKillClient(3) is sent to the win-
dow.
Iconify ["name"] [value]
Iconifies a window if it is not already iconified, or
de-iconifies it if it is already iconified. If the
optional argument value is positive, then only iconifi-
cation will be allowed, and de-iconification will be
inhibited. If the optional argument is negative, only
de-iconification will be allowed.
Maximize ["name"] [horizontal vertical]
Causes the window to alternately switch from a full-
screen size to its normal size. Specifying the
optional arguments of horizontal and vertical, control
can be attained as to the percentage of the full screen
that the new size of the window becomes. If horizontal
> 0, then the horizontal dimension of the window will
be set to horizontal*screen_width/100. The vertical
resizing is similar. Values larger than 100 can be used
with caution. The defaults for horizontal and vertical
are 100s (ie, fullscreen).
Stick ["name"]
Makes a window sticky (stays on screen when desks/views
are switched) if it is not already sticky, or non-
sticky if it is already sticky.
Scroll horizontal vertical
Scrolls the desktop's view by horizontal pages in the
x-direction, and vertical pages in the y-direction.
Either or both entries may be negative. Both horizontal
and vertical values are expressed in percent of pages,
so 100 would be one full page. Normally, scrolling
stops at the edge of the desktop. If the horizontal
and vertical values are multiplied by 1000, then scrol-
ling will wrap around at the edge of the desktop.
The scroll function should not be called from pop-up
menus.
TogglePage ["name"]
Temporarily disables EdgeScroll. Edge scrolling can be
re-enabled by calling this again.
CursorMove horizontal vertical
Moves the mouse pointer by horizontal views in the x-
direction, and vertical views in the y-direction.
Either or both entries may be negative. Both horizontal
and vertical values are expressed in percent of pages,
so 100 would be one full view.
The CursorMove function should not be called from pop-
up menus.
ChangeWindowUp ["name" window_name]
Causes the pointer to move to the previous window in
the list of windows for which CirculateSkip has not not
been specified.
The mouse will jump to the first window whose name (or
icon name or class) matches window_name. The "name"
entry then becomes required, but serves no purpose if
the function is not called from a menu or popup.
ChangeWindowDown ["name" window_name]
Causes the pointer to move to the previous window in
the list of windows for which CirculateSkip has not not
been specified.
The mouse will jump (going backwards) to the first win-
dow whose name (or icon name or class) matches
window_name. The "name" entry then becomes required,
but serves no purpose if the function is not called
from a menu or popup.
WarpFore ["name" window_name]
Same as ChangeWindowUp, but uniconifies any iconified
windows as it focuses on them.
WarpBack ["name" window_name]
Same as ChangeWindowDown, but uniconifies any iconified
windows as it focuses on them.
Wait app_name
This is intended to be used in afterstep functions
only. It causes execution of a function to pause until
a new window named app_name appears. afterstep remains
fully functional during a wait. This is particularly
useful in the InitFunction and RestartFunction, if you
are trying to start windows on specific desktops.
Focus
Moves the view or window as needed to make the selected
window visible. Sets the keyboard focus to the
selected window. Raises the window if needed to make it
visible. Warps the pointer into the selected window in
focus-follows-mouse mode. Does not de-iconify. This
function is primarily handy when used with a module
such as the WinList.
Desk arg1 [arg2]
Changes current desk to another desk as surmised from
the arguments supplied. If only arg1 is specified and
is non-zero, then the current desk will become "desk +
arg1" and arg2 is ignored. If arg1 is zero, then arg2
must be specified or no desk change will occur; and
arg2 will specify the desk to switch to. Desk numbers
are determined dynamically and must be between
2147483647 and -2147483648; meaning they can also be
negative.
WindowsDesk new_desk
Moves the selected window to the desktop specified as
new_desk.
GotoPage x y
Moves the desktop view to page x y. The upper left page
is (0,0), the upper right is (N,0), where N is one less
than the current number of horizontal pages specified
in the DeskTopSize command detailed in the Pager(1) man
page. The lower left page is (0,M), and the lower right
page is (N,M), where M is the desktop's vertical size
as specified in the DeskTopSize command.
The GotoPage function should not be used in a pop-up
menu.
WindowList [arg1 arg2]
Specifies the internal popup menu in which the titles
of each open application are displayed, should be
popped up. Selecting an item from the list will cause
the current desk to switch to the application's desk,
and will raise it if it's behind other windows. If the
application is currently iconified, then it will be
de-iconified normally.
Generally, if arg1 is an even number, then the windows
will be listed using the window name (the name that
shows up in the title-bar); if arg1 is an odd number,
then the window's icon name is used.
Specifically, if arg1 is 0, 1 or 2, then all windows on
all desks will be shown. If arg1 is 2 or 3, then only
windows on the current desk will be shown. If arg1 is
4 or 5, then only windows on the desk number specified
with arg2, will be shown. Windows which have WindowL-
istSkip specified in their style will not be listed in
the window list.
Exec "name" command [-options]
Specifies a sub process to initiate. The "name" is
required for ease of parsing. The command is the com-
mand or application to be invoked along with any
desired -options.
PopUp "popup_name"
There are two situations where this might occur; as a
popup menu stanza definition, or in calling a previ-
ously defined menu declaration.
Popup "popup_name"
built-in_command "name" [argument]
EndPopup
Specfies the definition of a complex menu popup
"popup_name", which can be bound to a mouse button or
key using "popup_name" to recall this declaration.
built-in_command specifies which command will be per-
formed, utilizing it's syntax from this list of Built-
In Commands/Functions. "name" specifies the name which
will appear within the menu for the given item, and
additionally any arguments needed by the built-
in_command. The Popup definition ends with the keyword
EndPopup. Sub-menus can be created by calling the Popup
built-in within another Popup declaration, as long as
that sub-menu was defined earlier in the configuration
file.
Shortcut keys may be specified in the menu definition
by preceding a character with an ampersand. The amper-
sand will not be displayed, but the character after it
will be displayed at the right side of the same entry.
Only alphanumeric characters may be used as shortcut
keys. The shift state of the keyboard is ignored when
testing shortcut characters.
When calling a previously defined menu or a menu from a
key-stroke combination, Popup is simply used as a
built-in command with the "name" referring to the pre-
viously defined Popup definitions name.
Popups can be bound to keys through the use of the key
modifier. Popups can be operated without using the
mouse by binding to keys, and operating via the up
arrow, down arrow, and enter keys. Refer to the
feel.name files and below in EXAMPLES for examples.
Function "function_name"
There are also two situations where this might occur as
well; as a function definition stanza, or in calling a
previously defined function decleration.
Function "function_name"
built-in_command "action" [argument]
EndFunction
Specifies the definition of a complex function
"function_name", which can later be bound to a mouse
button or key using "function_name" to recall this
declaration. built-in_command specifies which command
will be performed, taking its syntax from this list of
Built-In Commands/Functions. "action" specifies the
action to take followed by any additional arguments
needed by the built-in_command. Menus can be specified
by using the Popup command, as long as the menu was
defined earlier in the configuration file.
The trigger actions which are recognized are Immediate
(can be shortened to "I"), Motion, Click, DoubleClick
and TripleClick. Immediate actions are executed as soon
as the function is activated, even if a window has not
been selected. If there are actions other than immedi-
ate ones, afterstep will wait to see if the user is
clicking, double-clicking, triple-clicking or dragging
the mouse; then will execute only the built-ins from
the function definition whose trigger action matches
the action performed by the user. The clicking,
double-clicking and triple-clicking concepts do not
carry through to using keyboard shortcuts.
Two special functions exist: InitFunction and Restart-
Function. The InitFunction will be called when after-
step is started for the first time in any X session,
and can be used to start modules and begin programs.
The RestartFunction will be called when afterstep is
restarted. It can be used to re-start modules but prob-
ably should not be used to start programs. These two
functions are defined in the autoexec file.
When calling a previously defined Function or a Func-
tion from a key-stroke combination, Function is simply
used as a built-in command using the previously defined
"action" from the same function_name.
Function built-in_command "action" function_name
Refer to the feel.name files and below in EXAMPLES for
examples.
Module ModuleName [arguments]
Specifies that ModuleName should be spawned.
Currently, many modules are included with afterstep.
Wharf(1x) and Pager(1x) are two of the more popular
ones. Wharf will normally be spawned during initializa-
tion instead of in response to a mouse binding or menu
action. Modules can be short lived transient programs,
or, like Wharf, can be intended to remain for the dura-
tion of the X session. Modules will be terminated by
afterstep prior to restarts and quits, if possible.
FILES
/usr/local/share/afterstep/.workspace_state
The global empty file which is copied, upon the first
invocation of afterstep, into that users newly created
$HOME/GNUstep/Library/AfterStep tree.
$HOME/GNUstep/Library/AfterStep/.workspace_state
The global file where applications still running are
saved, including geometry (if possible) and options,
when AfterStep is exitted normally. This ability can
be disabled during configure or by closing all running
applications before exiting AfterStep.
/usr/local/share/afterstep/autoexec
The global configuration file that specifies which
modules and/or programs to start upon afterstep's invo-
cation or restart.
$HOME/GNUstep/Library/AfterStep/autoexec
This file should be copied from the
/usr/local/share/afterstep/autoexec and edited to suit
the user's specific requirements. This file, if it
exists, will override the system wide default file.
/usr/local/share/afterstep/base.[8|15|16|24|32]bpp
The global configuration file setting the paths and a
few Pager(1) options for the desired colordepth.
$HOME/GNUstep/Library/AfterStep/base.[8|15|16|24|32]bpp
This file should be copied from the
/usr/local/share/afterstep/base.[8|15|16|24|32]bpp and
edited to suit the user's specific requirements. This
file, if it exists, will override the system wide
default file.
/usr/local/share/afterstep/compatibility
The global configuration file to be used in conjunction
with the -f steprc_file to gain a limited amount of
compatiblity with the ancient steprc file structure.
$HOME/GNUstep/Library/AfterStep/compatibility
This file should be copied from the
/usr/local/share/afterstep/compatibility and edited to
suit the user's specific requirements. This file, if it
exists, will override the system wide default file.
/usr/local/share/afterstep/database
The global configuration file containing entries for
styles of some applications.
$HOME/GNUstep/Library/AfterStep/database
This file should be copied from the
/usr/local/share/afterstep/database and edited to suit
the user's specific requirements. This file, if it
exists, will override the system wide default file.
/usr/local/share/afterstep/non-
configurable/[0|1|2|3]_background
The default background for each desk shipped with Aft-
erStep. These files will be copied, upon the first
invocation of afterstep, into that user's newly created
$HOME/GNUstep/Library/AfterStep/non-configurable/ tree.
configurable/[0|1|2|3]_feel.[8|15|16|24|32]bpp
/usr/local/share/afterstep/non-
The "feel.DEFAULT" for each desktop as shipped with
AfterStep. These files will be copied, upon the first
invocation of afterstep, into that user's newly created
$HOME/GNUstep/Library/AfterStep/non-configurable/ tree.
configurable/[0|1|2|3]_look.[8|15|16|24|32]bpp
/usr/local/share/afterstep/non-
The "look.DEFAULT" for each desktop as shipped with
AfterStep. These files will be copied, upon the first
invocation of afterstep, into that user's newly created
$HOME/GNUstep/Library/AfterStep/non-configurable/ tree.
/usr/local/share/afterstep/start/.include
An include directive which controls various things in
the startmenu; for instance the version number that
appears on the menu. If this file is copied to the
$HOME directory, then the version number will not
increment upon subsequent upgrades.
/usr/local/share/afterstep/start/Desktop/Look/.include
A file that is required for Look menu operations
($HOME/GNUstep/Library/AfterStep/start/Desktop/Look/.include
overrides this file).
/usr/local/share/afterstep/start/Desktop/Feel/.include
A file that is required for Feel menu operations
($HOME/GNUstep/Library/AfterStep/start/Desktop/Feel/.include
overrides this file).
/usr/local/share/afterstep/start/Desktop/Theme/.include
A file that is required for Theme menu operations
($HOME/GNUstep/Library/AfterStep/start/Desktop/Theme/.include
overrides this file).
EXAMPLES
AfterStep ships with the configuration files themeselves as
examples. A few examples from various configuration files
are below to show those that are possible, but not in the
default files.
database
To have all iconified apps "disappear" (not be
displayed as an icon:
Style "*" NoIcon
To have an app which has a small TitleBar area not
display the 1,2 and 4 TitleButtons, and stick to each
desk, as well as using the icq.xpm icon when iconified:
Style "ICQ" Icon icq.xpm, Sticky, NoButton 1, NoButton 2, NoButton 4
feel.name
To have a right click menu which has some Window
Operands:
Popup "Window-Ops"
Title "Window Ops"
Function "Move" Shade-or-Raise
Function "Resize" Resize-or-Raise
Raise "Raise"
Lower "Lower"
PutOnTop "(Un)PutOnTop"
Stick "(Un)Stick"
Function "(Un)Maximize" Maximize_Function
Destroy "Destroy"
Close "Close"
Refresh "Refresh Screen"
Exec "Window Properties" exec xprop | xmessage -center -title 'xprop' -file -
EndPopup
...then assign this Popup the right mouse button click on the
desktop:
Mouse 3 R A PopUp "Window-Ops"
KEYBOARD SHORTCUTS
All window-manager operations can be performed from the key-
board, so mouse-less operation should not be difficult. In
addition to scrolling around the desktop by binding the
Scroll built-in to appropriate keys, Pop-ups, move, resize
and most other built-ins can be bound to keys. Once a
built-in function is started, the pointer is moved by using
the up, down, left, and right arrows, and the action is ter-
minated by pressing return. Holding down the shift key will
cause the pointer movement to go in larger steps, and hold-
ing down the control key will cause the cursor movement to
go in smaller steps. Standard emacs and vi cursor movement
controls (^n, ^p, ^f, ^b, and ^j, ^k, ^h, ^l) can be used
instead of the arrow keys.
SPECIAL NOTE FOR XFREE86 USERS
XFree86 provides a virtual screen whose operation can be
confusing when used in conjunction with this virtual window
manager. With XFree86, windows which appear on the virtual
screen actually get drawn into video memory, so the virtual
screen size is limited by available video memory.
With AfterStep's virtual desktop manager, Pager(1), windows
which do not appear on the screen do not actually get drawn
into video RAM. The size of the virtual desktop is limited
to about 32,000 by 32,000 pixels. It is probably impractical
to use a virtual desktop more than about 5 times the visible
screen in each direction. Note that memory usage with the
virtual desktop is a function of the number of windows which
exist. The size of the desktop makes no difference.
When becoming familiar with AfterStep, it is recommended
that you disable XFree86's virtual screen, by setting the
virtual screen size to the physical screen size. When fami-
liar with AfterStep, you may want to re-enable XFree86's
virtual screen.
AUTHORS
Frank Fejes (frank@canweb.net)
Alfredo Kenji Kojima (kojima@inf.ufrgs.br)
Dan Weeks (dan@mango.sfasu.edu)
Guylhem Aznar (guylhem@oeil.qc.ca)
Chris Ridd (C.Ridd@isode.com)
Rob Malda (malda@imagegroup.com)
Ethan Fischer <allanon@crystaltokyo.com>
David Mihm <dmihm@swbell.net> [Man page]
Sasha Vasko <sashav@sprintmail.com>
SEE ALSO
X(1), Animate(1), Audio(1), Banner(1), Cascade(1), Clean(1),
Form(1), Ident(1), Pager(1), Save(1), Script(1), Scroll(1),
Tile(1), Wharf(1), WinList(1), Zharf(1)
BUGS
Bugs? we don't see no stinking bugs! :) Seriously, they are
only bugs if you report them - then they can be fixed.
COPYRIGHTS
AfterStep is distributed under GNU GPL v2; however, After-
Step was based on BowMan which derived from Fvwm code, which
is in turn derived from twm code, thus some C source files
from AfterStep share copyrights with twm.
AfterStep is copyright 1996 by Frank Fejes, Alfredo Kojima,
and Dan Weeks.
AfterStep is copyright 1998 by Guylhem Aznar, Raphael
Goulais, and Rob Malda.
AfterStep is copyright 1999 by Ethan Fischer, Sasha Vasko.
Please see the file COPYING included with the AfterStep dis-
tribution for the conditions that are incumbent on the users
of AfterStep due to its relations to fvwm and twm.
AUTHORS AND ALL OTHER CONTRIBUTERS DISCLAIM ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRAN-
TIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ANY
CONTRIBUTOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSE-
QUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CON-
TRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
HISTORY
AfterStep is a continuation of the BowMan window manager
which was originally put together by Bo Yang. BowMan was
based on the fvwm window manager, written by Robert Nation.
Fvwm was based on code from twm. And so on.... It is
designed not only to emulate some of the look and feel of
the NEXTSTEP(tm) user interface, but also to add useful,
requested, and neat features. The changes which comprise
AfterStep's personality were originally part of BowMan
development, but due to a desire to move past SIMPLE EMULA-
TION and into a niche as its OWN valuable window manager,
the previous designers decided to change the project name
and move on.
Some major changes from fvwm(1) 1.24 include:
1. NEXTSTEP(tm)-alike title bar, title buttons, borders
and corners.
2. AfterStep's Wharf(1). To avoid copyright
complications it is not called a "Dock".
3. NEXTSTEP(tm) style menus. However the menus are not
controlled by applications, they are more like pop-up
service lists on the root window.
4. NEXTSTEP(tm) style icons. The default icons are
consistent with those in the NEXTSTEP(tm) interface,
but they are configurable.
5. Dissociation of Pager(1) desktops for background
pixmaps and configuration: each desktop can have its
own configuration, its own look, its own background
picture and all this can be changed on fly with the
Start/Desktop menu.
However, flexibility was not traded off. Initiation files,
in ~/GNUstep/Library/AfterStep, recognize most of the
fvwm(1) commands.
ICCCM COMPLIANCE
AfterStep attempts to be ICCCM 2.0 compliant. As of this
release, colormap handling is not completely ICCCM compli-
ant. In addition, ICCCM states that it should be possible
for applications to receive ANY keystroke, which is not con-
sistent with the keyboard shortcut approach used in After-
Step and most other window managers. The user can disable
any AfterStep keystroke that should be passed to the appli-
cation and not intercepted by the window manager. An ICCCM
compliant feel file is included - feel.ICCCM from the start-
menu.
|
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |