Emacs X Window Manager
Find a file
Chris Feng e3d33a4aad Prevent Emacs frames from restacking themselves
Putting Emacs frames (workspace frames, floating frames) into dedicated
containers greatly simplifies the stacking order management and totally
fixes relevant issues.

* exwm-floating.el (exwm-floating--set-floating): Create floating frame
container.  Remove redundant stacking order modification code.
(exwm-floating--unset-floating): Destroy the floating frame container.
No need to reparent the X window container.
(exwm-floating--do-moveresize): Resize the floating frame container.
* exwm-input.el (exwm-input--update-focus): No need to restack frames.
* exwm-layout.el (exwm-layout--show, exwm-layout--set-frame-fullscreen)
(exwm-layout-enlarge-window): Resize the floating frame container.
* exwm-manage.el (exwm-manage--on-ConfigureRequest): Re-enable stacking
order modification on ConfigureRequest.

* exwm-workspace.el (exwm-workspace--confirm-kill-emacs): Reparent out all
frames on exit.  No need to remove selected events or created resources.
(exwm-workspace--init): Create workspace frame containers.

* exwm-layout.el (exwm-layout-set-fullscreen):
* exwm-manage.el (exwm-manage--unmanage-window): Remove a redundant call to
`xcb:flush'.

* exwm-manage.el (exwm-manage--unmanage-window): Force unmap the X window.
Unmap the floating frame before reparent it.
2016-02-20 21:52:07 +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 Add some useful key bindings 2016-02-07 10:45:59 +08:00
exwm-core.el Redefine mode-specific keys 2016-02-20 10:02:11 +08:00
exwm-floating.el Prevent Emacs frames from restacking themselves 2016-02-20 21:52:07 +08:00
exwm-input.el Prevent Emacs frames from restacking themselves 2016-02-20 21:52:07 +08:00
exwm-layout.el Prevent Emacs frames from restacking themselves 2016-02-20 21:52:07 +08:00
exwm-manage.el Prevent Emacs frames from restacking themselves 2016-02-20 21:52:07 +08:00
exwm-randr.el Fix system tray issues after updating workspaces 2016-02-19 17:12:43 +08:00
exwm-systemtray.el Minor fixes for system tray 2016-02-19 20:18:29 +08:00
exwm-workspace.el Prevent Emacs frames from restacking themselves 2016-02-20 21:52:07 +08:00
exwm.el Fix system tray issues after updating workspaces 2016-02-19 17:12:43 +08:00
README.md Fix system tray issues after updating workspaces 2016-02-19 17:12:43 +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)
  • Workspace support
  • ICCCM/EWMH compliance
  • (Optional) RandR (multi-monitor) support
  • (Optional) system tray

Please check the User Guide for more details.

Note: If you install EXWM from source, you need to manually install XELB (either from source or GNU ELPA).