• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

goodies/H03-Jan-2005-8,3616,021

tests/H03-Jan-2005-63

.jewel.prcs_auxH A D03-Jan-20054.1 KiB7675

ChangelogH A D03-Jan-200522.9 KiB598470

Changelog.DLRH A D03-Jan-20054.1 KiB10877

Changelog.jewelH A D03-Jan-20052.3 KiB5548

INSTALLH A D03-Jan-2005296 2315

LICENSEH A D03-Jan-200517.6 KiB340281

MakefileH A D03-May-20221.7 KiB7548

READMEH A D03-Jan-200510.1 KiB236179

aewm.hhH A D03-May-20226.6 KiB246138

basemenu.ccH A D03-Jan-200516.5 KiB878642

basemenu.hhH A D03-May-20224.9 KiB179103

basemenuitem.hhH A D03-Jan-20051.5 KiB6631

client.ccH A D03-Jan-200547.1 KiB2,0701,422

client.hhH A D03-Jan-20055.7 KiB231148

configH A D03-Jan-200512.2 KiB297280

genericmenu.ccH A D03-Jan-20051.4 KiB6131

genericmenu.hhH A D03-Jan-20051.1 KiB3912

iconmenu.ccH A D03-Jan-20052.8 KiB13891

iconmenu.hhH A D03-Jan-20051.3 KiB5221

jewel.1xH A D03-Jan-20055.4 KiB12296

jewel.prjH A D03-Jan-20054.5 KiB10092

main.ccH A D03-Jan-2005940 326

misc.ccH A D03-Jan-20052.4 KiB9347

windowmanager.ccH A D03-May-202254.3 KiB2,2391,704

windowmanager.hhH A D03-Jan-200510 KiB361203

windowmenu.ccH A D03-Jan-20053.4 KiB156109

windowmenu.hhH A D03-Jan-20051.3 KiB5221

README

1jewel - A More Featureful C++ Window Manager
2======================================================================
3Copyright (C) 2002 MJ Ray
4Parts Copyright (C) 2002 David Lawrence Ramsey
5Parts Copyright (C) 2002 Frank Hale
6
7Why was this done?
8
9I'm frustrated with how slowly new features are getting into aewm++, so I
10(MJR) decided to fork it in the best tradition of GPL and try to produce a
11fast-moving development version in the best tradition of release early,
12release often.  I have some time and the others have little, so let's see
13where this goes.
14
15At this point, most of Frank's writing below applies.  David's changes are
16described in Changelog.DLR and mine will go into Changelog.MJR.
17
18Please send me patches to markj@cloaked.freeserve.co.uk and I'll review them
19and probably add them.  Try to make sure you are diffing against the current
20release, though, please.
21
22
23aewm++ - The C++ version of aewm
24======================================================================
25
26Why was this done?
27
28This was done for the simple fact that the C version of aewm spawned
29many new window managers. In other words it is a great peice of code
30in which to hack. Hopefully by having a C++ version of it, it will
31inspire even more C++ programmers to hack it into yet more window managers.
32
33What does it do?
34
35The C++ version does everything the C version does and more. The programs in
36the goodies directory were discarded. The reason for this is they are obsolete
37if you use fspanel and appbar. If you want these programs then download
38the aewm source code. In the future I plan on starting my own goodies directory
39where I will distribute appbar, and other little goodies to complement aewm++.
40
41aewm++ provides window maximization, iconification, shading and virtual desktops
42in addition to the regular aewm features.
43
44By default aewm++ starts with 4 virtual desktops (or workspaces if you like).
45Switching is done via the page up and page down keys while mouse pointer is over
46the root window. You can specify more virtual desktops by passing the
47-md <number of workspaces> to aewm++ at runtime.
48
49aewm++ is designed for a 3 button mouse or a 2 button mouse with 3 button emulation
50on.
51
52Window maximization is done by double clicking with the first mouse button on
53the titlebar, double clicking on a maximized window restores it to its original
54position and size.
55
56Shading a window is done by middle clicking on the titlebar. Do this again and
57the window will become unshaded.
58
59To iconify a window simply press the first mouse button on the little box at the
60right edge of the titlebar. aewm++ doesn't provide any native way to uniconify windows.
61If used in conjunction with fspanel it works nicely.
62
63As of version 1.0.13 there is now an icon menu. If you middle click on the root
64window you will see the icon menu if you have clients that are iconified. If no
65clients are iconified you will see nothing. If you middle click on the root window
66again while the menu is open it will hide. Icons for the current desktop are the
67only ones that show. Once you switch desktops whatever icons on that desktop will
68show.
69
70More features will be added to aewm++ as needed. I want to get it to where all
71the standard things you'd expect in a window manager are supported. The focus
72is also to keep aewm++ as lite as possible. It also picks up development where aewm
73left off, it hasn't undergone any new development in quite a long time.
74
75Partial GNOME support was added, enough to get aewm++ working fully with fspanel.
76I highly recommend using fspanel with aewm++ as it fits together nicely!
77
78C++ version - Frank Hale <frankhale@yahoo.com>
79
80*************************
81**ORIGINAL README BELOW**
82*************************
83
84aewm - An X11 Window Manager
85======================================================================
86
87aewm is a minimalistic window manager for X11. I wrote it mostly to
88learn about X and the ICCCM, but also to fight software bloat. Instead
89of expanding to fill your entire "desktop environment", aewm's main
90purpose is to get out of your way and allow you to use other programs
91to control things like menus, icons, backgrounds, cursors, root
92backgrounds, and so on.
93
94It doesn't do "themes", or have much in the way of configuration.
95This is a philosophical statement; it's better to do your work than
96distract yourself with pretty little borders around it. I myself
97haven't changed the default background color in, well, ever.
98
99Another goal I had in writing aewm was to create an easily readable
100and hackable implementation of the ICCCM. While I'm not 100% there
101yet, I think I've at least made the dense jungle of Xlib a bit more
102understandable. You are encouraged to take the code and do your own
103thing with it. For this reason I chose a liberal license that should
104allow you to add your favorite GPL or BSD flavour if you see fit.
105
106I was planning on using the name "swim" (Simple WIndow Manager), but
107someone snapped that up while I was getting the code ready for general
108consumption. "ae" doesn't really stand for anything, but I am a big
109fan of Autechre. ;-)
110
111The latest release is at http://www.red-bean.com/~decklin/aewm/.
112
113Installation
114======================================================================
115
116Before compiling, check the default (DEF_foo) options in aewm.h, and
117the defines in the Makefile. DEF_FONT is of particular interest; make
118sure that it is defined to something that exists on your system. You
119can turn -DSHAPE off if you don't have the Shape extension, and
120-DMWM_HINTS on if you have the Lesstif or Motif headers installed.
121
122"make" will compile everything, and "make install" will install it.
123The goodies/ directory must be compiled separately.
124
125I've decided not to use imake or autoconf because the Makefiles they
126generate are nearly impossible to read, and I wanted to learn how to
127do it myself. If you need to hack the Makefile in order to get it to
128work, please email me so I can take your configuration into account.
129
130Using It
131======================================================================
132
133aewm adds a titlebar with a small box on the right to each window.
134The availible commands are as follows:
135
136    Button  Titlebar  Box
137    ------  --------  --------
138    1       Raise     Hide
139    2       Move      Resize
140    3       Lower     Delete
141
142Each button will also start a different program when you click on the
143root window. These programs can be defined with the -new1, -new2, and
144-new3 options.
145
146aewm places new windows based on the position of the mouse. If your
147mouse is in the center of the the screen, a new window will be
148centered; as you move the mouse to a side or corner, the position of
149the window will move there.
150
151Please note that there is no `unhide' operation to undo the `hide'
152operation. You'll need one of the goodies for that.
153
154Goodies
155======================================================================
156
157The goodies directory has been deleted. All of the default aewm goodies
158have been deleted. If you want them download aewm source code. The
159reason for this is because I don't plan on changing any of them so its
160redundant to include them here.
161
162In the future a new goodies directory will be created with my own programs
163to complement aewm++.
164
165Caveats
166======================================================================
167
168aewm is really not meant for 2-button mice. If you are stuck with one,
169make sure you can emulate a third button by chording, and try running
170xmodmap -e 'pointer = 1 3 2'. This will make your right button be #2,
171and a chord #3. I have a few 3 button mice lying around so you can
172always ask me to mail you one. ;-)
173
174The Makefiles may cause problems with non-GNU or out-of-date versions
175of make. If you have problems, try upgrading first, or just
176substituting `gmake' for `make'.
177
178Acknowledgements
179======================================================================
180
181In case this sounds familiar, it is. This project would have been
182nearly impossible without the greatly appreciated work of David Hogan
183on 9wm, which I based my design on. I can't thank him enough.
184
185> The latest version of 9wm is held at ftp://ftp.cs.su.oz.au/dhog/9wm.
186> 9wm was written by David Hogan (dhog@cs.su.oz.au), a postgraduate
187> student at the Basser Department of Computer Science, University of
188> Sydney (http://www.cs.su.oz.au/basser_home.html).
189
190Thanks to Christophe Tronche for HTML-ifying the ICCCM and other
191essential X documentation (http://www.tronche.com/gui/x/).
192
193Adam Sampson <azz@gnu.org> wrote the initial code for MWM hints and
194menu-ified goodies.
195
196License - Below is the license aewm is under.
197I have gotten permission from Decklin to release my changes under
198the GNU GPL.
199======================================================================
200
201Copyright (c) 1998-2001 Decklin Foster.
202
203THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS", WITHOUT ANY EXPRESS
204OR IMPLIED WARRANTIES OF ANY KIND. IN NO EVENT SHALL THE AUTHOR BE
205HELD LIABLE FOR ANY DAMAGES CONNECTED WITH THE USE OF THIS PROGRAM.
206
207You are granted permission to copy, publish, distribute, and/or sell
208copies of this program and any modified versions or derived works,
209provided that this copyright and notice are not removed or altered.
210
211Portions of the code were based on 9wm, which contains this license:
212
213> 9wm is free software, and is Copyright (c) 1994 by David Hogan.
214> Permission is granted to all sentient beings to use this software,
215> to make copies of it, and to distribute those copies, provided
216> that:
217>
218>     (1) the copyright and licence notices are left intact
219>     (2) the recipients are aware that it is free software
220>     (3) any unapproved changes in functionality are either
221>           (i) only distributed as patches
222>       or (ii) distributed as a new program which is not called 9wm
223>               and whose documentation gives credit where it is due
224>     (4) the author is not held responsible for any defects
225>         or shortcomings in the software, or damages caused by it.
226>
227> There is no warranty for this software.  Have a nice day.
228
229Author
230======================================================================
231
232aewm is maintained by Decklin Foster <decklin@red-bean.com>. If you
233have bug reports, comments, flames, want permission to change the
234license, or are just bored, send me email. Your messages are
235appreciated (but do read the thing above about virtual desktops ;-).
236