by kiwanami

Customizable window manager for emacs

215 Stars 25 Forks Last release: Not found 346 Commits 5 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

E2WM : Equilibrium Emacs Window Manager

E2WM is a window manager for Emacs. It enables to customize the place of pop-up window, how the windows are split, how the buffers are located in the windows, keybinds to manipulate windows and buffers, etc. It also has plug-ins to help your Emacs life.

Buffer history

Buffers that you edit is recorded in a special history. It will help you to go back and forth to edit these buffers.


Depending on the kind of your task, you can change how the windows are split. Following the term from Eclipse, it is called perspective. E2WM has the following perspectives by default.

Code perspective

code perspective

Place a buffer for reading/writing code at center and helper plug-ins around of it.

Two / HTwo perspective

two perspective

Show two buffers by splitting left and right (two) or top and bottom (htwo).

Doc perspective

doc perspective

Read long code or document in the follow-mode.

Dashboard perspective


Put the buffers you want see occasionally.

Array perspective


Show all the buffers you have and help searching for the buffer you are looking for visually.

Emacs DBI

Emacs DBI

Emacs DBI (Database Interface for Emacs Lisp) has it's own perspective to manipulate database.

See also emacs-edbi.


Perspective is highly customizable. You don't need to split windows by yourself anymore; let E2WM do the job!


E2WM can have windows which have a specific function, something like Eclipse's "view". It is called plug-in. E2WM has the following plug-ins by default. (Yes, you can create your own plug-ins also.)


history-list plug-in

history-list2 plug-in

Show buffer history.

files (dired)

files plug-in

A list of files in the current directory.


imenu plug-in

Show the outline of the current code and the current position on it using Imenu.


Put e2wm.el and window-layout.el in your load-path. This is a very simple setting example:

(require 'e2wm)
(global-set-key (kbd "M-+") 'e2wm:start-management)

Have a look at e2wm-config.el to see how to customize E2WM.

Warning: E2WM overrides Emacs lisp functions which is related to window manipulation. It is possible that E2WM does not work in your environment. It is recommended to test if E2WM works find before use it to serious files.




License GPL v3

Repository http://github.com/kiwanami/emacs-window-manager

SAKURAI, Masashi m.sakurai atmark kiwanami.net

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.