Homepage: http://tarsius.github.com/xmonad-emacs/
Author: Jonas Bernoulli
Updated:
Integrate XMonad and Emacs
MAINTAINER WANTED. I have stopped using xmonad and switched back to wmii. Xmonad is a nice window manager but I really like the way windows are arranged in columns in wmii. Making xmonad behave the same way would have required learning haskell - and I just don't have the time for this at the moment. If you are interested in taking over this library please contact me - but be aware that this library is not quite usable yet in it's current form. xmonad-emacs tries to create an even more enjoyable environment than what you already get from just using both xmonad and emacs by making the two aware of one another. xmonad-emacs consists of xmonad.el which make emacs aware of xmonad and XMonad.Util.Emacs to make xmonad aware of emacs. Additionally a shell script wrapper around emacsclient named emonad is provided which allows using emacs as a menu, just like xmobar or dzen. The two most important features of xmonad-emacs are: * Instead of using one minibuffer per frame a dedicated minibuffer frame is used which is placed at the bottom (or top) of the screen and is visible on all workspaces. * When completing input in the minibuffer the *Completions* buffer is shown in a dedicated frame. This frame can eigher float over other X windows or is placed at one of the edges of the screen while other X windows are resized to make room for it. Once input is confirmed or aborted the frame is removed. This has at least the following benefits: * Both the minibuffer and completion buffers appear in consistant places on the screen. * The active buffer doesn't shrink when completing some input. * Last but not least emacs can be used as a menu - from xmonad itself for example to spawn application but also by other applications like Uzbl that could benefit from using something a bit more advanced than Dmenu. `xmonad-mode' can be turned off but this currently fails to restore the previous configuration completely. Most notably the minibuffer frame is not removed because existing frames can not easily be modified to use their own minibuffer window instead of the default minibuffer frame. For more information see http://tarsius.github.com/xmonad-emacs/. Configuration: TODO cleanup and extend Emacs has to be configures as follows. But before you do that you should first configure Xmonad as described at http://http://tarsius.github.com/xmonad-emacs/XMonad-Util-Emacs.html. This example assumes a monitor resolution of 2560x1600. The minibuffer frame is places at the bottom and the completion frame at the left. (add-to-list 'load-path "/path/to/emacs/xmonad/") (require 'xmonad) (setq xmo-minibuffer-frame-alist '((left . 0) ; pixels (top . 1570) ; pixels (width . 282) ; characters (height . 2) ; lines (strut-bottom . 30) ; pixels (strut-bottom-end-x . 1599))) ; pixels, do not forget this (setq xmo-completions-frame-alist '((left . 0) (top . 19) (width . 50) (height . 103) (strut-left . 468) (strut-left-end-y . 1566))) ; do not forget this (xmonad-mode 1) **** **** This library REDEFINES `completion--insert-strings' **** DEFINED IN `minibuffer.el'. ****