Windows (StumpWM Manual)

## 5 Windows ¶

Command: next ¶

  Go to the next window in the window list.

Command: prev ¶

  Go to the previous window in the window list.

Command: delete-window &optional window ¶

  Default Values:

        window  (stumpwm:current-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.

Command: kill-window &optional window ¶

  Default Values:

        window  (stumpwm:current-window)

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

Command: kill-windows-current-group ¶

  Kill all windows in the current group.

Command: kill-windows-other ¶

  Kill all windows in current group except the current-window

Command: echo-windows &optional fmt group windows ¶

  Default Values:

        fmt      stumpwm:*window-format*
        group    (stumpwm:current-group)
        windows  (stumpwm:group-windows stumpwm:group)

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

Command: other-window &optional group ¶

  Default Values:

        group  (stumpwm:current-group)

  Switch to the window last focused.

Command: pull-hidden-next ¶

  Pull the next hidden window into the current frame.

Command: pull-hidden-previous ¶

  Pull the next hidden window into the current frame.

Command: pull-hidden-other ¶

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

Command: pull-from-windowlist &optional fmt ¶

  Default Values:

        fmt  stumpwm:*window-format*

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

Command: renumber nt &optional group ¶

  Default Values:

        group  (stumpwm:current-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.

Command: meta key ¶

  Send a fake key to the current window. key is a typical StumpWM key, like `C-M-o`.

Command: select-window query ¶

  Switch to the first window that starts with query.

Command: select-window-by-number num &optional group ¶

  Default Values:

        group  (stumpwm:current-group)

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

Command: select-window-by-name name ¶

  Switch to the first window whose name is exactly name.

Command: repack-window-numbers &optional preserved ¶

  Default Values:

        preserved  nil

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

Command: title title ¶

  Override the current window’s title.

Command: windowlist &optional fmt window-list ¶

  Default Values:

        fmt          stumpwm:*window-format*
        window-list  nil

  Allow the user to select a window from the list of windows and focus the selected window. For information of menu bindings see Menus. The optional argument fmt can be specified to override the default window formatting. The optional argument window-list can be provided to show a custom window list (see `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 windows-list is provided, it is shown unsorted (as-is).

Command: windowlist-by-class &optional fmt ¶

  Default Values:

        fmt  stumpwm::*window-format-by-class*

  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 Menus. The optional argument fmt can be specified to override the default window formatting. This is a simple wrapper around the command `windowlist`.

Command: 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.

Command: info &optional fmt ¶

  Default Values:

        fmt  stumpwm::*window-info-format*

  Display information about the current window.

Command: refresh ¶

  Refresh current window without changing its size.

Command: redisplay ¶

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

Command: float-this ¶

  Transforms a tile-window into a float-window

Command: unfloat-this ¶

  Transforms a float-window into a tile-window

Command: flatten-floats ¶

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

Command: unmaximize &optional window ¶

  Default Values:

        window  (stumpwm:current-window)

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

Command: toggle-always-on-top ¶

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

Command: toggle-always-show ¶

  Toggle whether the current window is shown in all groups.

Command: window-send-string string &optional window ¶

  Default Values:

        window  (stumpwm:current-window)

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

Function: window-head window ¶

  Report what window the head is currently on.

Function: window-sync window what-changed ¶

  Some window slot has been updated and the window may need to sync itself. WHAT-CHANGED is a hint at what changed.

Function: window-visible-p window ¶

  Return T if the window is visible

Function: raise-window window ¶

  Bring the window to the top of the window stack.

Function: focus-window window &optional raise ¶

  Default Values:

        raise  nil

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

Variable: *xwin-to-window* ¶

  Hash table for looking up windows quickly.

Variable: *window-format* ¶

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

  %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.

  %s

    Substitute the window’s status. * means current window, + means last window, and - means any other window.

  %t

    Substitute the window’s name.

  %c

    Substitute the window’s class.

  %i

    Substitute the window’s resource ID.

  %m

    Draw a # if the window is marked.

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

Variable: *window-info-format* ¶

  The format used in the info command. See *window-format* for formatting details.

Variable: *window-name-source* ¶

  This variable controls what is used for the window’s name. The default is `:title`.

  `:title`

    Use the window’s title given to it by its owner.

  `:class`

    Use the window’s resource class.

  `:resource-name`

    Use the window’s resource name.

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:

  `:focused`

    Choose the focused frame.

  `:last`

    Choose the last focused frame.

  `:empty`

    Choose any empty frame.

  `:unfocused`

    Choose any unfocused frame.

  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.

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.

Variable: *honor-window-moves* ¶

  Allow windows to move between frames.

Macro: define-fullscreen-in-frame-rule name(window-argument) &body body ¶

  Define a rule for a window to be fullscreened within the frame. Each rule is a function which will be called when a window is made fullscreen. If the rule returns NIL then the fullscreen window takes up the entire head, otherwise it takes up only its frame. Within the body of the rule WINDOW-ARGUMENT is bound to the window being processed.

Function: add-fullscreen-in-frame-rule name function &key shadow ¶

  Default Values:

        shadow  nil

  Add a function to the fullscreen-in-frame window rules alist. If NAME already exists as a key in the alist and SHADOW is nil, then FUNCTION replaces the existing value. Otherwise NAME and FUNCTION are pushed onto the alist.

Function: remove-fullscreen-in-frame-rule name &key count ¶

  Default Values:

        count  nil

  Remove rules named NAME from the fullscreen-in-frame window rules alist. If COUNT is NIL then all matching rules are removed, otherwise only the first COUNT rules are removed.

Variable: *fullscreen-in-frame-p-window-functions* ¶

  A alist of predicate functions for determining if a window should be fullscreen in frame.