Functions - built in AfterStep functions
- 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
Specifies 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.