Manipulating Windows (StumpWM Manual)

#### 1.4.2 Manipulating Windows ¶

Some commands change which window is currently focused, some move windows between frames, and some may do both at once.

There are two general ways to move focus between windows: either between windows belonging to the current frame, or between all windows within the current group. Within a single frame:

- `next-in-frame` (`C-t C-M-n`) focus the next window in the current frame’s list of windows.
- `prev-in-frame` (`C-t C-M-p`) focus the previous window in the current frame’s list of windows.
- `other-in-frame` (`C-t M-t`) focus the most recently focused window in the current frame’s list of windows.
- `frame-windowlist` (unbound by default) display a menu of windows in the currently-focused frame, and allow the user to choose one. Alternately, the command `frame-windows` will simply display the list of window names, with no menu choice available.

Within the current group, the following commands will go straight to the specified window. They will never move a window from its original frame, and so may result in focus switching frames.

- `next` (`C-t M-n`) focus the next window in the current group.
- `prev` (`C-t M-p`) focus the previous window in the current group.
- `other` or `other-window` (unbound by default) focus the most recently focused window in the current group.
- `next-urgent` (`C-t C-u`) focus the next window that has marked itself “urgent”.
- `select` or `select-window` (`C-t '`) prompt for the title of a window and focus it. Works with partial completion of the title.
- `select-window-by-name` (unbound by default) prompt for the title of a window and focus it. Requires the window title to be entered exactly.
- `select-window-by-number` (`C-t <number>`) choose a window by number.
- `windowlist` (`C-t "`) display a menu of windows in the currently-focused group, and allow the user to choose one.

The following commands always keep the current frame focused. If the selected window is not in the current frame, it will be pulled there from wherever it is (hence the “pull” naming scheme).

- `pull` or `pull-window-by-number` (`C-t C-<number>`) pull the numbered window into the current frame.
- `pull-hidden-next` (`C-t n` or `C-t SPC`) pull the next currently undisplayed window in the window list into the current frame.
- `pull-hidden-previous` (`C-t p`) pull the previous currently undisplayed window in the window list into the current frame.
- `pull-hidden-other` (`C-t C-t`) pull the most recently focused, currently undisplayed window into the current frame.

The following commands move the current window from one frame to another, bringing focus with them.

- `move-window` (`C-t M-<arrow>`) move the currently focused window in the direction indicated by the arrow key.
- `exchange-direction` (unbound by default) prompt for a direction, then swap the currently focused window with the top window of the frame in that direction.