To install this package, run in Emacs:
M-x package-install RET swsw RET
swsw (simple window switching) provides a minor mode for switching to windows using IDs assigned to them automatically. Usage: Enable `swsw-mode': (swsw-mode) For use-package users: (use-package swsw :config (swsw-mode)) When `swsw-mode' is active: - A window ID is displayed using a mode line lighter or a display function (see `swsw-display-lighter'). - Window IDs are assigned to all windows on all frames except for the minibuffer (by default, see `swsw-scope'). - `other-window' (C-x o by default) is remapped to `swsw-select'. C-x o ID switches focus to the window which corresponds to ID. C-x o 0 ID deletes the window which corresponds to ID. C-x o 1 ID makes the window which corresponds to ID the sole window of its frame. C-x o 2 ID splits the window which corresponds to ID from below. C-x o 3 ID splits the window which corresponds to ID from the right. C-x 0 4 ID displays the buffer of the next command in the window which corresponds to ID. C-x 0 t ID swaps the states of the current window and the window which corresponds to ID. C-x o m switches focus to the minibuffer if it's active. More commands can be added through `swsw-command-map': (define-key swsw-command-map (kbd "z") #'my-command) You can customize `swsw-mode' using the customize interface: M-x customize-group RET swsw RET For more information see info node `(swsw)'.
swsw-2.2.tar.lz | 2022-Jul-09 | 10.8 KiB |
swsw-2.1.1.tar.lz | 2022-May-25 | 9.96 KiB |
swsw NEWS -- history of user-visible changes. -*- mode: outline -*- See the end of the file for an explanation of the versioning scheme. * 2.3 ** Rework window commands A new macro has been added ('swsw-define-window-command') which greatly simplifies the creation of window commands; existing commands now use it and 5 new window commands have been added: 'swsw-delete-other', 'swsw-split-window-below' and 'swsw-split-window-right', which correspond to the built-in commands, 'swsw-selected-window-prefix', which displays the buffer of the next command in the selected window (Emacs 28+), and 'swsw-swap' which swaps the state of the current window and the selected window. * 2.2 ** Rework display functions 'swsw-display-function' has been replaced by 'swsw-display-lighter', display functions should now be added to 'swsw-mode-hook'. For backwards compatibility, 'swsw-display-function' has been redefined as an obsolete alias of 'swsw-display-lighter', and 'swsw-mode' currently still handles cases where the value of 'swsw-display-lighter' is a function. Display functions which are added to 'swsw-mode-hook' shouldn't require any arguments. * 2.1.1 ** Indicate that some functions are for interactive use only. * 2.1 ** Bump required Emacs version to 27.1. ** Update window information when switching frames. This fixes several issues when 'swsw-scope' isn't set to t. ** Make 'swsw-select' and 'swsw-delete' respect 'swsw-scope'. Previously, 'swsw-select' and 'swsw-delete' would not select/delete the only other window if it was on a different frame and 'swsw-scope' allowed tracking it. ** Remap 'other-window' to 'swsw-select' when 'swsw-mode' is active. By default this changes nothing since the default binding for 'other-window' is 'C-x o'. This change has been made to add (simple) out-of-the-box compatibility with alternative key binding sets or different Emacs distributions (provided they bind 'other-window'). * 2.0.2 ** No user visible changes. * 2.0.1 ** Add a link to the info node in the customization buffer. ** Add version information to customizable variables. ** Fix 'swsw-delete' when the only other tracked window is the minibuffer. * 2.0 ** Add support for custom window management commands. Binding a command to a key in 'swsw-command-map' allows you to call that command instead of selecting an ID. Currently three such commands are defined: 'swsw-select' (o), 'swsw-select-minibuffer' (m), 'swsw-delete' (0). ** Breaking changes *** 'swsw-minibuffer-id' is no longer defined or used anywhere, instead providing the same functionality through 'swsw-select-minibuffer'. *** 'swsw-select' no longer accepts a window ID as an optional argument. * 1.1.2 ** Apply customization options immediately. Customizing 'swsw-id-chars' and 'swsw-scope' and applying those changes now causes all window IDs to update. ** Construct IDs without pre-computing all possible IDs. This should hopefully help performance when dealing with a very large number of windows. ** Fix the calculation of the ID length. Previously the ID length reported was much bigger than it needed to be. ** Prevent setting the minibuffer ID to a character which can be used to construct a regular ID, and vice versa. ** Fix window selection occurring when entering an invalid ID. * 1.1.1 ** Bump required Emacs version to 26.1. ** Add missing license information in several places. The info node was missing license information, and created archives were missing the LICENSE file. ** Update the homepage of the package to dsemy.com/software/swsw. ** Update documentation strings. Documentation strings for several functions and variables have been updated to be more clear and to better comply with Emacs' conventions. ** Update installation instructions. Installation instructions have been updated to indicate the possibility of installing the package from GNU ELPA. Note: at the time of writing this, this isn't actually possible yet, but the instructions have been updated since I'm expecting this to be possible soon. ... ...