Emacs X Window Manager
Find a file
Steven Allen 2f229de5af Improve exwm-workspace-switch keymaps
Instead of one big keymap that we re-create when we initialize the
workspace module, this patch creates 4 keymaps:

1. A private "switch by index" keymap that's defined once.
2. A private "switch by name" keymap that's updated whenever
exwm-workspace-index-map is changed.
3. A public exwm-workspace-switch-map for general+user keybindings.
4. A fourth keymap that combines all three of these.

That way, the user can customize the public keymap as desired.

* exwm-workspace.el
(exwm-workspace--switch-history)
exwm-workspace--switch-history-outdated): Move declarations.
(exwm-workspace--switch-by-index-map): New keymap for switching
workspaces by index.
(exwm-workspace--switch-by-name-map): New keymap for switching
workspaces by name.
(exwm-workspace-index-map): Update the switch-by-name map and
mark the history as outdated whenever this variable is customized.
(exwm-workspace--switch-map)
(exwm-workspace--workspace-from-frame-or-index):
Renamed exwm-workspace--switch-map to exwm-workspace-switch-map.
(exwm-workspace--init-switch-map): Removed.
(exwm-workspace-switch-map): The new user-customizable map replacing
exwm-workspace--switch-map.
(exwm-workspace--switch-composed-map): The combined map used by
exwm-workspace-switch.
(exwm-workspace--update-switch-by-name-map): New function to update the
switch-by-name map, called on by the customization framework and on
initialization of the workspace module.
2024-12-29 05:29:16 +00:00
.elpaignore ; Add LICENSE to .elpaignore 2024-01-12 15:01:18 +01:00
.gitignore Minor fixes for packaging 2015-09-21 13:31:57 +08:00
exwm-background.el ; Use standard package footer formatting 2024-12-22 14:06:14 +01:00
exwm-core.el Use defvar-keymap and keymap-set instead of define-key (#108) 2024-12-28 01:21:10 +00:00
exwm-floating.el ; Use standard package footer formatting 2024-12-22 14:06:14 +01:00
exwm-input.el Reduce autoloads 2024-12-23 14:14:58 +01:00
exwm-layout.el Reduce autoloads 2024-12-23 14:14:58 +01:00
exwm-manage.el Replace if/when-let with if/when-let* (#105) 2024-12-23 21:32:05 +00:00
exwm-randr.el Reduce autoloads 2024-12-23 14:14:58 +01:00
exwm-systemtray.el ; Use standard package footer formatting 2024-12-22 14:06:14 +01:00
exwm-workspace.el Improve exwm-workspace-switch keymaps 2024-12-29 05:29:16 +00:00
exwm-xim.el ; Use standard package footer formatting 2024-12-22 14:06:14 +01:00
exwm-xsettings.el ; Use standard package footer formatting 2024-12-22 14:06:14 +01:00
exwm.el exwm-enable: Set environment variable INSIDE_EXWM 2024-12-23 22:20:47 +01:00
LICENSE Add license file 2022-02-10 00:00:00 +00:00
README.md ; README: Refer to the user guide for installation instructions 2024-01-14 12:32:02 +01:00

Emacs X Window Manager

EXWM (Emacs X Window Manager) is a full-featured tiling X window manager for Emacs built on top of XELB.

It features:

  • Fully keyboard-driven operations
  • Hybrid layout modes (tiling & stacking)
  • Dynamic workspace support
  • ICCCM/EWMH compliance

Optional features:

  • RandR (multi-monitor) support
  • System tray
  • Input method
  • Background setting support
  • XSETTINGS server

Please check out the screenshots to get an overview of what EXWM is capable of, and the user guide for installation instructions and a detailed explanation of its usage.