Emacs X Window Manager
Find a file
Chris Feng 0e4055d339 Add auto-hiding minibuffer support
* exwm-floating.el (exwm-floating--set-floating): Take auto-hiding
minibuffer into account when calculating available height.
(exwm-floating--unset-floating): Restack the container to avoid further
restacking.
* exwm-input.el (exwm-input--update-focus): Use more accurate restacking.
(exwm-input--on-minibuffer-setup): Replaced by
`exwm-layout--on-minibuffer-setup' and `exwm-workspace--on-minibuffer-setup'.
(exwm-input-command-whitelist, exwm-input--during-command)
(exwm-input--on-KeyPress-line-mode): The functionality of
`exwm-input-command-whitelist' is replaced by `exwm-input--during-command',
which can automatically tell whether functions like `read-event' are being
called.
(exwm-input--init): Add/remove corresponding hooks.
* exwm-layout.el (exwm-layout--on-minibuffer-setup): Also set input focus.
(exwm-layout--on-echo-area-change): New function for refreshing layout when
the size of echo area changes.
(exwm-layout--init): Track size changes for fixed minibuffer and echo area.
* exwm-manage.el (exwm-manage--on-ConfigureRequest): Never grant restacking
requests initiated by other clients.
* exwm-workspace.el (exwm-workspace--minibuffer): New variable for the
auto-hiding minibuffer.
(exwm-workspace-minibuffer-position): For setting the position of the
auto-hiding minibuffer.
(exwm-workspace-display-echo-area-timeout): Seconds before echo area
auto-hides.
(exwm-workspace--display-echo-area-timer): The corresponding timer.
(exwm-workspace-switch): Configure the auto-hiding minibuffer when
switching workspace.
(exwm-workspace--update-minibuffer): New function for adjusting the height
of the auto-hiding minibuffer.
(exwm-workspace--on-ConfigureNotify): New function for configuring the
container of the auto-hiding minibuffer.
(exwm-workspace--display-buffer): New function for forcing
`minibuffer-completion-help' to use the workspace frame.
(exwm-workspace--show-minibuffer, exwm-workspace--hide-minibuffer):
New functions for showing/hiding the auto-hiding minibuffer (container).
(exwm-workspace--on-minibuffer-setup, exwm-workspace--on-minibuffer-exit):
New functions called when the auto-hiding minibuffer entered/exists.
(exwm-workspace--on-echo-area-dirty, exwm-workspace--on-echo-area-clear):
New functions when the auto-hiding echo area is ready to show/hide.
(exwm-workspace--init): Set up the auto-hiding minibuffer and workspace
frames.  Track sizes changes for auto-hiding minibuffer and echo area.
No need to set OverrideRedirect on workspace frames.
* exwm.el (exwm--init-icccm-ewmh): Correct the value of _NET_WORKAREA.
2016-02-06 12:59:33 +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 Update copyright year to 2016 2016-02-02 22:33:58 +08:00
exwm-core.el Merge branch 'feat/virtual-root' 2016-02-03 13:30:14 +08:00
exwm-floating.el Add auto-hiding minibuffer support 2016-02-06 12:59:33 +08:00
exwm-input.el Add auto-hiding minibuffer support 2016-02-06 12:59:33 +08:00
exwm-layout.el Add auto-hiding minibuffer support 2016-02-06 12:59:33 +08:00
exwm-manage.el Add auto-hiding minibuffer support 2016-02-06 12:59:33 +08:00
exwm-randr.el Merge branch 'feat/virtual-root' 2016-02-03 13:30:14 +08:00
exwm-workspace.el Add auto-hiding minibuffer support 2016-02-06 12:59:33 +08:00
exwm.el Add auto-hiding minibuffer support 2016-02-06 12:59:33 +08:00
README.md Work around subrs that block EXWM; other minor fixes 2015-09-27 19:43:06 +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 operation
  • Hybrid layout modes (tiling & stacking)
  • Workspace support
  • ICCCM/EWMH compliance
  • Basic RandR support (optional)

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