Modifications to the classic aewm window manager
License
joshuaeckroth/aewmx
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
aewm - An Exiguous/Exegetic Window Manager ---------------------------------------------------------------------- aewm is a minimal window manager for X11. It is extremely light on features and memory usage, and suitable for slower or embedded systems. It is also intended to provide an example implementation of most of the ICCCM and some of the EWMH, in a simple and clear way, so that you can easily hack on it or appropriate its code for another program. It is not, however, an obsessively complete "reference" implementation; features that are distracting or unnecessary have been skipped. The user interface is minimal, and as much of it as possible is implemented in separate clients. Installation ---------------------------------------------------------------------- Before compiling, look in ``src/Makefile'' and enable any options your system supports. Optionally, change any of the default settings in ``src/aewm.h'' (DEF_FONT, in particular, should be something that will always exist on your server). Then, run ``make; make install''. Usage ---------------------------------------------------------------------- aewm adds a small frame containing the window's name to each window, with a small box in the upper-right corner. All operation are performed with the mouse, as follows: Button Frame Box ======================= 1 Raise Iconify 2 Move Resize 3 Lower Kill 4 Shade Zoom 5 Unshade Unzoom Button 2 operations require a click, hold and drag; all others are a single click. Iconified windows are unmapped, and their management is left up to other clients. Clicking any button on the root window will launch another client. By default, these are: Button Client ======================= 1 aemenu --switch 2 xterm 3 aemenu --launch 4 aedesk -1 5 aedesk +1 Newly mapped windows are placed relative to available space based on the relative position of the mouse on the entire screen. If interactive mapping is turned on with -map, you can move the mouse to change this position before clicking to set it. Using button 1 for this click will map the newly created window on top of the stack, button 3 on the bottom, and button 2 will start a resize operation. Virtual Desktops ---------------------------------------------------------------------- Versions from 1.3.0 on support virtual desktops, as defined by the EWMH specification. Switching from one desktop to another, or setting the number of desktops available, is accomplished by sending a message to the root window; the included client ``aedesk'' can be used for this. To move an existing client to a different desktop, set the appropriate property on that window. The ``xprop'' command in the X11R6 distribution can do this interactively, with e.g. ``xprop -f _NET_WM_DESKTOP 32c -set _NET_WM_DESKTOP 0''. Clients ---------------------------------------------------------------------- The ``clients'' subdirectory contains several other clients which can be used together to provide a usable windowing environment. ``aemenu'' pops up a menu of programs to be launched, or (when given the ``--switch'' option) other currently running clients. ``aepanel'' stays at the edge of your display and uses buttons to represent other clients. It also allows you to open the same menu of programs. Their config file will be searched for in ``~/.aewm/clientsrc'' and then ``/etc/X11/aewm/clientsrc''. an example is provided in ``doc/clientsrc.ex''. When using aemenu, you can just exec aewm in your ``~/.xsession'' script, but if you prefer to use aepanel, or want to switch/restart window managers without closing your X session, you can start aewm in the background and exec aepanel or aesession instead. (aesession is a program which does nothing but hold the X session open and reap child processes.) Keyboard Bindings ---------------------------------------------------------------------- aewm does not grab any keys. This is by design, and recommendation of the ICCCM. Instead, you can use xbindkeys (which is unfortately not included in the stardard X distribution). For example, in ``~/.xbindkeysrc'': "xwit -opposite -current" Alt + Tab "aedesk 0" Alt + F1 "aedesk 1" Alt + F2 (This "alt-tab" is not quite as useful as GNOME's. Properly circulating only managed, non-panel, non-taskbar-skipped windows would require a client that recognizes those EWMH hints, as X's native window circulation support works on a much lower level.) Other Caveats ---------------------------------------------------------------------- aewm does not set the root cursor. To do this, you can do something like ``xsetroot -cursor_name left_ptr.''. There is no -display option, since there is no stardard way to pass this on to child processes. Instead, use ``DISPLAY=host:0 aewm''. The Makefiles may cause problems with older versions of tradional make. Try upgrading first, or substitute ``gmake'' for ``make''. You may want to adjust with NAME_SIZE in aepanel, as larger values can cause large buttons to crowd out smaller ones, but smaller values can reduce readability. Acknowledgements ---------------------------------------------------------------------- This project would have been nearly impossible without the greatly appreciated work of David Hogan in creating 9wm, on which I based my design. I can't thank him enough. Sadly, David passed away in 2003. A memorial page for him can be found at <http://unauthorised.org/dhog/>. Thanks to Christophe Tronche for HTML-ifying the ICCCM and other essential X documentation, available at <http://www.tronche.com/gui/x/>. Adam Sampson <ats@offog.org> wrote the initial code for MWM hints, Xft support, and menu-ified goodies. Author ---------------------------------------------------------------------- Copyright 1998-2007 Decklin Foster <decklin@red-bean.com>. This program is free software; please see LICENSE for details. aewm's web page is at <http://www.red-bean.com/~decklin/software/aewm/>.
About
Modifications to the classic aewm window manager
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published