[ < ] [ > ]   [ << ] [ 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 (current-group))

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

Command: hsplit &optional (ratio 1/2)

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

Command: vsplit &optional (ratio 1/2)

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

Command: hsplit-equally amt

Split current frame in n rows of equal size.

Command: vsplit-equally amt

Split current frame in n columns of equal size.

Command: remove-split &optional (group (current-group)) (frame (tile-group-current-frame 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

Resize the current frame by width and height pixels

Command: resize-direction d

Resize frame to direction d

Command: balance-frames &aux (group (current-group))

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 *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 *window-format*)

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

Command: exchange-direction dir &optional (win (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 tile all windows and let the user select one, make that window the focus. Set the variable ‘*expose-auto-tile-fn*’ to another tiling function if a different layout is desired. Set ‘*expose-n-max*’ to the maximum number of windows to be displayed for choosing.

Macro: save-frame-excursion &body body

Execute body and then restore the current frame.

Function: run-or-pull cmd props &optional (all-groups *run-or-raise-all-groups*) (all-screens *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.

@ run-or-pull

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.

@ only-one-frame-p

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.