Functions(1) AfterStep X11 window manager Functions(1)
NAME
Functions - built in AfterStep functions
CONFIGURATION OPTIONS
Background
"name" filename Change Background image to specified file
Copies image file specified by filename into user's
non-configurable directory. Depending on Background
configuration in look file, this may not have any effect.
BackgroundForeign
"name" filename Change Background image to specified file
Works same as Background but generates minipixmap from the
image automagically. Also tries to determine if background
should be fullscreen and crops/scales it to the proper size.
Beep
Make the window manager issue a beep - pretty useful eh? :)
BookmarkWindow
"name" new_bookmark Places a bookmark on the selected window, to be used later on
to get back to that window.
Category"
category-name "
Generate a menu from all the members belonging to specified
desktop category. For example Category "Modules", generate a
menu of all AfterStep modules in
afterstep/applications/modules.desktop
CategoryTree
FIXME: add proper description here.
ChangeColorscheme
"name" filename Change Color Scheme to specified file
Copies color scheme configuration file specified by filename
into user's non-configurable directory.
ChangeFeel
"name" filename Change Feel to specified file
Copies feel configuration file specified by filename into
user's non-configurable directory.
ChangeLook
"name" filename Change Look to specified file
Copies Look configuration file specified by filename into
user's non-configurable directory, to be used by AfterStep.
ChangeTheme
"name" file_name Sets current theme config file. Such config file may include
settings for look, feel, menu, autoexec and any module.
ChangeThemeFile
Installs a theme from a provided .tar, .tar.gz, or .tar.bz2
AfterStep theme file.
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 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.
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.
Close [
"name" ]
First sends the WM_DELETE message, if this is not understood,
then the
XKillClient(3) is sent to the window.
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.
Delete [
"name" ]
Sends a WM_DELETE message to a window asking that it remove
itself, frequently causing the application to exit.
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.
DesktopEntry
FIXME: add proper description here.
Destroy [
"name" ]
Sends the
XKillClient(3) to a window. Guaranteed to get rid of
the window.
EndFunction
Terminates a Complex Function definition.
EndPopup
Terminates a Popup definition.
Exec
"name" command [-options]
Specifies a sub process to initiate. The
"name" is required
for ease of parsing. The
command is the command or application
to be invoked along with any desired-options.
ExecBrowser
"name" URL Open URL in web browser.
ExecEditor
"name" filename Open file in text editor.
ExecInTerm
"name" command [-options]
Specifies a sub process to initiate. It is similar to Exec ,
though targeted at programs that need a terminal to run. The
following terminal emulators are tried in order: aterm, rxvt,
eterm, xterm.
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.
Folder "
folder-name "
Defines a slide-out folder inside the current folder. The
following button definitions will be placed inside of the
subfolder, until a
*Wharf ~Folder line is encountered. See the
EXAMPLES section below for an example. Folders may be nested.
This is a Wharf specific Function.
Fullscreen
Toggle window Fullscreen state. Will disregard any AvoidCover
windows and will try to make window as big as the screen
unless it's hints set certain limitation on size. Window in
Fullscreen mode cannot be Maximized.
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_file
"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 immediate 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 RestartFunction.
The InitFunction will be called when
afterstep 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 probably should not be used to start programs.
These two functions are defined in the
autoexec file.
When calling a previously defined Function or a Function 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.
GetHelp
Runs afterstepdoc script, that attempts to guess which web
browser is available on the system, and then launches it to
display HTML documentation for AfterStep.
GoToBookmark
["name" window_bookmark ] Focuses window specified by previously placed window_bookmark.
GotoDeskViewport
Desk+Vx+Vy Changes both current desk and viewport.
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.
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 iconification will be
allowed, and de-iconification will be inhibited. If the
optional argument is negative, only de-iconification will be
allowed.
InstallBackground
"name" filename Copies specified file to ~/.afterstep/backgrounds/ directory,
so that it will show up in the menu, to be used for Root
background.
InstallColorscheme
"name" filename Copies specified file to ~/.afterstep/colorschemes/ directory,
so that it will show up in the menu, to be used as color
scheme.
InstallFeel
"name" filename Copies specified file to ~/.afterstep/feels/ directory, so
that it will show up in the menu.
InstallFont
"name" filename Copies specified TTF file to ~/.afterstep/desktop/fonts/
directory, so that it could be used in look configuration.
InstallIcon
"name" filename Copies specified image file to ~/.afterstep/desktop/icons/
directory, so that it could be used in look and database
configuration.
InstallLook
"name" filename Copies specified look file to ~/.afterstep/looks/ directory,
so that it could be selected from the menu.
InstallThemeFile
"name" filename Copies specified theme file to ~/.afterstep/themes/ directory,
so that it could be selected from the menu.
InstallTile
"name" filename Copies specified image file to ~/.afterstep/desktop/tiles/
directory, so that it could be used in look and database
configuration.
KIPCsendMessageAll
Sends a signal to all KDE applications, refreshing their
visual properties.
KillAllModulesByName
Kills AfterStep modules with a provided matching name.
KillModuleByName
"name" modulename Kill module with specified name.
LargeMiniPixmap
pixmap Specifies a given pixmap to display to the left of the menu
item which invokes this menu, or in the title of this menu.
Used in menu entries instead of MiniPixmap when it is not
desired to scale-down a pixmap image. Pixmap images are
full-size. Opposite is SmallMiniPixmap.
See Also: MiniPixmap, SmallMiniPixmap, MenuMiniPixmaps.
Lower [
"name" ]
Allows the user to lower a window.
MaxSwallow "
window-name "
command Like
Swallow , except the button will be resized to fit the
application.
This is a Wharf specific Function.
MaxSwallowModule "
window-name "
command Like
MaxSwallow , except the
command is an AfterStep module.
This is a Wharf specific Function.
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).
MiniPixmap
pixmap Specifies a given pixmap to display to the left of the menu
item which invokes this menu, or in the title of this menu.
Default pixmap size is 24x24 pixels; this size can be adjusted
in Look via MiniPixmapSize.
See Also: MinipixmapSize, LargeMiniPixmap, SmallMiniPixmap,
MenuMiniPixmaps.
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 initialization 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 duration of the X session. Modules
will be terminated by
afterstep prior to restarts and quits,
if possible.
Move [
"name" ]
Allows the user to move a window or iconified app.
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).
PasteSelection
This function allows for substitute of X clipboard
copy-pasting if application is missing it.
PinMenu
["name"] Pins menu on desktop.
PopUp
"popup_name" There are two situations where this might occur; as a popup
menu stanza definition, or in calling a previously 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 performed, 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 ampersand will
not be displayed, but the character after it will be displayed
at the right side of the same entry. and if the user presses
the corresponding key, then that item will be activated as if
it had been clicked upon. Only alphanumeric characters may be
used as shortcut keys. The shift state of the keyboard is
ignored when testing shortcut characters. Shortcut keys are
not operative unless MENU_HOTKEYS was defined when building
AfterStep. If WINDOWLIST_HOTKETS was also defined, then hot
keys are automatically added to the WindowList when it is
displayed. 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 previously
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.
PutOnBack
Moves the target window to the bottom of its layer, or down
one layer if it is already at the bottom.
PutOnTop
Moves the target window to the top of its layer, or up one
layer if it is already at the top.
QuickRestart
look|feel|look+feel Causes AfterStep to reload specified config.
Quit [
"name" ]
Exits
afterstep , generally causing X to exit too.
Raise [
"name" ]
Allows the user to raise a window.
RaiseLower [
"name" ]
Alternately raises and lowers a window; i.e. if it's raised,
the window will lower, and vice versa.
Refresh [
"name" ]
Causes all windows on the screen to re-draw themselves.
Resize [
"name" ]
Allows the user to resize a window.
Restart
"name" WindowManagerName Restarts
X(1) with the given
WindowManagerName . If
WindowManagerName is
afterstep , then this forces
afterstep to
reread all of its configuration files and reinitiate the
session. If
WindowManagerName is not in the default search
path, then the full path name should be given.
RestartModuleByName
Restarts AfterStep modules with a provided matching name.
RestartModuleList
Restarts all AfterStep modules.
SET_FLAGS
Do not use. Reserved for use by AfterStep modules to set
communication flags - identifying which messages module wishes
to receive.
SET_MASK
Do not use. Reserved for use by AfterStep modules.
SET_NAME
Do not use. Reserved for use by AfterStep modules to identify
themselves to AfterStep.
SaveWorkspace
"name" file_name Write list of presently running applications with its position
and desktop number into specified file. You can run this file
at a later time as a shell script to restore state of the
desktop. Note this does not work for many applications that
does not provide needed ICCCM properties on its windows.
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 scrolling will wrap around at the edge of the
desktop.
The scroll function should not be called from pop-up menus.
Send_WindowList
This Function is used by modules to obtain list of open
windows.
Set
FIXME: add proper description here.
SetLayer
layer Moves the target window to layer
layer .
Shade [
"name" ]
Emulates the MacOS WindowShade feature. Once activated the
window will become a titlebar only.
SignalReloadGTKRCFile
Forces all GTK apps to reload the gtkrc files.
Size
width height Sets the size of the associated button, overriding any other
size consideration.
The
Wharf button size depends on several things. The order of
precedence is:
1) Size definition 2) MaxSwallow'd window size 3)
WharfPixmap size 4) Use 64x64.
This is a Wharf specific Function.
SmallMiniPixmap
pixmap Specifies a given pixmap to display to the left of the menu
item which invokes this menu, or in the title of this menu.
Used in menu entries instead of MiniPixmap; scales-down pixmap
images to the smallest size. It is sized based-on the Menu
font size plus eight pixels; width is calculated to keep
proportionality.
See Also: MiniPixmap, LargeMiniPixmap, MenuMiniPixmaps.
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.
StopModuleList
Stops all AfterStep modules.
Swallow "
window-name "
command Causes
Wharf to run
command , capture the first window whose
name or resource is
window-name , and display it in the
associated button. The application window will be shrunk to
fit the size of the button.
This is a Wharf specific Function.
SwallowModule "
window-name "
command Like
Swallow , except the
command is an AfterStep module.
This is a Wharf specific Function.
SwallowWindow
"pattern" shell_command will cause already opened window to be swallowed, while just
Swallow will run application, if there are no windows matching
pattern
TakeFrameShot
"name" filename Grabs screenshot of the client window including frame
decorations and save it in specifyed files.
TakeScreenShot
"name" filename Grabs screenshot of the entire screen and save it in specifyed
files.
TakeWindowShot
"name" filename Grabs screenshot of the client window excluding frame
decorations and save it in specifyed files.
Test
Do not use. Internal function.
Title
"name" Insert a title line of heading
name into a popup or menu.
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.
TogglePage [
"name" ]
Temporarily disables
EdgeScroll . Edge scrolling can be
re-enabled by calling this again.
Transient
Specifies that this button will not perform any action, will
not be pushable, and will not have an associated balloon.
UNLOCK
Do not use. Internal function.
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.
WarpBack [
"name" window_name ]
Same as
ChangeWindowDown , but uniconifies any iconified
windows as it focuses on them.
WarpFore [
"name" window_name ]
Same as
ChangeWindowUp , but uniconifies any iconified windows
as it focuses on them.
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 WindowListSkip specified in their
style will not be listed in the window list.
WindowsDesk
new_desk [10000]
Moves the selected window to the desktop specified as
new_desk . If second argument is set to 10000 then first is treated as
relative desktop number.
3rd Berkeley Distribution AfterStep v.2.2.12 Functions(1)