mirror of
https://github.com/emacs-exwm/exwm.git
synced 2024-11-27 14:57:59 +01:00
Emacs X Window Manager
e3d33a4aad
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. |
||
---|---|---|
.elpaignore | ||
.gitignore | ||
exwm-config.el | ||
exwm-core.el | ||
exwm-floating.el | ||
exwm-input.el | ||
exwm-layout.el | ||
exwm-manage.el | ||
exwm-randr.el | ||
exwm-systemtray.el | ||
exwm-workspace.el | ||
exwm.el | ||
README.md | ||
xinitrc |
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).