Emacs X Window Manager
Find a file
Chris Feng 810b4716a1 Update timestamp for WM_TAKE_FOCUS ClientMessage
* exwm-input.el (exwm-input--timestamp-window)
(exwm-input--timestamp-atom, exwm-input--timestamp-callback): New
variables for updating timestamp.
(exwm-input--set-focus): Send WM_TAKE_FOCUS ClientMessage with updated
timestamp.
(exwm-input--update-timestamp): New utility function for fetching
timestamp.
(exwm-input--on-PropertyNotify): New function for handling
PropertyNotify event to extract the timestamp.
(exwm-input--init): Create resources for updating timestamp; attach the
event listener.
(exwm-input--on-ButtonPress, exwm-input--on-KeyPress):
* exwm.el (exwm--on-PropertyNotify): No longer update timestamp.

* exwm-input.el (exwm-input--set-focus): Avoid setting input focus on
already focused X windows, or when the input focus in not on a Emacs
frame if globally active model is in use.

* exwm-floating.el (exwm-floating--set-floating):
* exwm-workspace.el (exwm-workspace-move-window)
(exwm-workspace--add-frame-as-workspace, exwm-workspace--init):
Set 'exwm-id' frame parameter as the numerical (inner) frame X ID.
2016-08-09 13:34:29 +08:00
.elpaignore Code cleanups 2015-09-06 17:18:48 +08:00
.gitignore Minor fixes for packaging 2015-09-21 13:31:57 +08:00
exwm-config.el Fix workspace creation and deletion 2016-07-21 12:48:12 +08:00
exwm-core.el Sync with XELB 2016-07-29 17:05:09 +08:00
exwm-floating.el Update timestamp for WM_TAKE_FOCUS ClientMessage 2016-08-09 13:34:29 +08:00
exwm-input.el Update timestamp for WM_TAKE_FOCUS ClientMessage 2016-08-09 13:34:29 +08:00
exwm-layout.el * exwm-layout.el (exwm-layout--show): Fix the position of floating 2016-08-06 21:42:43 +08:00
exwm-manage.el Fix coordinates calculations concerning workspaces 2016-08-09 13:26:15 +08:00
exwm-randr.el Fix workspace creation and deletion 2016-07-21 12:48:12 +08:00
exwm-systemtray.el Set background pixmap for system tray embedder 2016-08-07 13:34:50 +08:00
exwm-workspace.el Update timestamp for WM_TAKE_FOCUS ClientMessage 2016-08-09 13:34:29 +08:00
exwm.el Update timestamp for WM_TAKE_FOCUS ClientMessage 2016-08-09 13:34:29 +08:00
README.md Mention dynamic workspace in various places 2016-07-19 10:36:14 +08:00
xinitrc Limit X host-based auth permissions. 2015-11-15 03:35:54 +00: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) RandR (multi-monitor) support
  • (Optional) Built-in system tray

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

Note: If you install EXWM from source, it's recommended to install XELB also from source (otherwise install both from GNU ELPA).