dsemy.com [Up]

Window Commander

Emacs package providing a minor mode for switching to windows or performing actions on them using IDs assigned to them automatically. Read the manual for more information.


All releases listed in reverse chronological order.

Version 3.0.2

  • Fix manual links.

Version 3.0.1

  • Fix ELPA build.

Version 3.0

  • Rename to Window Commander.
  • Remove functions and vars obsoleted in version 2.x.
  • Accept a :minibuffer keyword argument for wincom-define-window-command instead of using a positional argument.

Version 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.

Version 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.

Version 2.1.1

  • Now available on NonGNU ELPA.
  • Indicate that some functions are for interactive use only.

Version 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).

Version 2.0.2

  • No user visible changes. See the Git log for more information.

Version 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.

Version 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
    • Custom variable swsw-minibuffer-id is no longer defined or used anywhere, instead providing the same functionality through swsw-select-minibuffer.
    • Command swsw-select no longer accepts a window ID as an optional argument.

Version 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.

Version 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 documentation strings. Documentation strings for several functions and variables have been updated to be more clear and to better comply with Emacs' conventions.

Version 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.

Version 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 were displayed before version 0.3. swsw-mode-line-conditional-display-function displays window IDs in the same way but only when window selection is in progress.


The main repository is hosted at SourceHut.

Copyright © Daniel Semyonov 2020-2024