[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6. Frames

Frames contain windows. All windows exist within a frame.

Those used to ratpoison will notice that this differs from ratpoison’s window pool, where windows and frames are not so tightly connected.

Command: pull-window-by-number n &optional group

Default Values:

  group  (stumpwm:current-group)

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

Command: hsplit &optional ratio

Default Values:

  ratio  "1/2"

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

Command: vsplit &optional ratio

Default Values:

  ratio  "1/2"

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

Command: hsplit-equally amt

Deprecated. Use ‘vsplit-uniformly’ instead.

Command: vsplit-uniformly amt

Split current frame in n rows of equal size.

Command: vsplit-equally amt

Deprecated. Use ‘hsplit-uniformly’ instead.

Command: hsplit-uniformly amt

Split current frame in n columns of equal size.

Command: remove-split &optional group frame

Default Values:

  group  (stumpwm:current-group)
  frame  (stumpwm::tile-group-current-frame stumpwm:group)

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.

Command: only

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

Command: curframe

Display a window indicating which frame is focused.

Command: fnext

Cycle through the frame tree to the next frame.

Command: fprev

Cycle through the frame tree to the previous frame.

Command: sibling

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

Command: fother

Jump to the last frame that had focus.

Command: fselect frame-number

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

Command: resize width height

Move the frame split directly to the right of the current frame as much as possible up to width pixels, or if impossible try the split directly to the left instead. Similarly, also move the frame split directly below the current frame as much as possible up to height pixels, or if impossible try the split directly above instead.

Command: resize-direction d

Resize frame to direction d

Command: balance-frames &aux

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

Command: fclear

Clear the current frame.

Command: move-focus dir

Focus the frame adjacent to the current one in the specified direction. The following are valid directions:

up
down
left
right
Command: move-window dir

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

Command: next-in-frame

Go to the next window in the current frame.

Command: prev-in-frame

Go to the previous window in the current frame.

Command: other-in-frame

Go to the last accessed window in the current frame.

Command: next-urgent

Jump to the next urgent window

Command: frame-windowlist &optional fmt

Default Values:

  fmt  stumpwm:*window-format*

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

Command: echo-frame-windows &optional fmt

Default Values:

  fmt  stumpwm:*window-format*

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

Command: exchange-direction dir &optional win

Default Values:

  win  (stumpwm:current-window)

Exchange the current window (by default) with the top window of the frame in specified direction. (bound to C-t x by default)

up
down
left
right
Command: expose

Automagically lay out all windows in a grid and let the user select one, making that window the focused window. Set the variable ‘*expose-auto-tile-fn*’ to another tiling function if a different layout is desired for tile groups. Set ‘*expose-n-max*’ to the maximum number of windows to be displayed for choosing when in a tile group.

Macro: save-frame-excursion &body body

Execute body and then restore the current frame.

Function: run-or-pull cmd props &optional all-groups all-screens

Default Values:

  all-groups   stumpwm:*run-or-raise-all-groups*
  all-screens  stumpwm:*run-or-raise-all-screens*

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

Function: only-one-frame-p

T if there is only one maximized frame in the current head. This can be used around a the "only" command to avoid the warning message.

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.

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.

Variable: *new-frame-action*

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

:empty

The frame is left empty

:last-window

The last focused window that is not currently visible is placed in the frame. This is the default.

Variable: *expose-auto-tile-fn*

Function to call to tile current windows.

Variable: *expose-n-max*

Maximum number of windows to display in the expose

Variable: *frame-indicator-text*

What appears in the frame indicator window?

Variable: *frame-indicator-timer*

Keep track of the timer that hides the frame indicator.

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.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated on January 28, 2024 using texi2html 1.82.