|
|
 |
 |
 |
MAN page from Old RedHat 5.X AfterStep-1.4-RH5.i386.rpm
AFTERSTEPSection: Misc. Reference Manual Pages (1.4) Updated: February 1998 Index NAMEafterstep - X11 window manager SYNOPSISafterstep [-ddpy] [-debug] [-fconfig_file] [-s] WARNINGThis afterstep.manfile is not very up to date, please refer to New-in-1.4 or look.NEWFEATURESexamples for Zap, GetHelp, ChangeWindow, ChangeBackground, ChangeLook &ChangeFeel, TitleTextMode, ResizeMoveGeometry and start menu directory. DESCRIPTION & HISTORYAfterStepis a continuation of the BowMan window manager which wasoriginally 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 ofthe NEXTSTEP(tm) user interface, but also to add useful, requested, and neat features. The changes which comprise AfterStep'spersonality were originally part of BowMan development, but due to a desireto move past SIMPLE EMULATION and into a niche as its OWN valuable windowmanager, the previous designers decided to change the project name and moveon. Some major changes fromfvwm 1.24include: - 1. NEXTSTEP(tm)-alike title bar, title buttons, borders and corners.
- 2. AfterStep'sWharfTo avoid copyright complications it is not called a "Dock".
- 3. NEXTSTEP(tm) style menus. However the menus are not controlled byapplications, they are more of pop-up service lists on the root window.
- 4. NEXTSTEP(tm) style icons. The default icons are consistent with those inthe NEXTSTEP(tm) interface, but they are configurable.
- 5. Dissociation of Pager desktops for background pixmaps and configuration :each desktop can have its own configuration, its own look, its own backgroundpicture and all this can be changed on fly with Start/Desktop menu.
However, flexibility was not traded off. Initiation files, in~/GNUstep/Library/AfterStep, recognizes most of the fvwm 1.24r commands. SPECIAL NOTE FOR XFREE86 USERSXFree86 provides a virtual screen whose operation can beconfusing when used in conjunction with this virtual window manager.With XFree86, windows which appear on the virtual screen actually getdrawn into video memory, so the virtual screen size is limited by availablevideo memory. WithAfterStep'svirtual desktop, windows which do not appearon the screen do not actually get drawn into video RAM.The size of the virtual desktop is limited to about 32,000by 32,000 pixels. It is probably impractical to use avirtual desktop more than about 5 times the visible screen ineach direction. Note that memory usage with the virtualdesktop is a function of the number of windows whichexist. The size of the desktop makes no difference. When becoming familiar withAfterStep, it is recommended thatyou disable XFree86's virtual screen, by setting the virtualscreen size to the physical screen size. When familiar withAfterStep, you may want to re-enable XFree86's virtual screen. COPYRIGHTSAfterStepis distributed under GNU GPL v2.However, AfterStep was based on BowManwhich derived from Fvwmcode, which is in turn derived from twmcode, thus some C source file from AfterStepshares copyrights with twm.AfterStepis copyright 1996 by Frank Fejes, Alfredo Kojima, and Dan Weeks.& copyright 1998 by Guylhem Aznar, Raphael Goulais, and Rob Malda. Please see the file COPYING included with theAfterStepdistribution for the conditions that are incumbent on the users ofAfterStepdue to its relations to fvwm and twm. AUTHORS AND ALL OTHER CONTRIBUTERS DISCLAIM ALL WARRANTIES WITH REGARD TO THISSOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, INNO EVENT SHALL ANY CONTRIBUTOR BE LIABLE FOR ANY SPECIAL, INDIRECT ORCONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUSACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THISSOFTWARE. ANATOMY OF A WINDOWAfterStepputs a decorative border on the top and bottom of most windows. Thisborder consists of a bar on the bottom that is divided into three sections.These sections are referred to as "handles".There is also a top bar called the title bar which is used to displaythe name of the window and two title-bar buttons. Unless the standard defaults files are modified, pressingmouse button 1 on the titlebar will begin a moveoperation on the window. Pressing button 1 on the bottom handle bar will begin a resize operation. Pressing button 2 on the titlebar will movethe window to the foreground or the background. The default configuration has 2 title-bar buttons on each side of thetitle-bar, with one extra one on the right side. BUTTONSClick[mouse button] is abbreviated to CN and buttons are called 1/2 3/4/5 fromleft to right : 1 will change to next window with C1 or C2 and open help file with C32 will open window functions with C1 and open window list with C2 or C3 (window title is between 2 and 3) 3 will iconify the window with C1 and maximise the window with C2 or C34 will hide the window under its titlebar with C1 and stick it to the screen(if you move on your desktop) with C2 or C3 5 will kill the window, nicely with C1 or C2 and badly with C3 See the section on "Mouse" for more information. Further modifications toAfterStep'sbehavior can be made creating a file in~/GNUstep/Library/AfterStep/desktop/looks/ , using examples a guide. Shaped windows such as xeyes or oclock get a title bar that floats abovethe window and no bottom bar. The background area of shaped windows istransparent. If you are tight on memory, you can disable the SHAPEextensions by modifying configure.h and recompilingAfterStep.This way shaped windows get a solid color background and you save about60 kbytes of memory when no shaped windows are present.Of couse, shaped window are nicer with SHAPE enabled ! THE VIRTUAL DESKTOPAfterStepprovides multiple virtual desktops for users who wishto use them. The screen is a viewport onto a desktop whichis larger than (or the same size as) the screen. Severaldistinct desktops can be accessed. Concept: one desktopfor each project, or one desktop for each application,when view applications are distinct. Since each desktopcan be larger than the physical screen, windows which arelarger than the screen, or large groups of relatedwindows, can easily be viewed. The size of the each virtual desktop must be specified atstart-up (default: 2 times the physical size of thescreen). All virtual desktops must be the same size. Thetotal number of distinct desktops need not be specified,but is limited to approximately 4 billion total. All windowson the current desktop can be displayed in a Pager,or miniature view or the current desktop. Windows whichare not on the current desktop can be listed, along withtheir geometries, in a window list, accessible as a pop-upmenu. "Sticky" windows are windows which transcend the virtualdesktop by "Sticking to the screen's glass." They alwaysstay put on the screen. This is convenient for thingslike clocks and xbiff's, so you only need to run one suchgadget, and it always stays with you. Window geometries are specified relative to the currentviewport. That is, xterm -geometry +0+0, will always show upin the upper-left hand corner of the visible portion ofthe screen. It is permissible to specify geometries whichplace windows on the virtual desktop, but off the screen.For example, if the visible screen is 1000 by 1000 pixels,and the desktop size is 3x3, and the current viewport isat the upper left hand corner of the desktop, then invokingxterm -geometry +1000+1000 will place the window justoff of the lower right hand corner of the screen. It canbe found by moving the mouse to the lower right hand cornerof the screen, and waiting for it to scroll into view.There is currently no way to cause a window to map onto adesktop other than the currently active desk.A geometry specified as something like xterm -geometry -5-5will generally place the windows lower right handcorner 5 pixels from the lower right hand corner of thevisible portion of the screen. Not all applicationssupport window geometries with negative offsets. Some applications, like xterm and xfontsel, allow the userto specify the start-up desk on the command line. xterm-xrm "*Desk:1" will start an xterm on desk number 1. Otherapplications do not understand this option but you can forcethem to start on a desktop if you edit 'feel' in~/GNUstep/Library/AfterStep/desktop/feels/ and define StartsOnDesk X inStyle. INITIALIZATIONDuring initialization, AfterStepwill search for a configuration file which describes key andbutton bindings, and a few other things. The format ofthese files will be described later. First, AfterStepwill search for a directory named GNUstep/Library/AfterStep/ in the user'shome directory. Failing that, it will look for/usr/share/afterstep/ for system-wide defaults.If that file is not found, AfterStepwill exit. If you use system-wide defaults, 'startmenu' file in this directory must beworld writtable (run 'chmod 666 startmenu'). It is a serious security hole ! You can also launchAfterStepwith -f flag to use your former.steprcfile, like : afterstep -f ~/myold.steprcAfterStepwill set two environment variables which will beinherited by its children. These are $DISPLAY whichdescribes the display on whichAfterStep is running. $DISPLAYmay be unix:0.0 or :0.0, which doesn't work too well whenpassed through rsh to another machine, so $HOSTDISPLAYwill also be set, and will use a network-ready descriptionof the display. Unfortunately, $HOSTDISPLAY will use thetcp/ip transport protocol, even for a local connection,so $DISPLAY should be used for local connections, as itmay use unix-domain sockets, which are faster. ICONSBy default, AfterStepis compiled with XPM extensions which allow one to use color icons similar to those in NEXTSTEP(tm), ctwm, MicrosoftWindows (tm), or the Macintosh (tm). In order to use these options, youwill need the XPM package, which should be available at: ftp://ftp.x.org/contrib/libraries. XPM extensions can be removed from AfterStepif one wants to have monochrome icons and doesn't want pixmap tiledtitlebars, etc. MODULESA module is a separate program, which runs as a separate unixprocess, but transmits commands to AfterStepto execute. These modules get many kinds of window information from AfterStep.Users can write their own modules to do any weird or bizarremanipulations, without affecting the integrity of AfterStepitself. Modules MUST be spawned byAfterStep,(i.e. not executed from the command line) so thatAfterStepcan set up two pipes used for communication between the module andAfterStep.Modules can be spawned duringAfterStepinitialization via the Module option, or at any time during the Xsession by useof the Module built-in function. Modules can exist for the durationof the X session, or can perform a single task and exit. If a module is still active whenAfterStepis told to quit,AfterStepwill close down the communication pipes, andwait to receive a SIGCHLD from the module, indicating thatit has detected the pipe closure, and has exited. If modulesfail to detect the pipe closure,AfterStepwill exit after approximately 30 seconds anyway. The number ofsimultaneously executing modules is limited by the operatingsystem's maximum number of simultaneously open files, usuallybetween 60 and 256. Modules are documented in their own manual pages. ICCCM COMPLIANCEAfterStepattempts to be ICCCM 2.0 compliant. As of this 1.4 release,colormap handling is not completely ICCCM compliant.In addition, ICCCM states that it should be possiblefor applications to receive ANY keystroke, which is notconsistent with the keyboard shortcut approach used in AfterStepand most other window managers. The user can disable any AfterStepkeystroke that should be passed to the application and not intercepted bythe window manager. OPTIONS- -d displayname
- Manage the display called, "displayname", instead of the name obtained from the environment variable $DISPLAY.
- -debug
Puts X transactions in synchronous mode, which dramatically slows things down, but guarantees thatAfterStep'sinternal error messages are correct. - -f config_file
- Causes AfterStepto use an old format .steprc'config_file'instead of~/GNUstep/Library/AfterStepdirectory where the window manager configuration files are actually.
- -s
- RunAfterStepon only the specified screen of a multi-screen display. Normally,AfterStepwill attempt to start up on all screens of a multi-screen display. The "specified screen" is the one provided in the DISPLAY environment variable, or provided through the-doption.
CONFIGURATION OPTIONSThe configuration directory, usually ~/GNUstep/Library/AfterStep/,contains many files used to describe mouse and button bindings, colors, thevirtual display size, and related items. This section describes theconfiguration options. Each file from this directory plus the ones in desktop/looks and desktop/feelscontain different options but only files ending with the colordepth of yourdisplay will be used (i.e. the colors it can manage, for example 8bpp or 16bpp)Lines within the configuration files beginningwith '#' will be ignored by AfterStep.Lines starting with '*' are expected to contain module configuration commands.Module are configured by ~/GNUstep/Library/AfterStep/respective module namefiles. StdForeColorcolorname - Sets the foreground color for menus and non-selected window titles tocolorname.When using a monochrome screen, this option is ignored, andblack is used.
StdBackColorcolorname - Sets the background color for menus, and non-selected windows tocolorname.When using a monochrome screen, this option is ignored, andwhite is used.
StickyForeColorcolorname - Sets the foreground color for non-selected windowsticky (Sticks-to-glass) titles tocolorname.When using a monochrome screen, this option is ignored,and black is used.
StickyBackColorcolorname - Sets the background color for non-selected window sticky (Sticks-to-glass)windows tocolorname.When using a monochrome screen, this option is ignored,and white is used.
HiForeColorcolorname - Sets the color for selected window's title tocolorname.When using a monochrome screen, this option is ignored, and black is used.Note that this currently also controls the menu highlights, popup menu titlesand the icon title font. This is a "feature."
HiBackColorcolorname - Sets the background color for the selected window tocolorname.When using a monochrome screen, this option is ignored, and white is used.Note that this also controls the IconTitle background color.
MenuForeColorcolorname - Sets the menu foreground color. When using monochrome, this option is ignored.
MenuBackColorcolorname - Sets the menu background color. When using monochrome, this option is ignored.
MenuStippleColorcolorname - Sets the color for shaded out entries in menus (forfunctions which are not allowed on the currentlyselected window). When using monochrome, thisoption is ignored, and a stipple pattern is used.
MenusHigh - Makes the popup menu submenus appear at the top of theparent menu instead of starting at the point in the parent window wherethe submenu item lies.
PagerFontfontname - MakesAfterStepuse the fontfontnameinstead of "fixed" for the pager labels.
TextureTypesfocusedtitle unfocusedtitle stickytitle menutitle menuitem - Specifies the type of gradient fill to be used on each of theabove parts of theAfterStepwindows. Currently valid values are:
0 - No texture1 - Wharf-style gradient2 - Horizontal one way gradient3 - Horizontal cylindrical gradient4 - Vertical one way gradient5 - Vertical cylindrical gradient128 - User specified pixmap (See TitlePixmap, etc) TextureTypes 1 1 1 1 1.This makes all gradients fill from the upper left to the lower right with yourspecified colors.
TextureMaxColorstitle unfocusedtitle stickytitle menutitle menuitem - The number of colors to use on textures. Default isTextureMaxColors 10 10 10 10 10on 8 bpp screens andTextureMaxColors 128 128 128 128 128on 16+ bpp screens. The actual number of allocated colors may be lower.You must at least specify a value fortitle.
TitleTextureColorfrom to - Colors that the gradient will gofromandtowhen gradients are drawn in a window titlebar. The default values for from and to are #101030 and #303080 respectively. Values must be in either standardX color names or hex notation.
UTitleTextureColorfrom to - Colors that the gradient will gofromandtowhen gradients are drawn in a non-focused window titlebar. The default values for from and to are #86868a and #c0b6c3 respectively. Values must be in either standardX color names or hex notation.
STitleTextureColorfrom to - Colors that the gradient will gofromandtowhen gradients are drawn in a sticky window titlebar. The default values forfrom and to are #86868a and #c0b6c3 respectively. Values must be in either standardX color names or hex notation.
MenuTextureColorfrom to - Colors that the gradient will gofromandtowhen gradients are drawn on the menu entries. The default values for from and to are #101030 and #404090 respectively. Values must be in either standardX color names or hex notation.
MTitleTextureColorfrom to - Colors that the gradient will gofromandtowhen gradients are drawn for menu titles. The default values for from and to are #101030 and #303080 respectively. Values must be in either standardX color names or hex notation.
TitlePixmapxpmname - If the TextureType of the focused titlebar is set to 128, this commandcauses the xpm defined byxpmnameto be tiled in the titlebar instead of a solid color or a gradient texture.Note that the titlebar by default can show a pixmap of up to 19 pixels inheight, though it may be of any length. One need not specify the completepath if the xpm is in the directory defined by PixmapPath.
UTitlePixmapxpmname - If the TextureType of unfocused titlebars is set to 128, thiscommand causes the xpm defined byxpmnameto be tiled in the titlebar instead of a solid color or a gradient texture.Note that the titlebar by default can show a pixmap of up to 19 pixels inheight, though the xpm graphic may be of any actual height and length. Thefull path to the xpm is not required if it is in the directory defined byPixmapPath.
STitlePixmapxpmname - If the TextureType of sticky titlebars is set to 128, thiscommand causes the xpm defined byxpmnameto be tiled in the titlebar of sticky windows instead of a solid color ora gradient texture. Note that the titlebar by default can show a pixmap ofup to 19 pixels in height, though the xpm graphic may be of any actual heightand length. The full path to the xpm is not required if it is in thedirectory defined by PixmapPath.
TexturedHandle - Turns on textures for all window handles. Thehandle texture will be the same as the texture used in the window'stitlebar.
GradientText - Causes a gradient to be applied to the titlebar text of the focusedwindow. The gradient colors are set using TextGradientColor.
TextGradientColorfrom to - Colors that the gradient will gofromandtowhen gradients are drawn for the titlebar text. The default values for fromand to are #101030 and #303080 respectively. Values must be in eitherstandard X color names or hex notation.
TitleTextAlignnum - Defines the alignment of the window title in the titlebar. Theallowable values fornumare as follows:
1: left aligned2: right aligned3: center aligned (default)
TitlebarNoPush - Causes the titlebar not to appear to be "pushed in" when you click onit with a mouse button. This is useful to reduce video strain or if you usetextured pixmaps that do not look good "pushed in."
TitleButtonnum xpmname - Defines the pixmaps to use instead of the default NEXTSTEP(tm) styletitlebar buttons that are the default. Up to 8 buttons are possible.numspecifies the position of the button on the window and is an integerfrom 1-8. The positions are indicated as below:
1 3 5 7 TitleBarText 8 6 4 2 Note that you must bind an action to any new buttons you add usingthe Mouse definitions. The pixmap defined byxpmnameshould be exactly 10x10 pixels to fit inside the gray button bevel.
Fontfontname - MakesAfterStepuse the fontfontnameinstead of "fixed" formenus, the resize indicators, and icon labels (if IconFont is not specified).
WindowFontfontname - MakesAfterStepuse the fontfontnameinstead of "fixed" for the window title bar.
NoTitlewindowname - KeepsAfterStepfrom putting a titlebar in the decorationsfor windows namedwindowname.This is handy for clocks and similar gadgets that you don't wantto take up too much space.windownamecan be a window's name or its class.
Windownamecan contain the wildcards "*" and "?"which match window names in the normal unix filenamematching manner: "*" matches any number of any character and "?"matches one of any character. Actual "*", "?", and "\"characters in a window name can be entered by precedingthe character with a "\".
Stickywindowname - Sticky windows "stick to the screen's glass." Thatis, they don't move the the viewport into the virtualdesktop changes.windownamecan be a window's name or its class. See NoTitle for a discussion of thewindownameparameter.
StaysOnTopwindowname - These windows always try to stay on top of theother windows. This might be handy for clocks ormailboxes that you would always like to be visible.If the window is explicitly lowered, it will nottry to force its way back to the top until it isexplicitly raised.windownamecan be a window's name or its class. See NoTitle fora discussion of thewindownameparameter.
StartsOnDeskwindowname desk-number - This command causes windows whose name or class iswindownameto be initially placed on desktop numberdesk-number. windownameshould be enclosed in double quotes. If the window requires interactiveplacement, an outline will be displayed on the current desk,but the window will appear on the specified desk.See NoTitle for a discussion of thewindownameparameter.
CirculateSkipwindowname - Causes windows with the indicated name to beskipped over when the CirculateUp, CirculateDown or Warpfunctions are invoked.windownamecan be a window's name or its class.See NoTitle for a discussion of thewindownameparameter.
CirculateSkipIcons - Causes circulate and warp operations to skip overiconified windows.
WindowListSkipwindowname - Causes windows with the indicated name to be leftout of the window list. See NoTitle for a discussion of thewindownameparameter.
NoFocuswindowname - Causes windows with the indicated name to not take the focus whenthe pointer moves over them in focus-follows-mouse (the default) mode,or when the window is clicked in ClickToFocus mode.See NoTitle for a discussion of thewindownameparameter.
Stylewindowname options - This command is intended to replace the commandsNoFocus, NoBorder, NoTitle, StartsOnDesk, Sticky, StaysOnTop,Icon, WindowListSkip, CirculateSkip, SuppressIcons,BoundaryWidth, NoBoundaryWidth, StdForeColor, andStdBackColor with a single flexible and comprehensivecommand. This command is used to set attributes of a window to values other than the default, or to setthe window-manager default styles.windownamecan be a window's name, class orresource string. It can contain the wildcards "*"and/or "?", which are matched in the usual unix filename manner.optionsis a comma separated list containing all orsome of the keywords BorderWidth, HandleWidth, NoFocus,Icon/NoIcon, NoTitle/Title, NoHandles/Handles,WindowListSkip/WindowListHit, CirculateSkip/CirculateHit,StaysOnTop/StaysPut, Sticky/Slippery, StartIconic/StartNormal,Color, ForeColor, BackColor, StartsOnDesk/StartsAnyWhere,and IconTitle/NoIconTitle.
In the above list, some options are listed asstyle-option/opposite-style-option. The opposite-style-optionfor entries that have them describesthe default behavior, and can be used if youwant to change the default behavior. Icon takes an (optional) unquoted string argumentwhich is the icon bitmap or pixmap to use. StartsOnDesktakes a numeric argument which is the desktop number on whichthe window should be initially placed. BorderWidth takes anumeric argument which is the width of the border to place thewindow if it does not have resize-handles. HandleWidth takesa numeric argument which is the height of the bottom barto place with the window if it has resize handles. Color takes two arguments. The first is the window label's text color, and the second is the window decoration's normalbackground color. The two colors are separated with a slash.If the use of a slash causes problems, then the separateForeColor and BackColor options can be used. An example: # Change default AfterStep behavior to no titlebars on windows!# Also, define a default icon.Style "*" NoTitle,Icon unknown1.xpm,BorderWidth 4,HandleWidth 5# now, window specific changes:Style "WinList" NoHandles,Sticky,WindowListSkip# modules with AfterStep Style "Pager" StaysOnTop, NoHandles,Sticky,WindowListSkipStyle "*clock" NoHandles,Sticky,StaysOnTop,WindowListSkipStyle "xbiff" Sticky,WindowListSkipStyle "Wharf" NoHandles,Sticky,WindowListSkipStyle "sxpm" NoHandles# Put title-bars back on xterms only!Style "xterm" Title, Color black/greyStyle "rxvt" Icon term.xpmStyle "xterm" Icon rterm.xpmStyle "xcalc" Icon xcalc.xpmStyle "xbiff" Icon mail1.xpmStyle "xmh" Icon mail1.xpm, StartsOnDesk 2Style "xman" Icon xman.xpmStyle "matlab" Icon math4.xpm, StartsOnDesk 3Style "xmag" Icon magnifying_glass2.xpmStyle "xgraph" Icon graphs.xpmStyle "Maker" StartsOnDesk 1Style "signal" StartsOnDesk 3 Note that all properties for a window will be readtogether. In the above example "Pager" gets theproperty StaysOnTop via an exact window name match,but also gets NoHandles,Sticky, and WindowListSkipby a match to "AfterStep*". It will get NoTitle byvirtue of a match to "*". If conflicting styles arespecified for a window, then the last style specified will be used. If the NoIcon attribute is set, then the specifiedwindow will simply disappear when it is iconified.The window can be recovered through the window list.If Icon is set without an argument, then theNoIcon attribute is cleared, but no icon is specified.An example which allows only the Pagermodule icon to exist: Style "*" NoIconStyle "Pager" Icon
CenterOnCirculate - When circulating, the desktop page containing thewindow which the pointer is moving to is automaticallyselected. If CenterOnCirculate is selected,thenAfterStepwill do its best to center the targetwindow in the desktop viewport, rather than justlining up to the closest page.
DeskTopSizeHorizontalxVertical - Defines the virtual desktop size in units of the physical screen size.
DeskTopScaleScale - Defines the virtual desktop scale with respect to the screen.
BoundaryWidthWidth - Changes the bottom bar (handle) size (in pixels) on windows to the specifiedvalue. The default size is 8.
NoBoundaryWidthWidth - Changes the width of the bottom bar (handle) for windowswith no titles and no resize corners. The default is 0.Any positive or zero value is acceptable. The handles withoutresize corners have the same mouse and keyboard bindings asthe handles on normal windows.
XORvaluenumber - Changes the value with which bits are XOR'ed whendoing rubber-band window moving or resizing. Settingthis value is a trial-and-error process.
EdgeScrollhorizontal vertical - Specifies the percentage of a page to scroll whenthe cursor hits the edge of a page. If you don'twant any paging or scrolling when you hit the edgeof a page, include EdgeScroll 0 0 in your lookfile. If you want whole pages, use EdgeScroll 100100. Both horizontal and vertical should be positive numbers.
If the horizontal and vertical percentages are multiplied by 1000,then scrolling will wrap around atthe edge of the desktop. If "EdgeScroll 100000100000" is used,AfterStepwill scroll by whole pages, wrapping around at the edge of the desktop.
PagingDefaultpagingdefaultvalue - TellsAfterStepif it should start up with pagingenabled or disabled. "PagingDefault 0" will startAfterStepwith paging disabled, "PagingDefault 1" willstartAfterStepwith paging enabled by default.
EdgeResistancescrolling moving - Tells how hard it should be to change the desktopviewport by moving the mouse over the edge of thescreen, and how hard it should be to move a windowover the edge of the screen.
The first parameter tells how milliseconds thepointer must spend on the screen edge beforeAfterStepwill move the viewport. This is intended for peoplewho use EdgeScroll 100 100, but find themselvesaccidentally flipping pages when they don't wantto. The second parameter tells how many pixels over theedge of the screen a window's edge must move beforeit actually moves partially off the screen. Note that, with EdgeScroll 0 0, it is still possibleto move or resize windows across the edge ofthe current screen. By making the first parameterto EdgeResistance 10000, this type of motion isimpossible. With EdgeResistances less than 10000,but greater than 0, moving over pages becomes difficultbut not impossible.
OpaqueMovepercentage - TellsAfterStepthe maximum size window with whichopaque window movement should be used. The percentageis percent of the total screen area. WithOpaqueMove 0, all windows will be moved using thetraditional rubber-band outline. With OpaqueMove100, all windows will be move as solid windows. Thedefault is OpaqueMove 5 which allows small windowsto be moved in an opaque manner, but large windowsto be moved as rubber-bands. Using this option withlarge values can slow down your video response onslower systems.
ClickToFocus [flag] - Normally keyboard input goes to the window the mouse pointer is in. Ifthis option is set, the keyboard input (aka focus) stays with onewindow until a new window is clicked on.
If the (optional) flag is given a nonzero value, a mouse buttonclick that changes the keyboard focus is caught and processed only byAfterStep. If the flag is zero, or is not supplied, aclick that changes the focus is passed through for the application toprocess. When the flag is nonzero, it is useful to assign a NoFocus style to allapplications that are entirely mouse-controlled (e.g. Wharf).
SloppyFocus - This option changes the way focus-follows-mouse (the AfterStepdefault) mode behaves when the mouse pointer enters the root window(that is, the background area). Normally, the keyboard focus woulddisappear at this stage, but when SloppyFocus is on, exiting a windowto enter the root window leaves the focus unchanged. The focus willnot be removed from the last (non-root) window you visited until themouse pointer enters a new window.
SloppyFocus has no effect in ClickToFocus mode.
ClickToRaise buttons - In focus-follows-mouse mode, ClickToRaise specifies mouse buttonsthat raise a partially obscured window to the top. On a window that isfully visible (except a normal window may still be below StaysOnTopwindows) all the mouse buttons behave normally. Please note that in mostapplications you can use mouse buttons in combination with the shift keyto avoid the ClickToRaise behavior when needed.
In click-to-focus mode, ClickToRaise specifies the mouse buttons thatraise an unfocused window to the top. The rest of the mouse buttons merelychange the focus without raising, although you can have them do delayedraising with the AutoRaise command or the Auto module. In both focusing modes, ClickToRaise is not triggered on windowdecorations such as the title bar, but only on the application area. The mouse buttons are numbered as in the Button command. Youcan specify any or all of your mouse buttons here as a space- or comma-separated list.
OpaqueResize - Causes resize operations to be done with the window itself, insteadof an outline. Using this option does not always work well on slowervideo systems.
DontMoveOff - Prevents windows from being moved off or initiallyplaced off of the desktop. A few programs will notwork correctly if you use this option. This onlykeeps windows from being completely lost off theedge of the desktop. It insists on keeping 16 pixelson the desktop, but doesn't care a bit aboutkeeping the whole window on the desk. See EdgeResistanceif you don't like having windows partiallyoff the screen.
AutoRaise delay - This built-in was replaced by the moduleAuto(1).
PagerX_Location Y_Location - Enables a paging style of moving across the desktop.A Pager window will appear at (X_Location, Y_Location) (not a pop-up). Miniature versions ofall the windows on the virtual desktopare shown in the pager. The color of the miniatureversion is the same as the color of the full-sizewindow's border.
In the Pager window, pressing mouse button 1 willmove the desktop viewport to the selected page (inclick-to-focus mode, it will also move the keyboardfocus to the window whose miniature you click on).Pressing button 2 on a window in the pager willbegin a window move, using the miniature to quicklymove the window anywhere on the desktop. Pressingbutton 3 will move the top-left corner of the viewportto the location of the button press, even ifit does not line up with a page. Dragging button 3will cause the selected viewport to scroll as youmove the pointer. The Pager is automaticallysticky, but does not automatically StayOnTop.
MouseButton Context Modifiers Function - Defines a mouse binding.Buttonis the mouse button number. If Button is zero, then any button willperform the specified function.Contextdescribes in what context the binding applies. Valid contextsare R for the root window, W for an applicationwindow, T for a window title bar, S for a windowtitlebar, or bottom bar, F for a window frame (thehandle corners), I for an Icon window, or any combination of these letters.1 is for the left title-bar button and 2 is for the title-bar buttonA is for any context except for title-barbuttons. For instance, a context of FST will applywhen the mouse is anywhere in a window's border,except the title-bar buttons.
Modifiersis any combination of N for no modifiers,C for control, S for shift, M for Meta, or A forany modifier. For example, a modifier of CM willapply when both the Meta and shift keys are down.Functionis one of the following:AfterStep'sbuilt in functions, a Pop-up menu, or a user-defined function.
Keykeyname Context Modifiers Function - Binds a keyboard key to a specifiedAfterStepbuilt in function. Definition is the same as for a mousebinding, except that the mouse button number isreplaced with a key name. Thekeynameis one of theentries from /usr/include/X11/keysymdef.h, with theleading XK_ omitted. TheContextandModifiersfields are defined as in the mouse binding.Functionis one of the following:AfterStep'sbuilt in functions, a Pop-up menu, or an exec call to a program.
Binding a key to a title-bar button will not causethat button to appear unless a mouse binding alsoexists.
IconBoxleft top right bottom - Defines regions of the screen in which to placeicons. Up to four icon boxes can be defined. If anIconBox line is provided, the icons will automaticallybe placed in them, if possible. Each time awindow is iconified, a new place is found for it.Icon boxes are searched for space going left toright, then top to bottom. Icons will not be automaticallyplaced on top of other icons, but they may beplaced underneath application windows. If left orright is negative, thenAfterStepwill add the screenwidth to it. If top or bottom is negative, thenAfterStepwill add the screen height to it. NOTE: -0 isnot parsed as the right or bottom pixel on thescreen. You have to use -1 instead.
If no IconBox line is provided, or all icon boxesare full, thenAfterStepwill place icons near the current pointer location.
StubbornIconPlacement - When used with IconBoxes, causes icons to avoidplacing themselves underneath existing windows.
StubbornIcons - Changes de-iconification behavior a bit. Instead ofhaving windows always de-Iconify themselves on thecurrent page, the de-iconify into their originalposition.
SuppressIconsPrevents icon windows from being created or drawn.When used with the window-list, this provides asort of icon manager. StickyIcons - Causes icons to always stick to the screen's glass.That is, icons always follow you around the desktop.When a window is de-iconified, it gets unstuck.Some people find this a useful way of movingwindows around.
IconTitle - Makes AfterStep add icon titles to the application's icon. Notethat using icon titles will leave less space for the application iconitself on the button, since the icontitle covers up part of the button.
IconFontfontname - Makes AfterStep use the fontfontnameinstead of "fixed" for the IconTitle fonts.
ButtonNoBorder - Defines that the icon buttons should not have any borders drawn aroundthem. This is particularly useful to have "flat" icon buttons, or ifone defines a pixmap as the background for the buttons that alreadyincludes a border.
ButtonTextureTypenum - Defines the gradient type to use on the icon buttons. See thediscussion of TextureTypes for the allowable values fornum.Use 0 for num if you want to set a solid color for the texture withButtonBgColor.
ButtonTextureColorfrom to - Colors that the gradient will go from and to whengradients are drawn for icon buttons. The defaultvalues forfromandtoare #101030 and #303080 respectively. Values must be in either standard Xcolor names or hex notation.
ButtonMaxColorsNumColors - The number of colors to use on icon button textures.The default is 10 on 8-bit video systems and 128 on 16+ bitvideo systems.
ButtonBgColorColor - If ButtonTextureType is set to 0, this command forces AfterStep touseColorfor the button background. The default value forColoris #bdbebd. Values must be in either standard X color names or hex notation.
ButtonPixmapxpmname - Defines the xpm file to be used as the background for icon buttons.This xpm will be what shows through the transparent pixels in theapplication's defined xpm icon. Application icons can be definedusing Icon or Style.
IconPathpath - Specifies the full path name of a directory wherebitmap (monochrome) icons can be found.The path should start with a slash. Multiple directories maybe specified in a colon separated list, just likethe PATH environment variable.
PixmapPathpath - Specifies the full path name of a directory wherepixmap (color) icons can be found. The path shouldstart with a slash. Multiple directories may bespecified in a colon separated list, just like thePATH environment variable.
Iconwindowname bitmap-file - Specifies the bitmap to be used for a window whenit is iconified. Thewindownamecan be an applicationswindow name or class name, and must beenclosed in quotes. Thebitmap-fileis either thefull path name to a standard X11 bitmap file, or afile in the IconPath or PixmapPath. The specifiedbitmap/pixmap is used in preference to any iconsupplied by the window itself.
IfAfterStepis compiled with XPM support for coloricons, then can be an XPM pixmap file. windownameshould be enclosed in double quotes, butbitmap-fileshould not. No environmental variablesshould be used in the bitmap-file specification. Ifwindownameis an empty string, then the specifiedfile is the default icon, and will be used ifno other icon bitmap or pixmap can be found: Icon "" my-favorite-icon
DecorateTransients - Causes transient windows, which are normally leftundecorated, to be given the usualAfterStepdecorations. Note that some pop-up windows, such as thexterm menus, are not managed by the window manager,and still do not receive decorations.
RandomPlacement - Causes windows which would normally require user placementto be automatically placed in ever-so-slightly random locations.
SmartPlacement - Causes windows which would normally require user placementto be automatically placed in a smartlocation - a location in which they do not overlapany other windows on the screen. If no such positioncan be found, user-placement or random placementwill be used as a fall-back method. For thebest of all possible worlds, use both random placement and SmartPlacement.
StubbornPlacement - When using SmartPlacement, causes new windows toavoid placing themselves over icons.
NoPPosition - InstructsAfterStepto ignore the PPosition field whenadding new windows. Adherence to the PPositionfield is required for some applications, but if youdon't have one of those, its a real headache.
ClickTime - delaySpecifies the maximum delay (in milli-seconds)between a button press and a button release for theFunction builtin to consider the action a mouseclick. The default delay is 150 milli-seconds.
The same delay is used to decide whether a pop-up menu brought up bypressing a mouse button should stay visible after the mouse button isreleased.
ModulePath - Specifies a path forAfterStepto search when looking for a module to load. The path is a colonseparated list, just like the usual Unix PATH environmentvariable. Individual directories do not needtrailing slashes.
ModuleModuleName - Specifies a module which should be spawned duringinitialization. The modules in the main distribution are :Animate, Auto, Clean, Ident, Save, Wharf, Audio, Banner, Form, Pager,Scroll and WinList.These modules have their own man pages.Modulecan also be used as a builtin. Modules can be short lived transientprograms, or, like Wharf, can be intended toremain for the duration of the X session.Modules called byModulewill be terminated by the window-manager prior torestarts and quits, if possible. See the introductory section on modules.
Cursorcursor_num cursor_type - This provides a very awkward way of changing cursorstyles. Cursor num tells which cursor you arechanging, and is a number between 0 and 12, as follows:
0 POSITION - used when initially placing windows1 TITLE - used in a window title-bar2 DEFAULT - used in windows that don't bother to set their cursor3 SYS - used in one of the title-bar buttons4 MOVE - used when moving or resizing windows5 WAIT - used during an EXEC builtin command6 MENU - used in menus7 SELECT - used for various builtin commands such as iconify8 DESTROY - used for DESTROY and DELETE built-ins9 TOP - used in the top side-bar of a window10 RIGHT - used in the right side-bar (not available) 11 BOTTOM - used in the bottom handle of a window12 LEFT - used in the left side-bar (not available)13 TOP_LEFT - used in the top left corner14 TOP_RIGHT - used in the top right corner15 BOTTOM_LEFT - used in the bottom left corner16 BOTTOM_RIGHT - used in the bottom right corner The cursor_type argument is a number which tellsthe cursor shape to use. The available numbers canbe found in /usr/include/X11/cursorfont.h, and arecurrently even numbers between 0 and 152. At thecurrent time, the following cursor types are available. 0 X_cursor 2 arrow4 based_arrow_down 6 based_arrow_up8 boat 10 bogosity12 bottom_left_corner 14 bottom_right_corner16 bottom_side 18 bottom_tee20 box_spiral 22 center_ptr24 circle 26 clock28 coffee_mug 30 cross32 cross_reverse 34 crosshair36 diamond_cross 38 dot40 dotbox 42 double_arrow44 draft_large 46 draft_small48 draped_box 50 exchange52 fleur 54 gobbler56 gumby 58 hand160 hand2 62 heart64 icon 66 iron_cross68 left_ptr 70 left_side72 left_tee 74 leftbutton76 ll_angle 78 lr_angle80 man 82 middlebutton84 mouse 86 pencil88 pirate 90 plus92 question_arrow 94 right_ptr96 right_side 98 right_tee100 rightbutton 102 rtl_logo104 sailboat 106 sb_down_arrow108 sb_h_double_arrow 110 sb_left_arrow112 sb_right_arrow 114 sb_up_arrow116 sb_v_double_arrow 118 shuttle120 sizing 122 spider124 spraycan 126 star128 target 130 tcross132 top_left_arrow 134 top_left_corner136 top_right_corner 138 top_side140 top_tee 142 trek144 ul_angle 146 umbrella148 ur_angle 150 watch152 xterm
AppsBackingStore - Causes application windows to request backingstore. Specifying this option causes the windowmanager to fail to be ICCCM compliant. While thisoption can speed things up in an X-terminal, wherere-draws of windows is expensive, it may not helpmuch on regular workstations.
SaveUnders - Causes theAfterStepdecoration frames to request saveunders. This will cause AfterStepto save those portions of windows that are not visible to memory (not video memory).This can significantly improve the performanceduring opaque moves, but it causes a significant increase in memory usage.This can also cause garbled display with some applications.
BackingStore - CausesAfterStepdecorations to request backing store. See the discussion for AppsBackingStore.
PopupPopupName - Starts the definition of a pop-up menu which willlater be bound to a mouse button or key.PopupNamemust be enclosed in quotes. Menu entries areincluded on lines following the Popup keyword. Themenu definition ends with the key word EndPopup.Menu entries are specified as shown in the following example.The first word on each line is thebuilt-in function which will be performed, followedby the caption (enclosed in quotes) which will beshown in the menu, followed by any additional argumentsneeded by the built-in function. Sub-menuscan be specified by using the Popup built-in, aslong as the sub-menu was defined earlier in theconfiguration file.
Popup "Window Ops" Title "Window Ops" Move "Move" Resize "Resize" Raise "Raise" Lower "Lower" Iconify "(De)Iconify" Nop " " Destroy "Destroy" Title "HARDCOPY" Exec "Hardcopy" exec xdpr & Exec "Hardcopy RV" exec xdpr -rv &EndPopup Note that if a tab character is embedded in thecaption of a menu entry, then the text followingthe tab will be entered into a second column in themenu, and the entire menu will be left-adjusted.This is intended for shortcut labeling. The tabcharacter must really be a tab. If it is expandedinto spaces it will not work! For example Popup "Window Ops" Title "Window Ops Alt-F1" Is the start of a left adjusted menu. Alt-F1 willbe placed toward the right side of the menu.Shortcut keys may be specified in the menu definitionby preceding the character with an ampersand.The ampersand will not be displayed, but the characterafter it will be displayed at the right side of the same entry,and if the user presses the corresponding key, then thatitem will be activated as if the user had clickedon it with the mouse. Only alphabetic and numericcharacters may be used as shortcut keys. The shiftstate of the keyboard is ignored when testingshortcut characters. For example:- Popup "Window Ops" Maximize "Ma&ximise" 100 100EndMenu When this menu is popped up, the entry will appear as "Maximize x",and pressing the x key will cause the currentwindow to be maximized. Shortcut keys are notoperative unless MENU_HOTKEYS was defined when buildingAfterStep.If WINDOWLIST_HOTKETS was also defined, then hot keys are automatically added tothe WindowList when it is displayed.
FunctionFunctionName - Starts the definition of a complex function, composed of theAfterStepbuilt-in functions, which will later be bound to a mouse button or key.FunctionNamemust be enclosed in quotes. Function entriesare included on lines following the Function keyword.The definition ends with the key word EndFunction.Function entries are specified as shownin the following example. The first word on eachline is the built-in function which will be per-formed, followed the type of event which shouldtrigger the action (enclosed in quotes), followedby any additional arguments needed by the built-infunction. Menus can be specified by using the Popupbuilt-in, as long as the menu was defined earlierin the configuration file.
The trigger actions which are recognized are Immediate,Motion, Click, DoubleClick and TripleClick. Immediateactions are executed as soon as the function isactivated, even if a window has not been selected.If there are actions other than immediate ones,AfterStepwill wait to see if the user is clicking, double-clicking,triple-clicking or dragging the mouse. After the decisionis madeAfterStepwill execute only the builtinsfrom the function definition whose trigger actionmatches the action performed by the user. If thefollowing example were bound to button 1 in a windowtitle-bar, then, when button 1 is pressed,AfterStepwould wait 150 msec to see if the button isreleased. If the button is not released,AfterStepwill start a move operation. When the move operation iscomplete, a raise operation will be performed. If abutton release is detected, thenAfterStepwill wait another 150 msec for a second click. If only oneclick is detected, then the window will be raised.If two clicks are detected, the window will bealternately raised and lowered. If three clicks aredetected the window will be Shaded or un-Shaded, dependingon the prior state of the window. The 150 msec waitduration can be altered using the ClickTime option. Function "Move-or-Raise" Move "Motion" Raise "Motion" Raise "Click" RaiseLower "DoubleClick" Shade "TripleClick"EndFunction The clicking, double-clicking and triple-clicking concepts do notcarry through to using keyboard shortcuts. Two special functions exist: InitFunction andRestartFunction. The InitFunction will be calledwhenAfterStepis started for the first time in any Xsession, and can be used to start modules, setbackground patterns, and begin programs. Therestart function will be called whenAfterStepis restarted. It can be used to start modules and setbackground patterns, but probably should not beused to start programs. BUILT IN FUNCTIONSAfterStepsupports a small set of built in functions which canbe bound to keyboard or mouse buttons. Nop - Does nothing. This is used to insert a blank lineor separator in a menu. If the menu item specificationis Nop " ", then a blank line is inserted. Ifit looks like Nop "", then nothing is inserted.
Title - Does nothing. This is used to insert a title linein a popup or menu.
Beep - Makes the computer beep.
Quit - ExitsAfterStep,generally causing X to exit too.
Restart name WindowManagerName - CausesAfterStepto re-read itself ifWindowManagerName = afterstep, or to switch to an alternate window managerif WindowManagerName != afterstep. If the window manageris not in your default search path, then youshould use the full path name forWindowManagerName.
WindowManagerNameis not quoted, butnameis.nameis the name that appears in a menu, if that iswhere the function is called from.nameis required even if the function is not called from a menu, forease of parsing. This command should not have a trailing ampersandor any command line arguments, and should not makeuse of any environmental variables. Of the followingexamples, the first three are sure losers, butthe fourth is OK: Key F1 R N Restart " " afterstep &Key F1 R N Restart " " $(HOME)/bin/afterstepKey F1 R N Restart " " twm -f .mystartupfileKey F1 R N Restart " " /usr/local/bin/afterstep
Refresh - Causes all windows on the screen to re-draw themselves.
Move - Allows the user to move a window. If called from somewhere in a window or its border, then that window will be moved.If called from the root window,then the user will be allowed to select the target window
Resize - Allows the user to resize a window.
Raise - Allows the user to raise a window.
Lower - Allows the user to lower a window.
- RaiseLower
- Alternately raises and lowers a window.
Shade - Emulates the MacOS WindowShade feature. Once activated the window willbecome a titlebar only.
Delete - Sends a message to a window asking that it remove itself, frequently causing the application to exit.
Destroy - Destroys a window. Guaranteed to get rid of thewindow, but is a fairly violent way to terminate anapplication.
Close - If the window accepts the delete window protocol, amessage is sent to the window asking it to grace-fully remove itself. If the window does not under-stand the delete window protocol, then the windowis destroyed.
Iconify [value] - Iconifies a window if it is not already iconified,or de-iconifies it if it is already iconified. Ifthe optional argument value is positive, the onlyiconification will be allowed, and de-iconificationwill be inhibited. It the optional argument is negative, only de-iconification will be allowed.
Maximize [horizontal vertical] - Without its optional arguments, Maximize causes thewindow to alternately switch from a full-screensize to its normal size.
With the optional arguments horizontal and vertical, which are expressed as percentage of a fullscreen, the user can control the new size of thewindow. If horizontal > 0, then the horizontaldimension of the window will be set to horizontal*screen_width/100. The vertical resizing is similar.For example, the following will switch a window to the full verticalsize of the screen:Maximize 0 100 The following causes windows to be stretched to the full width:Maximize 100 0 This makes a window that is half the screen size in each direction:Maximize 50 50 Values larger than 100 can be used with caution.
Stick - Makes a window sticky if it is not already sticky, or non-sticky if it is already sticky.
Scroll horizontal vertical - Scrolls the virtual desktop's viewport byhorizontalpages in the x-direction, andverticalpages in the y-direction. Either or both entries may be negative.Bothhorizontalandverticalvalues are expressed in percent of pages, so Scroll 100 100means to scroll down and left by one full page.Scroll 50 25 means to scroll left half a page anddown a quarter of a page. The scroll functionshould not be called from pop-up menus. Normally,scrolling stops at the edge of the desktop.
If the horizontal and vertical percentages are multipliedby 1000, then scrolling will wrap around atthe edge of the desktop. If "Scroll 100000 0" isexecuted over and over,AfterStepwill move to the nextdesktop page on each execution, and will wraparound at the edge of the desktop, so that everypage is hit in turn.
TogglePage - Temporarily disables edge scrolling. Edge scrolling can be re-enabled bycalling this again.
CursorMove horizontal vertical - Moves the mouse pointer byhorizontalpages in the x-direction, andverticalpages in the y-direction.Either or both entries may be negative. Bothhorizontalandverticalvalues are expressed in percentof pages, so CursorMove 100 100 means to move downand left by one full page. CursorMove 50 25 meansto move left half a page and down a quarter of apage. The CursorMove function should not be calledfrom pop-up menus.
CirculateUp [name window_name] - Causes the pointer to move to the previous windowin the list of windows for which CirculateSkip hasnot not been specified as CirculateSkip.
If the optional arguments are supplied, then thefocus will move to the first window whose name (oricon name or class) matcheswindow_name.The optional argument name is required ifwindow_nameis supplied, and is enclosed in quotes. This argumentis the name which appears in menus if thefunction is called from a menu, but serves no purpose if the function is not called from a menu Here's an example that moves the focus to an xtermwindow when Alt-F1 is pressed: Key F1 A M CirculateUp "whatever" xterm
CirculateDown [name window_name] - Causes the pointer to move to
|
|
|