To install this package, run in Emacs:
M-x package-install RET swsw RET
swsw - Simple window switching swsw (simple window switching) is an Emacs package which provides a minor mode for switching to windows using IDs assigned to them automatically. Installation: From ELPA: (not available yet) M-x package-install RET swsw RET From the repository: Clone the repository: $ git clone 'https://git.sr.ht/~dsemy/swsw' Build the package: $ cd swsw $ make Install the package: M-x package-install-file RET /path/to/clone/swsw-VERSION.tar RET 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-function’). - Window IDs are assigned to all windows on all frames except for the minibuffer(by default, see ‘swsw-scope’). C-x o ID switches focus to the window which corresponds to ID. C-x o m switches focus to the minibuffer if it's active. C-x o 0 ID deletes the window which corresponds to ID. More commands can be added through ‘swsw-command-map’: (define-key swsw-command-map [?a] #'my-command) You can customize ‘swsw-mode’ using the customize interface: M-x customize-group RET swsw RET For more information see the (swsw) info node. Copyright: Copyright © 2020-2022 Daniel Semyonov <firstname.lastname@example.org> Licensed under GPLv3 or later.
swsw NEWS -- history of user-visible changes. -*- mode: outline -*- See the end of the file for an explanation of the versioning scheme. * 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. * 1.1 ** Add the ability to customize the scope of 'swsw-mode'. 'swsw-scope' controls in which frames 'swsw-mode' tracks windows. ** Fix conditional display functions potentially breaking when the user presses 'C-g' ('keyboard-quit') while reading a window ID. ** Bind 'C-x o' to 'swsw-select' in 'swsw-mode-map' by default. ** Add an info node. An info node (swsw) has been added which documents all user facing parts of the package in detail. * 1.0 ** Add support for multi-character IDs. IDs can now be constructed from multiple characters taken from 'swsw-id-chars', when there are enough tracked windows. ** Add support for alternate display functions. A new customization variable has been added: 'swsw-display-function'. If it is set to a function, that function is used to display window IDs instead of the mode line lighter. See the documentation of the variable for more information. Two reference functions are provided: 'swsw-mode-line-display-function' displays window IDs similarly to the way they ... ...