The stumpwm Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The stumpwm Reference Manual

This is the stumpwm Reference Manual, version 1.0.1, generated automatically by Declt version 2.3 "Robert April" on Tue Jan 09 15:49:05 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

The Stump Window Manager

Stumpwm is a window manager written entirely in Common Lisp. It attempts to be highly customizable while relying entirely on the keyboard for input. You will not find buttons, icons, title bars, tool bars, or any of the other conventional GUI widgets.

These design decisions reflect the growing popularity of productive, customizable lisp based systems.

Philosophy

Stumpwm is a "everything-and-the-kitchen-sink WM" or "the emacs of WMs."

StumpWM:Windows::Emacs:Text

If you want a minimalist tiling window manager, then StumpWM is not what you're looking for. The code base is ~15k sloc, the binaries produced are ~60mb.

StumpWM manages windows the way emacs manages buffers, or the way screen manages terminals. If you want a flexible, customizable, hackable desktop experience, look no further.

Build & Start Stumpwm

Prerequisites

The recommended way to install the dependencies is using Quicklisp. Follow the instructions at http://www.quicklisp.org/ to install it. In short:

$ curl -O https://beta.quicklisp.org/quicklisp.lisp
$ sbcl --load quicklisp.lisp

Then at the REPL:

(quicklisp-quickstart:install)

Make sure you have added it to your lisp init file using:

 (ql:add-to-init-file)

Then, in a repl:

 (ql:quickload "clx")
 (ql:quickload "cl-ppcre")
 (ql:quickload "alexandria")

Building

Building stumpwm from git requires that you build the configure script:

 autoconf

If there's already a configure script then just run it.

 ./configure

Now build it:

 make

If all goes well, you should have a stumpwm binary now. You can run the binary from where it is or install it, along with the .info documentation, with:

 make install

Now that you have a binary, call it from your ~/.xinitrc file:

 echo /path/to/stumpwm >> ~/.xinitrc
 startx

Hopefully that will put you in X running stumpwm! See StartUp on the wiki for more examples.

Contributing

Pull requests are always welcome! Here are some guidelines to ensure that your contribution gets merged in a timely manner:

Our wiki has fallen into disarray/disrepair, but it is shaping up. If you aren't a lisp hacker, you can contribute in the form of documenting and organizing the wiki. There's a lot of information floating around, if you find it where you didn't expect it, move or link to it in a more logical place.

Wishlist

Fancy yourself a lisp hacker? Here's a wishlist of features for the StumpWM universe (in no particular order):

Help

There's a texinfo manual, stumpwm.texi. The build scripts generate an info file you can read in emacs or with the `info' program. The manual for the latest git version (may be slightly out of date) is available to read online at: The Manual

And, as in emacs, you can always do "C-t h v,f,k,c,w" for docstrings of Variable,Functions,Keys,Commands, and Where-is respectively.

For other stuff (tips tricks and examples) visit the stumpwm wiki

There's a #stumpwm channel on irc.freenode.net, too.

Finally, there's our mailing list (click to sign up) stumpwm-devel@nongnu.org.


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 stumpwm

Maintainer

David Bjergaard <dbjergaard@gmail.com>

Author

Shawn Betts <sabetts@vcn.bc.ca>

Description

A tiling, keyboard driven window manager

Version

1.0.1

Dependencies
Source

stumpwm.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 stumpwm.asd

Location

stumpwm.asd

Systems

stumpwm (system)

Packages

stumpwm-system


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 stumpwm/package.lisp

Parent

stumpwm (system)

Location

package.lisp

Packages

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 stumpwm/primitives.lisp

Dependency

package.lisp (file)

Parent

stumpwm (system)

Location

primitives.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 stumpwm/wrappers.lisp

Dependency

primitives.lisp (file)

Parent

stumpwm (system)

Location

wrappers.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.5 stumpwm/pathnames.lisp

Dependency

wrappers.lisp (file)

Parent

stumpwm (system)

Location

pathnames.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.6 stumpwm/font-rendering.lisp

Dependency

pathnames.lisp (file)

Parent

stumpwm (system)

Location

font-rendering.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.7 stumpwm/keysyms.lisp

Dependency

font-rendering.lisp (file)

Parent

stumpwm (system)

Location

keysyms.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.8 stumpwm/keytrans.lisp

Dependency

keysyms.lisp (file)

Parent

stumpwm (system)

Location

keytrans.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.9 stumpwm/kmap.lisp

Dependency

keytrans.lisp (file)

Parent

stumpwm (system)

Location

kmap.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.10 stumpwm/input.lisp

Dependency

kmap.lisp (file)

Parent

stumpwm (system)

Location

input.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.11 stumpwm/core.lisp

Dependency

input.lisp (file)

Parent

stumpwm (system)

Location

core.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.12 stumpwm/command.lisp

Dependency

core.lisp (file)

Parent

stumpwm (system)

Location

command.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.13 stumpwm/menu.lisp

Dependency

command.lisp (file)

Parent

stumpwm (system)

Location

menu.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.14 stumpwm/screen.lisp

Dependency

menu.lisp (file)

Parent

stumpwm (system)

Location

screen.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.15 stumpwm/head.lisp

Dependency

screen.lisp (file)

Parent

stumpwm (system)

Location

head.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.16 stumpwm/group.lisp

Dependency

head.lisp (file)

Parent

stumpwm (system)

Location

group.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.17 stumpwm/bindings.lisp

Dependency

group.lisp (file)

Parent

stumpwm (system)

Location

bindings.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.18 stumpwm/events.lisp

Dependency

bindings.lisp (file)

Parent

stumpwm (system)

Location

events.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.19 stumpwm/window.lisp

Dependency

events.lisp (file)

Parent

stumpwm (system)

Location

window.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.20 stumpwm/floating-group.lisp

Dependency

window.lisp (file)

Parent

stumpwm (system)

Location

floating-group.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.21 stumpwm/tile-window.lisp

Dependency

floating-group.lisp (file)

Parent

stumpwm (system)

Location

tile-window.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.22 stumpwm/tile-group.lisp

Dependency

tile-window.lisp (file)

Parent

stumpwm (system)

Location

tile-group.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.23 stumpwm/window-placement.lisp

Dependency

tile-group.lisp (file)

Parent

stumpwm (system)

Location

window-placement.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.24 stumpwm/message-window.lisp

Dependency

window-placement.lisp (file)

Parent

stumpwm (system)

Location

message-window.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.25 stumpwm/selection.lisp

Dependency

message-window.lisp (file)

Parent

stumpwm (system)

Location

selection.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.26 stumpwm/module.lisp

Dependency

selection.lisp (file)

Parent

stumpwm (system)

Location

module.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.27 stumpwm/ioloop.lisp

Dependency

module.lisp (file)

Parent

stumpwm (system)

Location

ioloop.lisp

Exported Definitions
Internal Definitions

sbcl-io-loop (class)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.28 stumpwm/timers.lisp

Dependency

ioloop.lisp (file)

Parent

stumpwm (system)

Location

timers.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.29 stumpwm/stumpwm.lisp

Dependency

timers.lisp (file)

Parent

stumpwm (system)

Location

stumpwm.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.30 stumpwm/user.lisp

Dependency

stumpwm.lisp (file)

Parent

stumpwm (system)

Location

user.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.31 stumpwm/interactive-keymap.lisp

Dependency

user.lisp (file)

Parent

stumpwm (system)

Location

interactive-keymap.lisp

Exported Definitions

define-interactive-keymap (macro)

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.32 stumpwm/iresize.lisp

Dependency

interactive-keymap.lisp (file)

Parent

stumpwm (system)

Location

iresize.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.33 stumpwm/help.lisp

Dependency

iresize.lisp (file)

Parent

stumpwm (system)

Location

help.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.34 stumpwm/fdump.lisp

Dependency

help.lisp (file)

Parent

stumpwm (system)

Location

fdump.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.35 stumpwm/time.lisp

Dependency

fdump.lisp (file)

Parent

stumpwm (system)

Location

time.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.36 stumpwm/mode-line.lisp

Dependency

time.lisp (file)

Parent

stumpwm (system)

Location

mode-line.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.37 stumpwm/mode-line-formatters.lisp

Dependency

mode-line.lisp (file)

Parent

stumpwm (system)

Location

mode-line-formatters.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.38 stumpwm/color.lisp

Dependency

mode-line-formatters.lisp (file)

Parent

stumpwm (system)

Location

color.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.39 stumpwm/wse.lisp

Dependency

color.lisp (file)

Parent

stumpwm (system)

Location

wse.lisp

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.40 stumpwm/version.lisp

Dependency

wse.lisp (file)

Parent

stumpwm (system)

Location

version.lisp

Exported Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

4.1 stumpwm-system

Source

stumpwm.asd

Use List

Next: , Previous: , Up: Packages   [Contents][Index]

4.2 stumpwm-user

Source

package.lisp (file)

Use List

Previous: , Up: Packages   [Contents][Index]

4.3 stumpwm

Source

package.lisp (file)

Use List
Used By List

stumpwm-user

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Constants

Constant: +iconic-state+
Package

stumpwm

Source

primitives.lisp (file)

Constant: +normal-state+
Package

stumpwm

Source

primitives.lisp (file)

Constant: +withdrawn-state+
Package

stumpwm

Source

primitives.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Special variables

Special Variable: *all-modifiers*

A list of all keycodes that are considered modifiers

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *banish-pointer-to*

Where to put the pointer when no argument is given to (banish-pointer) or the banish command. May be one of :screen :head :frame or :window

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *colors*

Eight colors by default. You can redefine these to whatever you like and then call (update-color-map).

Package

stumpwm

Source

color.lisp (file)

Special Variable: *command-mode-end-hook*

A hook called whenever command mode is ended

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *command-mode-start-hook*

A hook called whenever command mode is started

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *current-io-channel*

While processing an I/O channel, this variable is dynamically bound to the channel in question. This is provided primarily for error-handling code.

Package

stumpwm

Source

ioloop.lisp (file)

Special Variable: *current-io-loop*

Dynamically bound to the I/O loop currently running, providing an easy way for event callbacks to register new channels.

Package

stumpwm

Source

ioloop.lisp (file)

Special Variable: *data-dir*

The directory used by stumpwm to store data between sessions.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *debug-expose-events*

Set this variable for a visual indication of expose events on internal StumpWM windows.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *debug-level*

Set this variable to a number > 0 to turn on debugging. The greater the number the more debugging output.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *debug-stream*

This is the stream debugging output is sent to. It defaults to *error-output*. It may be more convenient for you to pipe debugging output directly to a file.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *default-group-name*

The name of the default group.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *default-io-loop*

The default I/O loop implementation. Should be generically optimal for the given LISP implementation and operating system.

Package

stumpwm

Source

ioloop.lisp (file)

Special Variable: *default-package*

This is the package eval reads and executes in. You might want to set this to @code{:stumpwm} if you find yourself using a lot of internal stumpwm symbols. Setting this variable anywhere but in your rc file will have no effect.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *default-window-name*

The name given to a window that does not supply its own name.

Package

stumpwm

Source

window.lisp (file)

Special Variable: *deny-map-request*

A list of window properties that stumpwm should deny matching windows’ requests to become mapped for the first time.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *deny-raise-request*

Exactly the same as @var{*deny-map-request*} but for raise requests.

Note that no denial message is displayed if the window is already visible.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *destroy-mode-line-hook*

Called whenever the mode-line is destroyed. It is called with argument, the mode-line

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *destroy-window-hook*

A hook called whenever a window is destroyed or withdrawn.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *display*

The display for the X server

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *editor-bindings*

A list of key-bindings for line editing.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *event-processing-hook*

A hook called inside stumpwm’s inner loop, before the default event processing takes place. This hook is run inside (with-event-queue ...).

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *executing-stumpwm-command*

True when executing external commands.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *focus-frame-hook*

A hook called when a frame is given focus. The hook functions are called with 2 arguments: the current frame and the last frame.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *focus-group-hook*

A hook called whenever stumpwm switches groups. It is called with 2 arguments: the current group and the last group.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *focus-window-hook*

A hook called when a window is given focus. It is called with 2 arguments: the current window and the last window (could be nil).

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *frame-indicator-text*

What appears in the frame indicator window?

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *frame-indicator-timer*

Keep track of the timer that hides the frame indicator.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *frame-number-map*

Set this to a string to remap the frame numbers to more convenient keys. For instance,

"hutenosa"

would map frame 0 to 7 to be selectable by hitting the appropriate homerow key on a dvorak keyboard. Currently, only single char keys are supported. By default, the frame labels are the 36 (lower-case) alphanumeric characters, starting with numbers 0-9.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *group-format*

The format string that decides what information will show up in the group listing. The following format options are available:

@table @asis
@item %n
Substitutes the group number translated via *group-number-map*, if there are more windows than *group-number-map* then will use the group-number.

@item %s
The group’s status. Similar to a window’s status.

@item %t
The group’s name.
@end table

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *group-formatters*

An alist of characters and formatter functions. The character can be used as a format character in @var{*group-format*}. When the character is encountered in the string, the corresponding function is called with a group as an argument. The functions return value is inserted into the string. If the return value isn’t a string it is converted to one using @code{prin1-to-string}.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *group-top-maps*

An alist of the top level maps for each group type. For a given group, all maps whose type matches the given group are active. So for a tile-group, both the group map and tile-group map are active.

Order is important. Each map is seached in the order they appear in the list (inactive maps being skipped). In general the order should go from most specific groups to most general groups.

Package

stumpwm

Source

bindings.lisp (file)

Special Variable: *groups-map*

The keymap that group related key bindings sit on. It is bound to @kbd{C-t g} by default.

Package

stumpwm

Source

bindings.lisp (file)

Special Variable: *help-map*

Help related bindings hang from this keymap

Package

stumpwm

Source

bindings.lisp (file)

Special Variable: *hidden-window-color*

Color command for hidden windows when using the fmt-head-window-list-hidden-windows formatter. To disable coloring hidden windows, set this to an empty string.

Package

stumpwm

Source

mode-line-formatters.lisp (file)

Special Variable: *honor-window-moves*

Allow windows to move between frames.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *ignore-wm-inc-hints*

Set this to T if you never want windows to resize based on incremental WM_HINTs, like xterm and emacs.

Package

stumpwm

Source

tile-window.lisp (file)

Special Variable: *initializing*

True when starting stumpwm. Use this variable in your rc file to run code that should only be executed once, when stumpwm starts up and loads the rc file.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *input-history-ignore-duplicates*

Do not add a command to the input history if it’s already the first in the list.

Package

stumpwm

Source

input.lisp (file)

Special Variable: *input-map*

This is the keymap containing all input editing key bindings.

Package

stumpwm

Source

input.lisp (file)

Special Variable: *input-window-gravity*

This variable controls where the input window appears. The follow are valid values.
@table @asis
@item :top-left
@item :top-right
@item :bottom-left
@item :bottom-right
@item :center
@item :top
@item :left
@item :right
@item :bottom
@end table

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *internal-loop-hook*

A hook called inside stumpwm’s inner loop.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *key-press-hook*

A hook called whenever a key under *top-map* is pressed.
It is called with 3 argument: the key, the (possibly incomplete) key sequence it is a part of, and command value bound to the key.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *last-command*

Set to the last interactive command run.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *list-hidden-groups*

Controls whether hidden groups are displayed by ’groups’ and ’vgroups’ commands

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *load-path*

A list of paths in which modules can be found, by default it is populated by any asdf systems found in ‘*module-dir*’ set from the configure script when StumpWM was built, or later by the user using ‘add-to-load-path’

Package

stumpwm

Source

module.lisp (file)

Special Variable: *max-last-message-size*

how many previous messages to keep.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *maxsize-border-width*

The width in pixels given to the borders of windows with maxsize or ratio hints.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *maxsize-gravity*
Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *menu-selection-hook*

Called after an item is selected in the windows menu. It is called with 1 argument: the menu.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *message-hook*

A hook called whenever stumpwm displays a message. The hook function is passed any number of arguments. Each argument is a line of text.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *message-window-gravity*

This variable controls where the message window appears. The follow are valid values.
@table @asis
@item :top-left
@item :top-right
@item :bottom-left
@item :bottom-right
@item :center
@item :top
@item :left
@item :right
@item :bottom
@end table

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *message-window-padding*

The number of pixels that pad the text in the message window.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *message-window-timer*

Keep track of the timer that hides the message window.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *message-window-y-padding*

The number of pixels that pad the text in the message window vertically.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *min-frame-height*

The minimum height a frame can be. A frame will not shrink below this height. Splitting will not affect frames if the new frame heights are less than this value.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *min-frame-width*

The minimum width a frame can be. A frame will not shrink below this width. Splitting will not affect frames if the new frame widths are less than this value.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *mode-line-background-color*

The mode line background color.

Package

stumpwm

Source

mode-line.lisp (file)

Special Variable: *mode-line-border-color*

The mode line border color.

Package

stumpwm

Source

mode-line.lisp (file)

Special Variable: *mode-line-border-width*

Specifies how thick the mode line’s border will be. Integer value.

Package

stumpwm

Source

mode-line.lisp (file)

Special Variable: *mode-line-click-hook*

Called whenever the mode-line is clicked. It is called with 4 arguments, the mode-line, the button clicked, and the x and y of the pointer.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *mode-line-foreground-color*

The mode line foreground color.

Package

stumpwm

Source

mode-line.lisp (file)

Special Variable: *mode-line-highlight-template*

The string passed to FORMAT to highlight things in the mode line.

Package

stumpwm

Source

mode-line-formatters.lisp (file)

Special Variable: *mode-line-pad-x*

Specifies the number of padding pixels between the text and the side of the mode line. Integer value.

Package

stumpwm

Source

mode-line.lisp (file)

Special Variable: *mode-line-pad-y*

The number of padding pixels between the modeline text and the top/bottom of the modeline. Integer value.

Package

stumpwm

Source

mode-line.lisp (file)

Special Variable: *mode-line-position*

Specifies where the mode line is displayed. Valid values are :top and :bottom.

Package

stumpwm

Source

mode-line.lisp (file)

Special Variable: *mode-line-timeout*

The modeline updates after each command, when a new window appears or an existing one disappears, and on a timer. This variable controls how many seconds elapse between each update. If this variable is changed while the modeline is visible, you must toggle the modeline to update timer.

Package

stumpwm

Source

mode-line.lisp (file)

Special Variable: *modifiers*

A mapping from modifier type to x11 modifier.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *module-dir*

The location of the contrib modules on your system.

Package

stumpwm

Source

module.lisp (file)

Special Variable: *mouse-focus-policy*

The mouse focus policy decides how the mouse affects input
focus. Possible values are :ignore, :sloppy, and :click. :ignore means stumpwm ignores the mouse. :sloppy means input focus follows the mouse; the window that the mouse is in gets the focus. :click means input focus is transfered to the window you click on.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *new-frame-action*

When a new frame is created, this variable controls what is put in the new frame. Valid values are

@table @code
@item :empty
The frame is left empty

@item :last-window
The last focused window that is not currently visible is placed in the frame. This is the default.
@end table

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *new-frame-hook*

A hook called when a new frame is created. The hook is called with the frame as an argument.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *new-mode-line-hook*

Called whenever the mode-line is created. It is called with argument, the mode-line

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *new-window-hook*

A hook called whenever a window is added to the window list. This includes a genuinely new window as well as bringing a withdrawn window back into the window list.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *new-window-preferred-frame*

This variable controls what frame a new window appears in. It is a
list of preferences. The first preference that is satisfied is
used. Valid list elements are as follows:

@table @code
@item :focused
Choose the focused frame.

@item :last
Choose the last focused frame.

@item :empty
Choose any empty frame.

@item :unfocused
Choose any unfocused frame.
@end table

Alternatively, it can be set to a function that takes one argument, the new window, and returns the preferred frame or a list of the above preferences.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *normal-border-width*

The width in pixels given to the borders of regular windows.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *normal-gravity*
Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *numpad-map*

A keycode to keycode map to re-wire numpads when the numlock key is active

Package

stumpwm

Source

input.lisp (file)

Special Variable: *place-window-hook*

A hook called whenever a window is placed by rule. Arguments are window group and frame

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *post-command-hook*

Called after a command is called. It is called with 1 argument: the command as a symbol.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *pre-command-hook*

Called before a command is called. It is called with 1 argument: the command as a symbol.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *processing-existing-windows*

True when processing pre-existing windows at startup.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *quit-hook*

A hook called when stumpwm quits.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *record-last-msg-override*

assign this to T and messages won’t be recorded. It is recommended this is assigned using LET.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *resize-hides-windows*

Set to T to hide windows during interactive resize

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *resize-increment*

Number of pixels to increment by when interactively resizing frames.

Package

stumpwm

Source

iresize.lisp (file)

Special Variable: *resize-map*

The keymap used for resizing a window

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *restart-hook*

A hook called when stumpwm restarts.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *root-click-focuses-frame*

Set to NIL if you don’t want clicking the root window to focus the frame containing the pointer.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *root-click-hook*

A hook called whenever there is a mouse click on the root window. Called with 4 arguments, the screen containing the root window, the button clicked, and the x and y of the pointer.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *root-map*

This is the keymap by default bound to @kbd{C-t}. It is known as the @dfn{prefix map}.

Package

stumpwm

Source

kmap.lisp (file)

Special Variable: *run-or-raise-all-groups*

When this is @code{T} the @code{run-or-raise} function searches all groups for a running instance. Set it to NIL to search only the current group.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *run-or-raise-all-screens*

When this is @code{T} the @code{run-or-raise} function searches all screens for a running instance. Set it to @code{NIL} to search only the current screen. If @var{*run-or-raise-all-groups*} is @code{NIL} this variable has no effect.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *screen-list*

The list of screens managed by stumpwm.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *screen-mode-line-format*

This variable describes what will be displayed on the modeline for each screen.
Turn it on with the function TOGGLE-MODE-LINE or the mode-line command.

It is a list where each element may be a string, a symbol, or a list.

For a symbol its value is used.

For a list of the form (:eval FORM) FORM is evaluated and the
result is used as a mode line element.

If it is a string the string is printed with the following formatting
options:

@table @asis
@item %h
List the number of the head the mode-line belongs to

@item %w
List all windows in the current group windows using @var{*window-format*}

@item %W
List all windows on the current head of the current group using
@var{*window-format*}

@item %g
List the groups using @var{*group-format*}

@item %n
The current group’s name

@item %u
Using @var{*window-format*}, return a 1 line list of the urgent windows, space seperated.

@item %v
Using @var{*window-format*}, return a 1 line list of the windows, space
separated. The currently focused window is highlighted with
fmt-highlight. Any non-visible windows are colored the
*hidden-window-color*.

@item %d
Using @var{*time-modeline-string*}, print the time.

@end table

A number of modules have been written that extends the possible
formatting strings. See their documentation for details.

Package

stumpwm

Source

mode-line.lisp (file)

Special Variable: *screen-mode-line-formatters*

An alist containing format character format function pairs for formatting screen mode-lines. functions are passed the mode line.

Package

stumpwm

Source

mode-line.lisp (file)

Special Variable: *selection-notify-hook*

Called after a :selection-notify event is processed. It is called with 1 argument: the selection as a string.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *shell-program*

The shell program used by @code{run-shell-command}.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *split-frame-hook*

A hook called when a frame is split. the hook is called with the old frame (window is removed), and two new frames as arguments.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *start-hook*

A hook called when stumpwm starts.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *startup-message*

This is the message StumpWM displays when it starts. Set it to NIL to suppress.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *suppress-abort-messages*

Suppress abort message when non-nil.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *suppress-deny-messages*

For complete focus on the task at hand, set this to @code{T} and no raise/map denial messages will be seen.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *suppress-echo-timeout*

Assign this T and messages will not time out. It is recommended this is assigned using LET.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *suppress-frame-indicator*

Set this to T if you never want to see the frame indicator.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *suppress-window-placement-indicator*

Set to T if you never want to see messages that windows were placed according to rules.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *text-color*

The color of message text.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *time-format-string-default*

The default value for ‘echo-date’, (e.g, Thu Mar 3 2005 23:05:25).

Package

stumpwm

Source

time.lisp (file)

Special Variable: *time-modeline-string*

The default time value to pass to the modeline.

Package

stumpwm

Source

time.lisp (file)

Special Variable: *timeout-frame-indicator-wait*

The amount of time a frame indicator timeout takes.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *timeout-wait*

Specifies, in seconds, how long a message will appear for. This must be an integer.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *top-level-error-action*

If an error is encountered at the top level, in STUMPWM-INTERNAL-LOOP, then this variable decides what action shall be taken. By default it will print a message to the screen and to *standard-output*.

Valid values are :message, :break, :abort. :break will break to the debugger. This can be problematic because if the user hit’s a mapped key the ENTIRE keyboard will be frozen and you will have to login remotely to regain control. :abort quits stumpwm.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *top-level-error-hook*

Called when a top level error occurs. Note that this hook is run before the error is dealt with according to *top-level-error-action*.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *top-map*

The top level key map. This is where you’ll find the binding for the @dfn{prefix map}.

Package

stumpwm

Source

kmap.lisp (file)

Special Variable: *toplevel-io*

Top-level I/O loop

Package

stumpwm

Source

timers.lisp (file)

Special Variable: *transient-border-width*

The width in pixels given to the borders of transient or pop-up windows.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *transient-gravity*
Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *urgent-window-hook*

A hook called whenever a window sets the property indicating that it demands the user’s attention

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *version*
Package

stumpwm

Source

version.lisp (file)

Special Variable: *window-border-style*

This controls the appearance of the border around windows. valid values are:
@table @var
@item :thick
All space within the frame not used by the window is dedicated to the border.

@item :thin
Only the border width as controlled by *maxsize-border-width* *normal-border-width* and *transient-border-width* is used as the border. The rest is filled with the unfocus color.

@item :tight
The same as :thin but the border surrounds the window and the wasted space within the frame is not obscured, revealing the background.

@item :none
Like :tight but no border is ever visible.
@end table

After changing this variable you may need to call sync-all-frame-windows to see the change.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *window-events*

The events to listen for on managed windows.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *window-format*

This variable decides how the window list is formatted. It is a string with the following formatting options:

@table @asis
@item %n
Substitutes the window’s number translated via *window-number-map*, if there are more windows than *window-number-map* then will use the window-number. @item %s
Substitute the window’s status. * means current window, + means last window, and - means any other window.
@item %t
Substitute the window’s name.
@item %c
Substitute the window’s class.
@item %i
Substitute the window’s resource ID.
@item %m
Draw a # if the window is marked.
@end table

Note, a prefix number can be used to crop the argument to a specified size. For instance, @samp{%20t} crops the window’s title to 20 characters.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *window-formatters*

an alist containing format character format function pairs for formatting window lists.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *window-name-source*

This variable controls what is used for the window’s name. The default is @code{:title}.

@table @code
@item :title
Use the window’s title given to it by its owner.

@item :class
Use the window’s resource class.

@item :resource-name
Use the window’s resource name.
@end table

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *window-parent-events*

The events to listen for on managed windows’ parents.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *window-placement-rules*

List of rules governing window placement. Use define-frame-preference to add rules

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *x-selection*

This is a plist of stumpwm’s current selections. The different properties are generally set when killing text in the input bar.

Package

stumpwm

Source

primitives.lisp (file)

Special Variable: *xwin-to-window*

Hash table for looking up windows quickly.

Package

stumpwm

Source

primitives.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Macros

Macro: act-on-matching-windows (VAR &optional RANGE) CONDITION &rest CODE

Run code on all windows matching condition; var is the shared lambda variable. Range can be any screen/group/frame or :screen/:group/:frame for the current instance. Condition is just the code to evaluate.

Package

stumpwm

Source

wse.lisp (file)

Macro: add-hook HOOK FN

Add @var{function} to the @var{hook-variable}. For example, to display a message whenever you switch frames:

@example
(defun my-rad-fn (to-frame from-frame)
(stumpwm:message "Mustard!"))

(stumpwm:add-hook stumpwm:*focus-frame-hook* ’my-rad-fn) @end example

Package

stumpwm

Source

primitives.lisp (file)

Macro: defcommand NAME (&rest ARGS) (&rest INTERACTIVE-ARGS) &body BODY

Create a command function and store its interactive hints in
*command-hash*. The local variable %interactivep% can be used to check
if the command was called interactively. If it is non-NIL then it was
called from a keybinding or from the colon command.

The NAME argument can be a string, or a list of two symbols. If the
latter, the first symbol names the command, and the second indicates
the type of group under which this command will be usable. Currently,
tile-group and floating-group are the two possible values.

INTERACTIVE-ARGS is a list of the following form: ((TYPE PROMPT) (TYPE PROMPT) ...)

each element in INTERACTIVE-ARGS declares the type and prompt for the
command’s arguments.

TYPE can be one of the following:

@table @var
@item :y-or-n
A yes or no question returning T or NIL.
@item :variable
A lisp variable
@item :function
A lisp function
@item :command
A stumpwm command as a string.
@item :key-seq
A key sequence starting from *TOP-MAP*
@item :window-number
An existing window number
@item :number
An integer number
@item :string
A string
@item :key
A single key chord
@item :window-name
An existing window’s name
@item :direction
A direction symbol. One of :UP :DOWN :LEFT :RIGHT
@item :gravity
A gravity symbol. One of :center :top :right :bottom :left :top-right :top-left :bottom-right :bottom-left @item :group
An existing group
@item :frame
A frame
@item :shell
A shell command
@item :rest
The rest of the input yet to be parsed.
@item :module
An existing stumpwm module
@end table

Note that new argument types can be created with DEFINE-STUMPWM-TYPE.

PROMPT can be string. In this case, if the corresponding argument is
missing from an interactive call, stumpwm will use prompt for its
value using PROMPT. If PROMPT is missing or nil, then the argument is
considered an optional interactive argument and is not prompted for
when missing.

Alternatively, instead of specifying nil for PROMPT or leaving it
out, an element can just be the argument type.

Package

stumpwm

Source

command.lisp (file)

Macro: defcommand-alias ALIAS ORIGINAL

Since interactive commands are functions and can conflict with package symbols. But for backwards compatibility this macro creates an alias name for the command that is only accessible interactively.

Package

stumpwm

Source

command.lisp (file)

Macro: define-frame-preference TARGET-GROUP &rest FRAME-RULES

Create a rule that matches windows and automatically places them in
a specified group and frame. Each frame rule is a lambda list:
@example
(frame-number raise lock &key create restore dump-name class instance type role title) @end example

@table @var
@item frame-number
The frame number to send matching windows to

@item raise
When non-nil, raise and focus the window in its frame

@item lock
When this is nil, this rule will only match when the current group
matches @var{target-group}. When non-nil, this rule matches regardless
of the group and the window is sent to @var{target-group}. If
@var{lock} and @var{raise} are both non-nil, then stumpwm will jump to
the specified group and focus the matched window.

@item create
When non-NIL the group is created and eventually restored when the value of
create is a group dump filename in *DATA-DIR*. Defaults to NIL.

@item restore
When non-NIL the group is restored even if it already exists. This arg should
be set to the dump filename to use for forced restore. Defaults to NIL

@item class
The window’s class must match @var{class}.

@item instance
The window’s instance/resource name must match @var{instance}.

@item type
The window’s type must match @var{type}.

@item role
The window’s role must match @var{role}.

@item title
The window’s title must match @var{title}.
@end table

Package

stumpwm

Source

primitives.lisp (file)

Macro: define-interactive-keymap NAME (&key ON-ENTER ON-EXIT ABORT-IF) &body KEY-BINDINGS

Declare an interactive keymap mode. This can be used for developing interactive modes or command trees, such as @command{iresize}.

The NAME argument follows the same convention as in @command{defcommand}.

ON-ENTER and ON-EXIT are optional functions to run before and after the interactive keymap mode, respectively. If ABORT-IF is defined, the interactive keymap will only be activated if calling ABORT-IF returns true.

KEY-BINDINGS is a list of the following form: ((KEY COMMAND) (KEY COMMAND) ...)

Each element in KEY-BINDINGS declares a command inside the interactive keymap. Be aware that these commands won’t require a prefix to run.

Package

stumpwm

Source

interactive-keymap.lisp (file)

Macro: define-stumpwm-command NAME (&rest ARGS) &body BODY

Deprecated. use ‘defcommand’ instead.

Package

stumpwm

Source

command.lisp (file)

Macro: define-stumpwm-type TYPE (INPUT PROMPT) &body BODY

Create a new type that can be used for command arguments. @var{type} can be any symbol.

When @var{body} is evaluated @var{input} is bound to the
argument-line. It is passed to @code{argument-pop},
@code{argument-pop-rest}, etc. @var{prompt} is the prompt that should
be used when prompting the user for the argument.

@example
(define-stumpwm-type :symbol (input prompt)
(or (find-symbol (string-upcase
(or (argument-pop input)
;; Whitespace messes up find-symbol.
(string-trim " "
(completing-read (current-screen)
prompt
;; find all symbols in the
;; stumpwm package.
(let (acc)
(do-symbols (s (find-package "STUMPWM"))
(push (string-downcase (symbol-name s)) acc))
acc)))
(throw ’error "Abort.")))
"STUMPWM")
(throw ’error "Symbol not in STUMPWM package")))

(defcommand "symbol" (sym) ((:symbol "Pick a symbol: "))
(message "~a" (with-output-to-string (s)
(describe sym s))))
@end example

This code creates a new type called @code{:symbol} which finds the
symbol in the stumpwm package. The command @code{symbol} uses it and
then describes the symbol.

Package

stumpwm

Source

command.lisp (file)

Macro: define-window-slot ATTR

Create a new window attribute and corresponding get/set functions.

Package

stumpwm

Source

window.lisp (file)

Macro: defprogram-shortcut NAME &key COMMAND PROPS MAP KEY PULLP PULL-NAME PULL-KEY

Define a command and key binding to run or raise a program. If @var{pullp} is set, also define a command and key binding to run or pull the program.

Package

stumpwm

Source

user.lisp (file)

Macro: move-to-head LIST ELT

Move the specified element in in LIST to the head of the list.

Package

stumpwm

Source

primitives.lisp (file)

Macro: remove-all-hooks HOOK

Remove all functions from a hook

Package

stumpwm

Source

primitives.lisp (file)

Macro: remove-hook HOOK FN

Remove the specified function from the hook.

Package

stumpwm

Source

primitives.lisp (file)

Macro: save-frame-excursion &body BODY

Execute body and then restore the current frame.

Package

stumpwm

Source

tile-group.lisp (file)

Macro: with-data-file (S FILE &rest KEYS &key IF-EXISTS &allow-other-keys) &body BODY

Open a file in StumpWM’s data directory. keyword arguments are sent directly to OPEN. Note that IF-EXISTS defaults to :supersede, instead of :error.

Package

stumpwm

Source

primitives.lisp (file)

Macro: with-restarts-menu &body BODY

Execute BODY. If an error occurs allow the user to pick a restart from a menu of possible restarts. If a restart is not chosen, resignal the error.

Package

stumpwm

Source

primitives.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.4 Functions

Function: add-group SCREEN NAME &key BACKGROUND TYPE

Create a new group in SCREEN with the supplied name. group names starting with a . are considered hidden groups. Hidden groups are skipped by gprev and gnext and do not show up in the group listings (unless *list-hidden-groups* is T). They also use negative numbers.

Package

stumpwm

Source

group.lisp (file)

Function: add-screen-mode-line-formatter CHARACTER FMT-FUN

Add a format function to a format character (or overwrite an existing one).

Package

stumpwm

Source

mode-line.lisp (file)

Function: add-to-load-path PATH

If ‘PATH’ is not in ‘*LOAD-PATH*’ add it, check if ‘PATH’ contains an asdf system, and if so add it to the central registry

Package

stumpwm

Source

module.lisp (file)

Function: adjust-color COLOR AMT
Package

stumpwm

Source

color.lisp (file)

Function: argument-line-end-p INPUT

Return T if we’re outta arguments from the input line.

Package

stumpwm

Source

command.lisp (file)

Function: argument-pop INPUT

Pop the next argument off.

Package

stumpwm

Source

command.lisp (file)

Function: argument-pop-or-read INPUT PROMPT &optional COMPLETIONS
Package

stumpwm

Source

command.lisp (file)

Function: argument-pop-rest INPUT

Return the remainder of the argument text.

Package

stumpwm

Source

command.lisp (file)

Function: balance-frames ()

Make frames the same height or width in the current frame’s subtree.

Package

stumpwm

Source

tile-group.lisp (file)

Function: banish &optional WHERE

Warp the mouse the lower right corner of the current head.

Package

stumpwm

Source

user.lisp (file)

Function: bar PERCENT WIDTH FULL EMPTY

Return a progress bar string of WIDTH characters composed of characters FULL and EMPTY at PERCENT complete.

Package

stumpwm

Source

mode-line-formatters.lisp (file)

Function: bar-zone-color AMOUNT &optional MED HI CRIT REVERSE

Return a color command based on the magnitude of the argument. If the limits for the levels aren’t specified, they default to sensible values for a percentage. With reverse, lower numbers are more critical.

Package

stumpwm

Source

mode-line-formatters.lisp (file)

Function: bind KEY COMMAND

Hang a key binding off the escape key.

Package

stumpwm

Source

bindings.lisp (file)

Function: call-in-main-thread FN
Package

stumpwm

Source

stumpwm.lisp (file)

Function: cancel-timer TIMER

Remove TIMER from the list of active timers.

Package

stumpwm

Source

timers.lisp (file)

Function: clear-window-marks &optional GROUP WINDOWS

Clear all marks in the current group.

Package

stumpwm

Source

window.lisp (file)

Function: clear-window-placement-rules ()

Clear all window placement rules.

Package

stumpwm

Source

primitives.lisp (file)

Function: colon &optional INITIAL-INPUT

Read a command from the user. @var{initial-text} is optional. When supplied, the text will appear in the prompt.

String arguments with spaces may be passed to the command by delimiting them with double quotes. A backslash can be used to escape double quotes or backslashes inside the string. This does not apply to commands taking :REST or :SHELL type arguments.

Package

stumpwm

Source

command.lisp (file)

Function: command-mode ()

Command mode allows you to type StumpWM commands without needing the @key{C-t} prefix. Keys not bound in StumpWM will still get sent to the current window. To exit command mode, type @key{C-g}.

Package

stumpwm

Source

bindings.lisp (file)

Function: command-mode-end-message ()
Package

stumpwm

Source

primitives.lisp (file)

Function: command-mode-start-message ()
Package

stumpwm

Source

primitives.lisp (file)

Function: commands ()

List all available commands.

Package

stumpwm

Source

help.lisp (file)

Function: completing-read SCREEN PROMPT COMPLETIONS &key INITIAL-INPUT REQUIRE-MATCH

Read a line of input through stumpwm and return it with TAB completion. Completions can be a list, an fbound symbol, or a function. If its an fbound symbol or a function then that function is passed the substring to complete on and is expected to return a list of matches. If require-match argument is non-nil then the input must match with an element of the completions.

Package

stumpwm

Source

input.lisp (file)

Function: concat &rest STRINGS
Package

stumpwm

Source

primitives.lisp (file)

Function: copy-last-message ()

Copy the last message displayed into the X selection

Package

stumpwm

Source

selection.lisp (file)

Function: copy-unhandled-error ()

When an unhandled error occurs, StumpWM restarts and attempts to continue. Unhandled errors should be reported to the mailing list so they can be fixed. Use this command to copy the unhandled error and backtrace to the X11 selection so you can paste in your email when submitting the bug report.

Package

stumpwm

Source

user.lisp (file)

Function: curframe ()

Display a window indicating which frame is focused.

Package

stumpwm

Source

tile-group.lisp (file)

Function: current-group &optional SCREEN

Return the current group for the current screen, unless otherwise specified.

Package

stumpwm

Source

group.lisp (file)

Function: current-head &optional GROUP
Package

stumpwm

Source

head.lisp (file)

Function: current-screen ()

Return the current screen.

Package

stumpwm

Source

screen.lisp (file)

Function: current-window ()

Return the current window on the current screen

Package

stumpwm

Source

screen.lisp (file)

Function: data-dir-file NAME &optional TYPE

Return a pathname inside stumpwm’s data dir with the specified name and type

Package

stumpwm

Source

primitives.lisp (file)

Function: ddump-current INSTANCE
Function: (setf ddump-current) VALUE INSTANCE
Package

stumpwm

Source

fdump.lisp (file)

Function: ddump-screens INSTANCE
Function: (setf ddump-screens) VALUE INSTANCE
Package

stumpwm

Source

fdump.lisp (file)

Function: define-key MAP KEY COMMAND

Add a keybinding mapping for the key, @var{key}, to the command, @var{command}, in the specified keymap. If @var{command} is nil, remove an exising binding. For example,

@example
(stumpwm:define-key stumpwm:*root-map* (stumpwm:kbd "C-z") "echo Zzzzz...") @end example

Now when you type C-t C-z, you’ll see the text “Zzzzz...” pop up.

Package

stumpwm

Source

kmap.lisp (file)

Function: delete-window &optional WINDOW

Delete a window. By default delete the current window. This is a request sent to the window. The window’s client may decide not to grant the request or may not be able to if it is unresponsive.

Package

stumpwm

Source

window.lisp (file)

Function: describe-command COM

Print the online help associated with the specified command.

Package

stumpwm

Source

help.lisp (file)

Function: describe-function FN

Print the online help associated with the specified function.

Package

stumpwm

Source

help.lisp (file)

Function: describe-key KEYS

Either interactively type the key sequence or supply it as text. This command prints the command bound to the specified key sequence.

Package

stumpwm

Source

help.lisp (file)

Function: describe-variable VAR

Print the online help associated with the specified variable.

Package

stumpwm

Source

help.lisp (file)

Function: dformat LEVEL FMT &rest ARGS
Package

stumpwm

Source

primitives.lisp (file)

Function: dump-desktop-to-file FILE

Dumps the frames of all groups of all screens to the named file

Package

stumpwm

Source

fdump.lisp (file)

Function: dump-group-to-file FILE

Dumps the frames of the current group of the current screen to the named file.

Package

stumpwm

Source

fdump.lisp (file)

Function: dump-screen-to-file FILE

Dumps the frames of all groups of the current screen to the named file

Package

stumpwm

Source

fdump.lisp (file)

Function: dump-window-placement-rules FILE

Dump *window-placement-rules* to FILE.

Package

stumpwm

Source

tile-window.lisp (file)

Function: echo STRING

Display @var{string} in the message bar.

Package

stumpwm

Source

user.lisp (file)

Function: echo-date ()

Display the date and time.

Package

stumpwm

Source

time.lisp (file)

Function: echo-frame-windows &optional FMT

Display a list of all the windows in the current frame.

Package

stumpwm

Source

tile-window.lisp (file)

Function: echo-string SCREEN MSG

Display @var{string} in the message bar on @var{screen}. You almost always want to use @command{message}.

Package

stumpwm

Source

message-window.lisp (file)

Function: echo-windows &optional FMT GROUP WINDOWS

Display a list of managed windows. The optional argument @var{fmt} can be used to override the default window formatting.

Package

stumpwm

Source

window.lisp (file)

Function: emacs ()

Start emacs unless it is already running, in which case focus it.

Package

stumpwm

Source

user.lisp (file)

Function: enable-mode-line SCREEN HEAD STATE &optional FORMAT

Set the state of SCREEN’s HEAD’s mode-line. If STATE is T and FORMAT is specified, then the mode-line’s format is updated.

Package

stumpwm

Source

mode-line.lisp (file)

Function: err FMT &rest ARGS

run FMT and ARGS through format and echo the result to the current screen along with a backtrace. For careful study, the message does not time out.

Package

stumpwm

Source

message-window.lisp (file)

Function: eval-line CMD

Evaluate the s-expression and display the result(s).

Package

stumpwm

Source

user.lisp (file)

Function: exchange-direction DIR &optional WIN

Exchange the current window (by default) with the top window of the frame in specified direction. (bound to @kbd{C-t x} by default) @table @asis
@item up
@item down
@item left
@item right
@end table

Package

stumpwm

Source

tile-window.lisp (file)

Function: exit-iresize ()
Package

stumpwm

Source

iresize.lisp (file)

Function: fclear ()

Clear the current frame.

Package

stumpwm

Source

tile-group.lisp (file)

Function: fdump-current INSTANCE
Function: (setf fdump-current) VALUE INSTANCE
Package

stumpwm

Source

fdump.lisp (file)

Function: fdump-height INSTANCE
Function: (setf fdump-height) VALUE INSTANCE
Package

stumpwm

Source

fdump.lisp (file)

Function: fdump-number INSTANCE
Function: (setf fdump-number) VALUE INSTANCE
Package

stumpwm

Source

fdump.lisp (file)

Function: fdump-width INSTANCE
Function: (setf fdump-width) VALUE INSTANCE
Package

stumpwm

Source

fdump.lisp (file)

Function: fdump-windows INSTANCE
Function: (setf fdump-windows) VALUE INSTANCE
Package

stumpwm

Source

fdump.lisp (file)

Function: fdump-x INSTANCE
Function: (setf fdump-x) VALUE INSTANCE
Package

stumpwm

Source

fdump.lisp (file)

Function: fdump-y INSTANCE
Function: (setf fdump-y) VALUE INSTANCE
Package

stumpwm

Source

fdump.lisp (file)

Function: find-module NAME
Package

stumpwm

Source

module.lisp (file)

Function: flatten-floats ()

Transform all floating windows in this group to tiled windows. Puts all tiled windows in the first frame of the group.

Package

stumpwm

Source

tile-group.lisp (file)

Function: float-this ()

Transforms a tile-window into a float-window

Package

stumpwm

Source

tile-group.lisp (file)

Function: fnext ()

Cycle through the frame tree to the next frame.

Package

stumpwm

Source

tile-group.lisp (file)

Function: forget ()

Forget the window placement rule that matches the current window.

Package

stumpwm

Source

tile-window.lisp (file)

Function: format-expand FMT-ALIST FMT &rest ARGS
Package

stumpwm

Source

primitives.lisp (file)

Function: fother ()

Jump to the last frame that had focus.

Package

stumpwm

Source

tile-group.lisp (file)

Function: frame-height INSTANCE
Function: (setf frame-height) VALUE INSTANCE
Package

stumpwm

Source

primitives.lisp (file)

Function: frame-width INSTANCE
Function: (setf frame-width) VALUE INSTANCE
Package

stumpwm

Source

primitives.lisp (file)

Function: frame-windowlist &optional FMT

Allow the user to select a window from the list of windows in the current frame and focus the selected window. The optional argument @var{fmt} can be specified to override the default window formatting.

Package

stumpwm

Source

tile-window.lisp (file)

Function: frame-x INSTANCE
Function: (setf frame-x) VALUE INSTANCE
Package

stumpwm

Source

primitives.lisp (file)

Function: frame-y INSTANCE
Function: (setf frame-y) VALUE INSTANCE
Package

stumpwm

Source

primitives.lisp (file)

Function: fselect FRAME-NUMBER

Display a number in the corner of each frame and let the user to select a frame by number. If @var{frame-number} is specified, just jump to that frame.

Package

stumpwm

Source

tile-group.lisp (file)

Function: fullscreen ()

Toggle the fullscreen mode of the current widnow. Use this for clients with broken (non-NETWM) fullscreen implementations, such as any program using SDL.

Package

stumpwm

Source

tile-window.lisp (file)

Function: gdump-current INSTANCE
Function: (setf gdump-current) VALUE INSTANCE
Package

stumpwm

Source

fdump.lisp (file)

Function: gdump-name INSTANCE
Function: (setf gdump-name) VALUE INSTANCE
Package

stumpwm

Source

fdump.lisp (file)

Function: gdump-number INSTANCE
Function: (setf gdump-number) VALUE INSTANCE
Package

stumpwm

Source

fdump.lisp (file)

Function: gdump-tree INSTANCE
Function: (setf gdump-tree) VALUE INSTANCE
Package

stumpwm

Source

fdump.lisp (file)

Function: get-x-selection &optional TIMEOUT SELECTION

Return the x selection no matter what client own it.

Package

stumpwm

Source

selection.lisp (file)

Function: getenv VAR

Return the value of the environment variable.

Package

stumpwm

Source

wrappers.lisp (file)

Writer

(setf getenv) (function)

Function: (setf getenv) VAL VAR

Set the value of the environment variable, @var{var} to @var{val}.

Package

stumpwm

Source

wrappers.lisp (file)

Reader

getenv (function)

Function: getsel ()

Echo the X selection.

Package

stumpwm

Source

selection.lisp (file)

Function: gkill ()

Kill the current group. All windows in the current group are migrated to the next group.

Package

stumpwm

Source

group.lisp (file)

Function: gmerge FROM

Merge @var{from} into the current group. @var{from} is not deleted.

Package

stumpwm

Source

group.lisp (file)

Function: gmove TO-GROUP

Move the current window to the specified group.

Package

stumpwm

Source

group.lisp (file)

Function: gmove-and-follow TO-GROUP

Move the current window to the specified group, and switch to it.

Package

stumpwm

Source

group.lisp (file)

Function: gmove-marked TO-GROUP

move the marked windows to the specified group.

Package

stumpwm

Source

group.lisp (file)

Function: gnew NAME

Create a new group with the specified name. The new group becomes the current group. If @var{name} begins with a dot (“.”) the group new
group will be created in the hidden state. Hidden groups have group numbers less than one and are invisible to from gprev, gnext, and, optionally, groups and vgroups commands.

Package

stumpwm

Source

group.lisp (file)

Function: gnew-float NAME

Create a floating window group with the specified name and switch to it.

Package

stumpwm

Source

floating-group.lisp (file)

Function: gnewbg NAME

Create a new group but do not switch to it.

Package

stumpwm

Source

group.lisp (file)

Function: gnewbg-float NAME

Create a floating window group with the specified name, but do not switch to it.

Package

stumpwm

Source

floating-group.lisp (file)

Function: gnext ()

Cycle to the next group in the group list.

Package

stumpwm

Source

group.lisp (file)

Function: gnext-with-window ()

Cycle to the next group in the group list, taking the current window along.

Package

stumpwm

Source

group.lisp (file)

Function: gother ()

Go back to the last group.

Package

stumpwm

Source

group.lisp (file)

Function: gprev ()

Cycle to the previous group in the group list.

Package

stumpwm

Source

group.lisp (file)

Function: gprev-with-window ()

Cycle to the previous group in the group list, taking the current window along.

Package

stumpwm

Source

group.lisp (file)

Function: grab-pointer SCREEN

Grab the pointer and set the pointer shape.

Package

stumpwm

Source

core.lisp (file)

Function: gravity GRAVITY

Set a window’s gravity within its frame. Gravity controls where the window will appear in a frame if it is smaller that the
frame. Possible values are:

@table @var
@item center
@item top
@item right
@item bottom
@item left
@item top-right
@item top-left
@item bottom-right
@item bottom-left
@end table

Package

stumpwm

Source

tile-window.lisp (file)

Function: grename NAME

Rename the current group.

Package

stumpwm

Source

group.lisp (file)

Function: grouplist &optional FMT

Allow the user to select a group from a list, like windowlist but for groups

Package

stumpwm

Source

group.lisp (file)

Function: groups &optional FMT

Display the list of groups with their number and
name. @var{*group-format*} controls the formatting. The optional argument @var{fmt} can be used to override the default group formatting.

Package

stumpwm

Source

group.lisp (file)

Function: gselect TO-GROUP

Select the first group that starts with
@var{substring}. @var{substring} can also be a number, in which case @command{gselect} selects the group with that number.

Package

stumpwm

Source

group.lisp (file)

Function: hsplit &optional RATIO

Split the current frame into 2 side-by-side frames.

Package

stumpwm

Source

tile-group.lisp (file)

Function: hsplit-equally AMT

Split current frame in n rows of equal size.

Package

stumpwm

Source

tile-group.lisp (file)

Function: idle-time SCREEN

Returns the time in seconds since idle according to the root window of the ‘screen’.

Package

stumpwm

Source

timers.lisp (file)

Function: in-main-thread-p ()
Package

stumpwm

Source

stumpwm.lisp (file)

Function: info &optional FMT

Display information about the current window.

Package

stumpwm

Source

window.lisp (file)

Function: init-load-path PATH

Recursively builds a list of paths that contain modules. This is called each time StumpWM starts with the argument ‘*module-dir’

Package

stumpwm

Source

module.lisp (file)

Function: input-delete-region INPUT START END

Delete the region between start and end in the input string

Package

stumpwm

Source

input.lisp (file)

Function: input-goto-char INPUT POINT

Move the cursor to the specified point in the string

Package

stumpwm

Source

input.lisp (file)

Function: input-insert-char INPUT CHAR

Insert @var{char} into the input at the current
position. @var{input} must be of type @var{input-line}. Input functions are passed this structure as their first argument.

Package

stumpwm

Source

input.lisp (file)

Function: input-insert-string INPUT STRING

Insert @var{string} into the input at the current position. @var{input} must be of type @var{input-line}. Input functions are passed this structure as their first argument.

Package

stumpwm

Source

input.lisp (file)

Function: input-point INPUT

Return the position of the cursor.

Package

stumpwm

Source

input.lisp (file)

Function: input-substring INPUT START END

Return a the substring in INPUT bounded by START and END.

Package

stumpwm

Source

input.lisp (file)

Function: input-validate-region INPUT START END

Return a value pair of numbers where the first number is < the second and neither excedes the bounds of the input string.

Package

stumpwm

Source

input.lisp (file)

Function: iresize ()

Starts interactive command "IRESIZE"

Package

stumpwm

Source

iresize.lisp (file)

Function: kbd KEYS

This compiles a key string into a key structure used by ‘define-key’, ‘undefine-key’, ‘set-prefix-key’ and others.

Package

stumpwm

Source

kmap.lisp (file)

Function: keyboard-quit ()
Package

stumpwm

Source

user.lisp (file)

Function: kill-window &optional WINDOW

Tell X to disconnect the client that owns the specified window. Default to the current window. if @command{delete-window} didn’t work, try this.

Package

stumpwm

Source

window.lisp (file)

Function: lastmsg ()

Display the last message. If the previous command was lastmsg, then continue cycling back through the message history.

Package

stumpwm

Source

message-window.lisp (file)

Function: list-directory DIRNAME

Returns a fresh list of pathnames corresponding to the truenames of all files within the directory named by the non-wild pathname designator DIRNAME. The pathnames of sub-directories are returned in directory form - see PATHNAME-AS-DIRECTORY.

Package

stumpwm

Source

pathnames.lisp (file)

Function: list-modules ()

Return a list of the available modules.

Package

stumpwm

Source

module.lisp (file)

Function: list-window-properties ()

List all the properties of the current window and their values, like xprop.

Package

stumpwm

Source

user.lisp (file)

Function: load-module NAME

Loads the contributed module with the given NAME.

Package

stumpwm

Source

module.lisp (file)

Function: loadrc ()

Reload the @file{~/.stumpwmrc} file.

Package

stumpwm

Source

user.lisp (file)

Function: lookup-color SCREEN COLOR
Package

stumpwm

Source

color.lisp (file)

Function: lookup-command KEYMAP COMMAND

Return a list of keys that are bound to command

Package

stumpwm

Source

kmap.lisp (file)

Function: lookup-key KEYMAP KEY &optional ACCEPT-DEFAULT
Package

stumpwm

Source

kmap.lisp (file)

Function: make-sparse-keymap ()

Create an empty keymap. If you want to create a new list of bindings
in the key binding tree, this is where you start. To hang frame
related bindings off @kbd{C-t C-f} one might use the following code:

@example
(defvar *my-frame-bindings*
(let ((m (stumpwm:make-sparse-keymap)))
(stumpwm:define-key m (stumpwm:kbd "f") "curframe")
(stumpwm:define-key m (stumpwm:kbd "M-b") "move-focus left")
m ; NOTE: this is important
))

(stumpwm:define-key stumpwm:*root-map* (stumpwm:kbd "C-f") ’*my-frame-bindings*) @end example

Package

stumpwm

Source

kmap.lisp (file)

Function: mark ()

Toggle the current window’s mark.

Package

stumpwm

Source

window.lisp (file)

Function: menu-state-selected INSTANCE
Function: (setf menu-state-selected) VALUE INSTANCE
Package

stumpwm

Source

menu.lisp (file)

Function: menu-state-table INSTANCE
Function: (setf menu-state-table) VALUE INSTANCE
Package

stumpwm

Source

menu.lisp (file)

Function: message FMT &rest ARGS

run FMT and ARGS through ‘format’ and echo the result to the current screen.

Package

stumpwm

Source

message-window.lisp (file)

Function: meta KEY

Send a fake key to the current window. @var{key} is a typical StumpWM key, like @kbd{C-M-o}.

Package

stumpwm

Source

user.lisp (file)

Function: mode-line ()

A command to toggle the mode line visibility.

Package

stumpwm

Source

mode-line.lisp (file)

Function: modifiers ()

List the modifiers stumpwm recognizes and what MOD-X it thinks they’re on.

Package

stumpwm

Source

help.lisp (file)

Function: modifiers-alt INSTANCE
Function: (setf modifiers-alt) VALUE INSTANCE
Package

stumpwm

Source

primitives.lisp (file)

Function: modifiers-altgr INSTANCE
Function: (setf modifiers-altgr) VALUE INSTANCE
Package

stumpwm

Source

primitives.lisp (file)

Function: modifiers-hyper INSTANCE
Function: (setf modifiers-hyper) VALUE INSTANCE
Package

stumpwm

Source

primitives.lisp (file)

Function: modifiers-meta INSTANCE
Function: (setf modifiers-meta) VALUE INSTANCE
Package

stumpwm

Source

primitives.lisp (file)

Function: modifiers-numlock INSTANCE
Function: (setf modifiers-numlock) VALUE INSTANCE
Package

stumpwm

Source

primitives.lisp (file)

Function: modifiers-p OBJECT
Package

stumpwm

Source

primitives.lisp (file)

Function: modifiers-super INSTANCE
Function: (setf modifiers-super) VALUE INSTANCE
Package

stumpwm

Source

primitives.lisp (file)

Function: move-focus DIR

Focus the frame adjacent to the current one in the specified direction. The following are valid directions:
@table @asis
@item up
@item down
@item left
@item right
@end table

Package

stumpwm

Source

tile-group.lisp (file)

Function: move-window DIR

Just like move-focus except that the current is pulled along.

Package

stumpwm

Source

tile-group.lisp (file)

Function: move-window-to-group WINDOW TO-GROUP
Package

stumpwm

Source

group.lisp (file)

Function: move-windows-to-group WINDOWS &optional ARGGROUP

Move all windows from the list to the group

Package

stumpwm

Source

wse.lisp (file)

Function: next ()

Go to the next window in the window list.

Package

stumpwm

Source

tile-window.lisp (file)

Function: next-in-frame ()

Go to the next window in the current frame.

Package

stumpwm

Source

tile-group.lisp (file)

Function: next-urgent ()

Jump to the next urgent window

Package

stumpwm

Source

window.lisp (file)

Function: no-focus GROUP LAST-WIN

don’t focus any window but still read keyboard events.

Package

stumpwm

Source

window.lisp (file)

Function: only ()

Delete all the frames but the current one and grow it to take up the entire head.

Package

stumpwm

Source

tile-group.lisp (file)

Function: other-in-frame ()

Go to the last accessed window in the current frame.

Package

stumpwm

Source

tile-group.lisp (file)

Function: other-window &optional GROUP

Switch to the window last focused.

Package

stumpwm

Source

window.lisp (file)

Function: pathname-as-directory PATHSPEC

Converts the non-wild pathname designator PATHSPEC to directory form.

Package

stumpwm

Source

pathnames.lisp (file)

Function: pathname-is-executable-p PATHNAME

Return T if the pathname describes an executable file.

Package

stumpwm

Source

wrappers.lisp (file)

Function: place-existing-windows ()

Re-arrange existing windows according to placement rules.

Package

stumpwm

Source

fdump.lisp (file)

Function: prev ()

Go to the previous window in the window list.

Package

stumpwm

Source

tile-window.lisp (file)

Function: prev-in-frame ()

Go to the previous window in the current frame.

Package

stumpwm

Source

tile-group.lisp (file)

Function: programs-in-path &optional FULL-PATH PATH

Return a list of programs in the path. If @var{full-path} is @var{t} then return the full path, otherwise just return the filename. @var{path} is by default the @env{PATH} evironment variable but can be specified. It should be a string containing each directory seperated by a colon.

Package

stumpwm

Source

user.lisp (file)

Function: pull-from-windowlist ()

Pulls a window selected from the list of windows. This allows a behavior similar to Emacs’ switch-to-buffer when selecting another window.

Package

stumpwm

Source

tile-window.lisp (file)

Function: pull-hidden-next ()

Pull the next hidden window into the current frame.

Package

stumpwm

Source

tile-window.lisp (file)

Function: pull-hidden-other ()

Pull the last focused, hidden window into the current frame.

Package

stumpwm

Source

tile-window.lisp (file)

Function: pull-hidden-previous ()

Pull the next hidden window into the current frame.

Package

stumpwm

Source

tile-window.lisp (file)

Function: pull-marked ()

Pull all marked windows into the current frame and clear the marks.

Package

stumpwm

Source

tile-window.lisp (file)

Function: pull-window-by-number N &optional GROUP

Pull window N from another frame into the current frame and focus it.

Package

stumpwm

Source

tile-window.lisp (file)

Function: push-event FN
Package

stumpwm

Source

stumpwm.lisp (file)

Function: putsel STRING

Stuff the string @var{string} into the X selection.

Package

stumpwm

Source

selection.lisp (file)

Function: quit ()

Quit StumpWM.

Package

stumpwm

Source

user.lisp (file)

Function: ratclick &optional BUTTON

Simulate a pointer button event at the current pointer location. Note: this function is unlikely to work unless your X server and CLX implementation support XTEST.

Package

stumpwm

Source

user.lisp (file)

Function: ratrelwarp DX DY

Warp the mouse by the specified amount from its current position.

Package

stumpwm

Source

user.lisp (file)

Function: ratwarp X Y

Warp the mouse to the specified location.

Package

stumpwm

Source

user.lisp (file)

Function: read-line-from-sysfs STREAM &optional BLOCKSIZE

READ-LINE, but with a workaround for a known SBCL/Linux bug regarding files in sysfs. Data is read in chunks of BLOCKSIZE bytes.

Package

stumpwm

Source

wrappers.lisp (file)

Function: read-one-char SCREEN

Read a single character from the user.

Package

stumpwm

Source

input.lisp (file)

Function: read-one-line SCREEN PROMPT &key INITIAL-INPUT REQUIRE-MATCH PASSWORD

Read a line of input through stumpwm and return it. Returns nil if the user aborted.

Package

stumpwm

Source

input.lisp (file)

Function: redirect-all-output FILE

Elect to redirect all output to the specified file. For instance, if you want everything to go to ~/.stumpwm.d/debug-output.txt you would do:

@example
(redirect-all-output (data-dir-file "debug-output" "txt"))
@end example

Package

stumpwm

Source

primitives.lisp (file)

Function: redisplay ()

Refresh current window by a pair of resizes, also make it occupy entire frame.

Package

stumpwm

Source

tile-window.lisp (file)

Function: refresh ()

Refresh current window without changing its size.

Package

stumpwm

Source

window.lisp (file)

Function: refresh-heads &optional SCREEN

Refresh screens in case a monitor was connected, but a ConfigureNotify event was snarfed by another program.

Package

stumpwm

Source

head.lisp (file)

Function: reload ()

Reload StumpWM using @code{asdf}.

Package

stumpwm

Source

user.lisp (file)

Function: remember LOCK TITLE

Make a generic placement rule for the current window. Might be too specific/not specific enough!

Package

stumpwm

Source

tile-window.lisp (file)

Function: remove-split &optional GROUP FRAME

Remove the specified frame in the specified group (defaults to current group, current frame). Windows in the frame are migrated to the frame taking up its space.

Package

stumpwm

Source

tile-group.lisp (file)

Function: renumber NT &optional GROUP

Change the current window’s number to the specified number. If another window is using the number, then the windows swap numbers. Defaults to current group.

Package

stumpwm

Source

window.lisp (file)

Function: repack-window-numbers &optional PRESERVED

Ensure that used window numbers do not have gaps; ignore PRESERVED window numbers.

Package

stumpwm

Source

window.lisp (file)

Function: resize WIDTH HEIGHT

Resize the current frame by @var{width} and @var{height} pixels

Package

stumpwm

Source

tile-group.lisp (file)

Function: resize-direction D
Package

stumpwm

Source

iresize.lisp (file)

Function: restart-hard ()

Restart stumpwm. This is handy if a new stumpwm executable has been made and you wish to replace the existing process with it.

Any run-time customizations will be lost after the restart.

Package

stumpwm

Source

user.lisp (file)

Function: restart-soft ()

Soft restart StumpWM. The lisp process isn’t restarted. Instead, control jumps to the very beginning of the stumpwm program. This differs from RESTART, which restarts the unix process.

Since the process isn’t restarted, existing customizations remain after the restart.

Package

stumpwm

Source

user.lisp (file)

Function: restarts-menu ERR

Display a menu with the active restarts and let the user pick one. Error is the error being recovered from. If the user aborts the menu, the error is re-signalled.

Package

stumpwm

Source

user.lisp (file)

Function: restore-from-file FILE

Restores screen, groups, or frames from named file, depending on file’s contents.

Package

stumpwm

Source

fdump.lisp (file)

Function: restore-window-placement-rules FILE

Restore *window-placement-rules* from FILE.

Package

stumpwm

Source

tile-window.lisp (file)

Function: run-commands &rest COMMANDS

Run each stumpwm command in sequence. This could be used if you’re used to ratpoison’s rc file and you just want to run commands or don’t know lisp very well. One might put the following in one’s rc file:

@example
(stumpwm:run-commands
"escape C-z"
"exec firefox"
"split")
@end example

Package

stumpwm

Source

command.lisp (file)

Function: run-hook HOOK

Call each function in HOOK.

Package

stumpwm

Source

primitives.lisp (file)

Function: run-hook-with-args HOOK &rest ARGS

Call each function in HOOK and pass args to it.

Package

stumpwm

Source

primitives.lisp (file)

Function: run-or-pull CMD PROPS &optional ALL-GROUPS ALL-SCREENS

Similar to run-or-raise, but move the matching window to the current frame instead of switching to the window.

Package

stumpwm

Source

user.lisp (file)

Function: run-or-raise CMD PROPS &optional ALL-GROUPS ALL-SCREENS

Run the shell command, @var{cmd}, unless an existing window
matches @var{props}. @var{props} is a property list with the following keys:

@table @code
@item :class
Match the window’s class.
@item :instance
Match the window’s instance or resource-name.
@item :role
Match the window’s @code{WM_WINDOW_ROLE}.
@item :title
Match the window’s title.
@end table

By default, the global @var{*run-or-raise-all-groups*} decides whether to search all groups or the current one for a running
instance. @var{all-groups} overrides this default. Similarily for @var{*run-or-raise-all-screens*} and @var{all-screens}.

Package

stumpwm

Source

user.lisp (file)

Function: run-shell-command CMD &optional COLLECT-OUTPUT-P

Run the specified shell command. If @var{collect-output-p} is @code{T} then run the command synchonously and collect the output. Be careful. If the shell command doesn’t return, it will hang StumpWM. In such a case, kill the shell command to resume StumpWM.

Package

stumpwm

Source

user.lisp (file)

Function: run-with-timer SECS REPEAT FUNCTION &rest ARGS

Perform an action after a delay of SECS seconds.
Repeat the action every REPEAT seconds, if repeat is non-nil. SECS and REPEAT may be reals.
The action is to call FUNCTION with arguments ARGS.

Package

stumpwm

Source

timers.lisp (file)

Function: screen-current-window SCREEN

Return the current window on the specified screen

Package

stumpwm

Source

screen.lisp (file)

Function: screen-height SCREEN
Package

stumpwm

Source

screen.lisp (file)

Function: screen-root SCREEN
Package

stumpwm

Source

screen.lisp (file)

Function: screen-width SCREEN
Package

stumpwm

Source

screen.lisp (file)

Function: screen-windows SCREEN
Package

stumpwm

Source

screen.lisp (file)

Function: sdump-current INSTANCE
Function: (setf sdump-current) VALUE INSTANCE
Package

stumpwm

Source

fdump.lisp (file)

Function: sdump-groups INSTANCE
Function: (setf sdump-groups) VALUE INSTANCE
Package

stumpwm

Source

fdump.lisp (file)

Function: sdump-number INSTANCE
Function: (setf sdump-number) VALUE INSTANCE
Package

stumpwm

Source

fdump.lisp (file)

Function: select-from-menu SCREEN TABLE &optional PROMPT INITIAL-SELECTION EXTRA-KEYMAP FILTER-PRED

Prompt the user to select from a menu on SCREEN. TABLE can be
a list of values or an alist. If it’s an alist, the CAR of each element is displayed in the menu. What is displayed as menu items must be strings.
EXTRA-KEYMAP can be a keymap whose bindings will take precedence over the default bindings.
FILTER-PRED should be a a function returning T when a certain menu item should be visible to the user. It should accept arguments ITEM-STRING (the string shown to the user), ITEM-OBJECT (the object corresponding to the menu item), and USER-INPUT (the current user input). The default is MENU-ITEM-MATCHES-REGEXP.
Returns the selected element in TABLE or nil if aborted.

Package

stumpwm

Source

menu.lisp (file)

Function: select-window QUERY

Switch to the first window that starts with @var{query}.

Package

stumpwm

Source

window.lisp (file)

Function: select-window-by-name NAME

Switch to the first window whose name is exactly @var{name}.

Package

stumpwm

Source

window.lisp (file)

Function: select-window-by-number NUM &optional GROUP

Find the window with the given number and focus it in its frame.

Package

stumpwm

Source

window.lisp (file)

Function: send-escape ()

Send the escape key to the current window.

Package

stumpwm

Source

bindings.lisp (file)

Function: set-bg-color COLOR

Set the background color for the message bar and input bar. @var{color} can be any color recognized by X.

Package

stumpwm

Source

screen.lisp (file)

Function: set-border-color COLOR

Set the border color for the message bar and input bar. @var{color} can be any color recognized by X.

Package

stumpwm

Source

screen.lisp (file)

Function: set-contrib-dir ()

Deprecated, use ‘add-to-load-path’ instead

Package

stumpwm

Source

module.lisp (file)

Function: set-fg-color COLOR

Set the foreground color for the message bar and input bar. @var{color} can be any color recognized by X.

Package

stumpwm

Source

screen.lisp (file)

Function: set-float-focus-color COLOR

Set the border color for focused windows in a float group.

Package

stumpwm

Source

screen.lisp (file)

Function: set-float-unfocus-color COLOR

Set the border color for windows without focus in a float group.

Package

stumpwm

Source

screen.lisp (file)

Function: set-focus-color COLOR

Set the border color for focused windows. This is only used when there is more than one frame.

Package

stumpwm

Source

screen.lisp (file)

Function: set-font FONT

Set the font(s) for the message bar and input bar.

Package

stumpwm

Source

screen.lisp (file)

Function: set-frame-outline-width WIDTH
Package

stumpwm

Source

screen.lisp (file)

Function: set-maxsize-gravity GRAVITY

Set the default gravity for maxsize windows.

Package

stumpwm

Source

window.lisp (file)

Function: set-module-dir DIR

Sets the location of the for StumpWM to find modules

Package

stumpwm

Source

module.lisp (file)

Function: set-msg-border-width WIDTH

Set the border width for the message bar, input bar and frame indicator.

Package

stumpwm

Source

screen.lisp (file)

Function: set-normal-gravity GRAVITY

Set the default gravity for normal windows. Possible values are @code{:center} @code{:top} @code{:left} @code{:right} @code{:bottom} @code{:top-left} @code{:top-right} @code{:bottom-left} and @code{:bottom-right}.

Package

stumpwm

Source

window.lisp (file)

Function: set-prefix-key KEY

Change the stumpwm prefix key to KEY.
@example
(stumpwm:set-prefix-key (stumpwm:kbd "C-M-H-s-z"))
@end example

This will change the prefix key to @key{Control} + @key{Meta} + @key{Hyper} + @key{Super} + the @key{z} key. By most standards, a terrible prefix key but it makes a
great example.

Package

stumpwm

Source

bindings.lisp (file)

Function: set-transient-gravity GRAVITY

Set the default gravity for transient/pop-up windows.

Package

stumpwm

Source

window.lisp (file)

Function: set-unfocus-color COLOR

Set the border color for windows without focus. This is only used when there is more than one frame.

Package

stumpwm

Source

screen.lisp (file)

Function: set-win-bg-color COLOR

Set the background color of the window. The background color will only be visible for windows with size increment hints such as @samp{emacs} and @samp{xterm}.

Package

stumpwm

Source

screen.lisp (file)

Function: set-window-geometry WIN &key X Y WIDTH HEIGHT BORDER-WIDTH
Package

stumpwm

Source

window.lisp (file)

Function: set-x-selection TEXT &optional SELECTION

Set the X11 selection string to @var{string}.

Package

stumpwm

Source

selection.lisp (file)

Function: setup-iresize ()

Start the interactive resize mode.

Package

stumpwm

Source

iresize.lisp (file)

Function: show-window-properties ()

Shows the properties of the current window. These properties can be used for matching windows with run-or-raise or window placement rules.

Package

stumpwm

Source

user.lisp (file)

Function: sibling ()

Jump to the frame’s sibling. If a frame is split into two frames, these two frames are siblings.

Package

stumpwm

Source

tile-group.lisp (file)

Function: snext ()

Go to the next screen.

Package

stumpwm

Source

screen.lisp (file)

Function: sother ()

Go to the last screen.

Package

stumpwm

Source

screen.lisp (file)

Function: split-string STRING &optional SEPARATORS

Splits STRING into substrings where there are matches for SEPARATORS. Each match for SEPARATORS is a splitting point.
The substrings between the splitting points are made into a list which is returned.
***If SEPARATORS is absent, it defaults to "[ ftnrv]+".

If there is match for SEPARATORS at the beginning of STRING, we do not include a null substring for that. Likewise, if there is a match at the end of STRING, we don’t include a null substring for that.

Modifies the match data; use ‘save-match-data’ if necessary.

Package

stumpwm

Source

primitives.lisp (file)

Function: sprev ()

Go to the previous screen.

Package

stumpwm

Source

screen.lisp (file)

Function: stumpwm &optional DISPLAY-STR

Start the stump window manager.

Package

stumpwm

Source

stumpwm.lisp (file)

Function: time-format STR
Package

stumpwm

Source

time.lisp (file)

Function: timer-p OBJECT
Package

stumpwm

Source

timers.lisp (file)

Function: title TITLE

Override the current window’s title.

Package

stumpwm

Source

window.lisp (file)

Function: toggle-always-on-top ()

Toggle whether the current window always appears over other windows. The order windows are added to this list determines priority.

Package

stumpwm

Source

window.lisp (file)

Function: toggle-always-show ()

Toggle whether the current window is shown in all groups.

Package

stumpwm

Source

group.lisp (file)

Function: toggle-mode-line SCREEN HEAD &optional FORMAT

Toggle the state of the mode line for the specified screen

Package

stumpwm

Source

mode-line.lisp (file)

Function: undefine-key MAP KEY

Clear the key binding in the specified keybinding.

Package

stumpwm

Source

kmap.lisp (file)

Function: unfloat-this ()

Transforms a float-window into a tile-window

Package

stumpwm

Source

tile-group.lisp (file)

Function: ungrab-pointer ()

Remove the grab on the cursor and restore the cursor shape.

Package

stumpwm

Source

core.lisp (file)

Function: unmaximize ()

Use the size the program requested for current window (if any) instead of maximizing it.

Package

stumpwm

Source

tile-window.lisp (file)

Function: update-color-map SCREEN

Read *colors* and cache their pixel colors for use when rendering colored text.

Package

stumpwm

Source

color.lisp (file)

Function: update-configuration WIN
Package

stumpwm

Source

window.lisp (file)

Function: update-screen-color-context SCREEN
Package

stumpwm

Source

color.lisp (file)

Function: version ()

Print version information and compilation date.

Package

stumpwm

Source

version.lisp (file)

Function: vgroups &optional GFMT WFMT

Like @command{groups} but also display the windows in each group. The optional arguments @var{gfmt} and @var{wfmt} can be used to override the default group formatting and window formatting, respectively.

Package

stumpwm

Source

group.lisp (file)

Function: visual-pull-from-windowlist ()
Package

stumpwm

Source

tile-window.lisp (file)

Function: vsplit &optional RATIO

Split the current frame into 2 frames, one on top of the other.

Package

stumpwm

Source

tile-group.lisp (file)

Function: vsplit-equally AMT

Split current frame in n columns of equal size.

Package

stumpwm

Source

tile-group.lisp (file)

Function: where-is CMD

Print the key sequences bound to the specified command.

Package

stumpwm

Source

help.lisp (file)

Function: which-key-mode ()

Toggle which-key-mode

Package

stumpwm

Source

help.lisp (file)

Function: window-screen WINDOW
Package

stumpwm

Source

window.lisp (file)

Function: window-send-string STRING &optional WINDOW

Send the string of characters to the current window as if they’d been typed.

Package

stumpwm

Source

window.lisp (file)

Function: windowlist &optional FMT WINDOW-LIST

Allow the user to select a window from the list of windows and focus the selected window. For information of menu bindings see @ref{Menus}. The optional argument @var{fmt} can be specified to override the default window formatting. The optional argument @var{window-list} can be provided to show a custom window list (see @command{windowlist-by-class}). The default window list is the list of all window in the current group. Also note that the default window list is sorted by number and if the @var{windows-list} is provided, it is shown unsorted (as-is).

Package

stumpwm

Source

window.lisp (file)

Function: windowlist-by-class &optional FMT

Allow the user to select a window from the list of windows (sorted by class) and focus the selected window. For information of menu bindings see @ref{Menus}. The optional argument @var{fmt} can be specified to override the default window formatting. This is a simple wrapper around the command @command{windowlist}.

Package

stumpwm

Source

window.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.5 Generic functions

Generic Function: callback-channel-events OBJECT
Generic Function: (setf callback-channel-events) NEW-VALUE OBJECT
Package

stumpwm

Methods
Method: callback-channel-events (CALLBACK-CHANNEL callback-channel)

automatically generated reader method

Source

ioloop.lisp (file)

Method: (setf callback-channel-events) NEW-VALUE (CALLBACK-CHANNEL callback-channel)

automatically generated writer method

Source

ioloop.lisp (file)

Method: (setf callback-channel-events) EVENTS CHANNEL
Source

ioloop.lisp (file)

Generic Function: callback-channel-stream OBJECT
Package

stumpwm

Methods
Method: callback-channel-stream (CALLBACK-CHANNEL callback-channel)

automatically generated reader method

Source

ioloop.lisp (file)

Generic Function: focus-window WINDOW &optional RAISE

Give the specified window keyboard focus and (optionally) raise.

Package

stumpwm

Source

window.lisp (file)

Methods
Method: focus-window WINDOW &optional RAISE

Make the window visible and give it keyboard focus. If raise is t, raise the window.

Generic Function: gravity-coords GRAVITY WIDTH HEIGHT MINX MINY MAXX MAXY

Get the X and Y coordinates to place something of width WIDTH
and height HEIGHT within an area defined by MINX MINY MAXX and MAXY, guided by GRAVITY.

Package

stumpwm

Source

message-window.lisp (file)

Methods
Method: gravity-coords (GRAVITY (eql center)) (WIDTH number) (HEIGHT number) (MINX number) (MINY number) (MAXX number) (MAXY number)
Method: gravity-coords (GRAVITY (eql bottom)) (WIDTH number) (HEIGHT number) (MINX number) (MINY number) (MAXX number) (MAXY number)
Method: gravity-coords (GRAVITY (eql top)) (WIDTH number) (HEIGHT number) (MINX number) (MINY number) (MAXX number) (MAXY number)
Method: gravity-coords (GRAVITY (eql left)) (WIDTH number) (HEIGHT number) (MINX number) (MINY number) (MAXX number) (MAXY number)
Method: gravity-coords (GRAVITY (eql right)) (WIDTH number) (HEIGHT number) (MINX number) (MINY number) (MAXX number) (MAXY number)
Method: gravity-coords (GRAVITY (eql bottom-left)) (WIDTH number) (HEIGHT number) (MINX number) (MINY number) (MAXX number) (MAXY number)
Method: gravity-coords (GRAVITY (eql bottom-right)) (WIDTH number) (HEIGHT number) (MINX number) (MINY number) (MAXX number) (MAXY number)
Method: gravity-coords (GRAVITY (eql top-left)) (WIDTH number) (HEIGHT number) (MINX number) (MINY number) (MAXX number) (MAXY number)
Method: gravity-coords (GRAVITY (eql top-right)) (WIDTH number) (HEIGHT number) (MINX number) (MINY number) (MAXX number) (MAXY number)
Generic Function: group-add-head GROUP HEAD

A head is being added to this group’s screen.

Package

stumpwm

Source

group.lisp (file)

Methods
Method: group-add-head (GROUP tile-group) HEAD
Source

tile-group.lisp (file)

Method: group-add-head (GROUP float-group) HEAD
Source

floating-group.lisp (file)

Generic Function: group-add-window GROUP WINDOW &key FRAME RAISE &allow-other-keys

Called when a window is added to the group. All
house keeping is already taken care of. Only the group’s specific window managing housekeeping need be done. This function accepts keys to inform the group on how to place the window.

Package

stumpwm

Source

group.lisp (file)

Methods
Method: group-add-window (GROUP tile-group) WINDOW &key FRAME RAISE &allow-other-keys
Source

tile-group.lisp (file)

Method: group-add-window GROUP (WINDOW float-window) &key &allow-other-keys
Source

floating-group.lisp (file)

Method: group-add-window (GROUP float-group) WINDOW &key &allow-other-keys
Source

floating-group.lisp (file)

Generic Function: group-button-press GROUP X Y CHILD

The user clicked somewhere in the group.

Package

stumpwm

Source

group.lisp (file)

Methods
Method: group-button-press (GROUP tile-group) X Y (WHERE window)
Source

tile-group.lisp (file)

Method: group-button-press (GROUP tile-group) X Y (WHERE (eql root))
Source

tile-group.lisp (file)

Method: group-button-press (GROUP float-group) X Y WHERE
Source

floating-group.lisp (file)

Method: group-button-press GROUP X Y (WINDOW float-window)
Source

floating-group.lisp (file)

Generic Function: group-current-head GROUP

The group is asked to return its current head.

Package

stumpwm

Source

group.lisp (file)

Methods
Method: group-current-head (GROUP tile-group)
Source

tile-group.lisp (file)

Method: group-current-head (GROUP float-group)
Source

floating-group.lisp (file)

Generic Function: group-current-window GROUP

The group is asked to return its focused window.

Package

stumpwm

Source

group.lisp (file)

Writer

(setf group-current-window) (generic function)

Methods
Method: group-current-window (GROUP group)

automatically generated reader method

Generic Function: (setf group-current-window) NEW-VALUE OBJECT
Package

stumpwm

Reader

group-current-window (generic function)

Methods
Method: (setf group-current-window) NEW-VALUE (GROUP group)

automatically generated writer method

Source

group.lisp (file)

Generic Function: group-delete-window GROUP WINDOW

Called when a window is removed from thegroup. All
house keeping is already taken care of. Only the group’s specific window managing housekeeping need be done.

Package

stumpwm

Source

group.lisp (file)

Methods
Method: group-delete-window (GROUP tile-group) (WINDOW float-window)
Source

tile-group.lisp (file)

Method: group-delete-window (GROUP tile-group) (WINDOW tile-window)
Source

tile-group.lisp (file)

Method: group-delete-window (GROUP float-group) (WINDOW float-window)
Source

floating-group.lisp (file)

Method: group-delete-window GROUP WINDOW
Generic Function: group-focus-window GROUP WIN

The group is asked to focus the specified window wherever it is.

Package

stumpwm

Source

group.lisp (file)

Methods
Method: group-focus-window (GROUP tile-group) (WINDOW float-window)
Source

tile-group.lisp (file)

Method: group-focus-window (GROUP tile-group) (WIN tile-window)
Source

tile-group.lisp (file)

Method: group-focus-window (GROUP float-group) WINDOW
Source

floating-group.lisp (file)

Generic Function: group-indicate-focus GROUP

The group is asked to in some way show the user where the keyboard focus is.

Package

stumpwm

Source

group.lisp (file)

Methods
Method: group-indicate-focus (GROUP tile-group)
Source

tile-group.lisp (file)

Method: group-indicate-focus (GROUP float-group)
Source

floating-group.lisp (file)

Generic Function: group-lost-focus GROUP

The current window was hidden or destroyed or
something happened to it. So the group is asked to do something smart about it.

Package

stumpwm

Source

group.lisp (file)

Methods
Method: group-lost-focus (GROUP tile-group)
Source

tile-group.lisp (file)

Method: group-lost-focus (GROUP float-group)
Source

floating-group.lisp (file)

Generic Function: group-move-request GROUP WINDOW X Y RELATIVE-TO

The window requested a position change.

Package

stumpwm

Source

group.lisp (file)

Methods
Method: group-move-request (GROUP tile-group) (WINDOW float-window) X Y RELATIVE-TO
Source

tile-group.lisp (file)

Method: group-move-request (GROUP tile-group) (WINDOW tile-window) X Y RELATIVE-TO
Source

tile-group.lisp (file)

Method: group-move-request (GROUP float-group) WINDOW X Y RELATIVE-TO
Source

floating-group.lisp (file)

Generic Function: group-name OBJECT
Generic Function: (setf group-name) NEW-VALUE OBJECT
Package

stumpwm

Methods
Method: group-name (GROUP group)

automatically generated reader method

Source

group.lisp (file)

Method: (setf group-name) NEW-VALUE (GROUP group)

automatically generated writer method

Source

group.lisp (file)

Generic Function: group-number OBJECT
Generic Function: (setf group-number) NEW-VALUE OBJECT
Package

stumpwm

Methods
Method: group-number (GROUP group)

automatically generated reader method

Source

group.lisp (file)

Method: (setf group-number) NEW-VALUE (GROUP group)

automatically generated writer method

Source

group.lisp (file)

Generic Function: group-raise-request GROUP WINDOW TYPE

A request has been made to raise the window. TYPE
is the type of raise request being made. :MAP means the window has made requested to be mapped. :above means the window has requested to to be placed above its siblings.

Package

stumpwm

Source

group.lisp (file)

Methods
Method: group-raise-request (GROUP tile-group) WINDOW STACK-MODE
Source

tile-group.lisp (file)

Method: group-raise-request (GROUP float-group) WINDOW TYPE
Source

floating-group.lisp (file)

Generic Function: group-remove-head GROUP HEAD

A head is being removed from this group’s screen.

Package

stumpwm

Source

group.lisp (file)

Methods
Method: group-remove-head (GROUP tile-group) HEAD
Source

tile-group.lisp (file)

Method: group-remove-head (GROUP float-group) HEAD
Source

floating-group.lisp (file)

Generic Function: group-resize-head GROUP OH NH

A head is being resized on this group’s screen.

Package

stumpwm

Source

group.lisp (file)

Methods
Method: group-resize-head (GROUP tile-group) OH NH
Source

tile-group.lisp (file)

Method: group-resize-head (GROUP float-group) OH NH
Source

floating-group.lisp (file)

Generic Function: group-resize-request GROUP WINDOW WIDTH HEIGHT

The window requested a width and/or height change.

Package

stumpwm

Source

group.lisp (file)

Methods
Method: group-resize-request (GROUP tile-group) (WINDOW float-window) WIDTH HEIGHT
Source

tile-group.lisp (file)

Method: group-resize-request (GROUP tile-group) (WINDOW tile-window) WIDTH HEIGHT
Source

tile-group.lisp (file)

Method: group-resize-request (GROUP float-group) WINDOW WIDTH HEIGHT
Source

floating-group.lisp (file)

Generic Function: group-root-exposure GROUP

The root window got an exposure event. If the group
needs to redraw anything on it, this is where it should do it.

Package

stumpwm

Source

group.lisp (file)

Methods
Method: group-root-exposure (GROUP tile-group)
Source

tile-group.lisp (file)

Method: group-root-exposure (GROUP float-group)
Source

floating-group.lisp (file)

Generic Function: group-screen OBJECT
Generic Function: (setf group-screen) NEW-VALUE OBJECT
Package

stumpwm

Methods
Method: group-screen (GROUP group)

automatically generated reader method

Source

group.lisp (file)

Method: (setf group-screen) NEW-VALUE (GROUP group)

automatically generated writer method

Source

group.lisp (file)

Generic Function: group-startup GROUP

Called on all groups while stumpwm is starting up.

Package

stumpwm

Source

group.lisp (file)

Methods
Method: group-startup (GROUP tile-group)
Source

tile-group.lisp (file)

Method: group-startup (GROUP float-group)
Source

floating-group.lisp (file)

Generic Function: group-suspend GROUP

When the group is no longer the current group, this function is called.

Package

stumpwm

Source

group.lisp (file)

Methods
Method: group-suspend (GROUP float-group)
Source

floating-group.lisp (file)

Generic Function: group-sync-all-heads GROUP

Called when the head configuration for the group changes.

Package

stumpwm

Source

group.lisp (file)

Methods
Method: group-sync-all-heads (GROUP tile-group)
Source

tile-group.lisp (file)

Method: group-sync-all-heads (GROUP float-group)
Source

floating-group.lisp (file)

Generic Function: group-sync-head GROUP HEAD

When a head or its usable area is resized, this is called. When the modeline size changes, this is called.

Package

stumpwm

Source

group.lisp (file)

Methods
Method: group-sync-head (GROUP tile-group) HEAD
Source

tile-group.lisp (file)

Method: group-sync-head (GROUP float-group) HEAD
Source

floating-group.lisp (file)

Generic Function: group-wake-up GROUP

When the group becomes the current group, this
function is called. This call is expected to set the focus.

Package

stumpwm

Source

group.lisp (file)

Methods
Method: group-wake-up (GROUP tile-group)
Source

tile-group.lisp (file)

Method: group-wake-up (GROUP float-group)
Source

floating-group.lisp (file)

Generic Function: group-windows OBJECT
Generic Function: (setf group-windows) NEW-VALUE OBJECT
Package

stumpwm

Methods
Method: group-windows (GROUP group)

automatically generated reader method

Source

group.lisp (file)

Method: (setf group-windows) NEW-VALUE (GROUP group)

automatically generated writer method

Source

group.lisp (file)

Generic Function: io-channel-events CHANNEL

Returns a list of events that CHANNEL is interested in. An event specification may be a simple symbol, or a list of a symbol and additional data for the event. Specific I/O loop implementations may implement additional events, but the following event specifications should be supported by all I/O loops:

:READ – The channel will be notified when its I/O port can be read from without blocking.

:WRITE – The channel will be notified when its I/O port can be written to without blocking.

(:TIMEOUT TIME-SPEC) – TIME-SPEC is a point in time in the same units as from (GET-INTERNAL-REAL-TIME), at which point the channel will be notified. It is permissible for TIME-SPEC to be a real number of any representation, but the system does not guarantee any particular level of accuracy.

:LOOP – The channel will be notifed for each iteration of the I/O loop, just before blocking for incoming events. This should be considered a hack to be avoided, but may be useful for certain libraries (such as XLIB).

If, at any time, an empty list is returned, the channel is unregistered with the I/O loop.

The I/O loop will check what events a channel is interested in when it is first registered with the loop, and whenever the channel has been notified of an event. If the channel changes its mind at any other point in time, it should use the IO-LOOP-UPDATE function to notify the I/O loop of such changes. The I/O loop may also update spuriously at any time, but such updates are not guaranteed.

Package

stumpwm

Source

ioloop.lisp (file)

Methods
Method: io-channel-events (CHANNEL display-channel)
Source

stumpwm.lisp (file)

Method: io-channel-events (CHANNEL request-channel)
Source

stumpwm.lisp (file)

Method: io-channel-events (CHANNEL stumpwm-timer-channel)
Source

timers.lisp (file)

Method: io-channel-events (CHANNEL callback-channel)
Generic Function: io-channel-handle CHANNEL EVENT &key &allow-other-keys

Called by the I/O loop to notify a channel that an event has occurred. EVENT is the symbol corresponding to the event specification from IO-CHANNEL-EVENTS (that is, :READ, :WRITE, :TIMEOUT or :LOOP). A number of keyword arguments with additional data specific to a certain event may also be passed, but no such arguments are currently defined.

Package

stumpwm

Source

ioloop.lisp (file)

Methods
Method: io-channel-handle (CHANNEL display-channel) (EVENT (eql loop)) &key
Source

stumpwm.lisp (file)

Method: io-channel-handle (CHANNEL display-channel) (EVENT (eql read)) &key
Source

stumpwm.lisp (file)

Method: io-channel-handle (CHANNEL request-channel) (EVENT (eql read)) &key
Source

stumpwm.lisp (file)

Method: io-channel-handle (CHANNEL stumpwm-timer-channel) (EVENT (eql loop)) &key
Source

timers.lisp (file)

Method: io-channel-handle (CHANNEL stumpwm-timer-channel) (EVENT (eql timeout)) &key
Source

timers.lisp (file)

Method: io-channel-handle (CHANNEL callback-channel) (EVENT (eql read)) &key
Method: io-channel-handle CHANNEL EVENT &key &allow-other-keys
Generic Function: io-channel-ioport IO-LOOP CHANNEL

Returns the I/O facility operated on by CHANNEL, in a representation understood by IO-LOOP. CHANNEL may be either an I/O channel or an object representing an underlying I/O facility, such as a stream object. An I/O loop implementation should implement methods for any primitive I/O facilities that it can monitor for events, and abstract channels should return whatever IO-CHANNEL-IOPORT returns for the primitive facility that it operates on.

An I/O channel may also return NIL to indicate that it is only interested in purely virtual events, such as :TIMEOUT or :LOOP.

Package

stumpwm

Source

ioloop.lisp (file)

Methods
Method: io-channel-ioport IO-LOOP (CHANNEL display-channel)
Source

stumpwm.lisp (file)

Method: io-channel-ioport IO-LOOP (CHANNEL request-channel)
Source

stumpwm.lisp (file)

Method: io-channel-ioport IO-LOOP (CHANNEL stumpwm-timer-channel)
Source

timers.lisp (file)

Method: io-channel-ioport IO-LOOP (CHANNEL callback-channel)
Method: io-channel-ioport IO-LOOP (CHANNEL synonym-stream)
Method: io-channel-ioport (IO-LOOP sbcl-io-loop) (CHANNEL display)
Method: io-channel-ioport IO-LOOP (CHANNEL fd-stream)
Generic Function: io-loop IO-LOOP &key DESCRIPTION &allow-other-keys

Run the given I/O multiplexer, watching for events
on any channels registered with it. IO-LOOP will return when it has no channels left registered with it.

Package

stumpwm

Source

ioloop.lisp (file)

Methods
Method: io-loop (INFO sbcl-io-loop) &key DESCRIPTION
Generic Function: io-loop-add IO-LOOP CHANNEL

Add a channel to the given I/O multiplexer to be monitored.

Package

stumpwm

Source

ioloop.lisp (file)

Methods
Method: io-loop-add INFO (CHANNEL callback-channel) after
Method: io-loop-add INFO (CHANNEL callback-channel) before
Method: io-loop-add (INFO sbcl-io-loop) CHANNEL
Generic Function: io-loop-remove IO-LOOP CHANNEL

Unregister a channel from the I/O multiplexer.

Package

stumpwm

Source

ioloop.lisp (file)

Methods
Method: io-loop-remove INFO (CHANNEL callback-channel) after
Method: io-loop-remove (INFO sbcl-io-loop) CHANNEL
Generic Function: io-loop-update IO-LOOP CHANNEL

Make the I/O loop update its knowledge of what
events CHANNEL is interested in. See the documentation for IO-CHANNEL-EVENTS for more information.

Package

stumpwm

Source

ioloop.lisp (file)

Methods
Method: io-loop-update (INFO sbcl-io-loop) CHANNEL
Generic Function: raise-window WINDOW

Bring the window to the top of the window stack.

Package

stumpwm

Source

window.lisp (file)

Methods
Method: raise-window WIN

Map the window if needed and bring it to the top of the stack. Does not affect focus.

Generic Function: really-raise-window WINDOW

Really bring the window to the top of the window stack in group

Package

stumpwm

Source

window.lisp (file)

Methods
Method: really-raise-window (WINDOW tile-window)
Source

tile-window.lisp (file)

Method: really-raise-window (WINDOW float-window)
Source

floating-group.lisp (file)

Generic Function: screen-float-focus-color OBJECT
Generic Function: (setf screen-float-focus-color) NEW-VALUE OBJECT
Package

stumpwm

Methods
Method: screen-float-focus-color (SCREEN screen)

automatically generated reader method

Source

primitives.lisp (file)

Method: (setf screen-float-focus-color) NEW-VALUE (SCREEN screen)

automatically generated writer method

Source

primitives.lisp (file)

Generic Function: screen-float-unfocus-color OBJECT
Generic Function: (setf screen-float-unfocus-color) NEW-VALUE OBJECT
Package

stumpwm

Methods
Method: screen-float-unfocus-color (SCREEN screen)

automatically generated reader method

Source

primitives.lisp (file)

Method: (setf screen-float-unfocus-color) NEW-VALUE (SCREEN screen)

automatically generated writer method

Source

primitives.lisp (file)

</