root / trunk / ONEWS

Revision 12, 7.9 kB (checked in by petli, 8 years ago)

Preparing 2.1 release

Line 
1-*-outline-*-
2
3* Version 1.4 (15 Dec 2000)
4
5** PLWM
6
7*** Abstraction: Client filters
8
9Client filters are a way to create arbitrarily complex conditional
10expressions to select clients.  This can be used to e.g. cycle among
11all iconified windows with a name matching "xterm*".
12Client filters are located in plwm.cfilter, see the documentation
13in it for details.
14
15All code which previously used Client.client_in_list (e.g. the client
16attributes no_border_clients, start_iconified) and also some new
17pieces of code now use client filters.  The query_clients methods in
18WindowManager and Screen also uses client filters now.
19
20*** Client cycle module completely rewritten
21
22Module plwm.cycle has been completely rewritten.  It is now much more
23general and uses the new client filters to select which filters to
24use.  A keyhandler template class, plwm.cycle.CycleKeys is also
25provided to make it easier to define cycling key bindings.
26
27*** New feature: mouse clicks can be simulated
28
29If the XTEST extension is available (see below), mouse clicks can be
30simulated by calling the function WindowManager.fake_button_click().
31More complicated button press simulations could also be implemented by
32the adventurous.
33
34*** Better keymaps: `Any' modifier
35
36Key handlers can now be bound to a certain key, ignoring any
37modifiers.  This is done by using the special prefix `Any_' for key
38handlers, e.g. `Any_F9'.
39
40*** Abstraction: outline drawing as client mixin classes
41
42Outline drawing has been generalised into client mixin classes.  This
43means that any code which needs to draw an outline simply calls
44methods on the client.  It is therefore now easy to write different
45outline mixin classes.  Currently the classic xor outline is provided,
46but future outline methods could, e.g., use a shaped window or a
47number of small windows, one for each line.
48
49
50** plxlib
51
52*** New Display methods: FakeKeyEvent and FakeButtonEvent
53
54If the X library support the XTEST extension, the Display methods
55FakeKeyEvent and FakeButtonEvent are available.  These can be used
56to simulate user input. 
57
58*** New Window method: Reparent
59
60The Window method Reparent has been implemented.  This will make it
61possible to have real window frame support in PLWM, but for now it is
62only used to work around a bug in a stupid client application (Sun's
63Java AWT for Linux).
64
65
66* Version 1.3 (4 Jul 2000)
67
68** PLWM
69
70*** Abstraction: template key binding class for moveresize
71
72plwm.moveresize.MoveResizeKeys is a template class providing functions
73for all move and resize functions.  To use it, simple subclass it and
74assign the functions to key bindings.  This is meant to make it easier
75to define your own plwm.py keybindings, and more template classes will
76probably follow.
77
78*** Bug fix: Resizing windows with size hints (WMNormalHints)
79
80In some quite obscure situations the size hints (WMNormalHints) on
81windows wasn't used correctly when moving or resizing.  This meant
82that windows (typically Emacs windows created with C-x 5 2) became a
83little too large, quite ugly.  A more careful study of the ICCCM
84pointed out the misusage.
85
86
87** plxlib
88
89*** Ridiculously large memory leaks fixed
90
91A misunderstanding of the Python object C API meant that window
92objects never freed their memory when garbed.  This is now fixed, and
93means that the large and annoying memory leaks which previously had
94been attributed to circular reference chains are finally fixed.
95Additionally, a few cases of incorrect refcounts (too high) has also
96been fixed, again mostly affecting window objects.
97
98*** New module: XK
99
100XK provided constants for keysyms.
101
102*** Small new function: Window objects can be hashed
103
104A hash function is now provided for window objects, which, together
105with the compare function, means that window objects can be used as
106dictionary keys.
107
108
109** Miscellaneous
110
111*** New configure flag: --with-python
112
113The new configure script flag --with-python tells PLWM to use a
114specific Python binary.  Can be used if Python isn't in your $PATH, or
115if you want to use a special Python, e.g. one with refcount debugging
116enabled.
117
118
119
120* Version 1.2 (4 Apr 2000)
121
122** PLWM
123
124*** New feature: window manager status display.
125
126The window title display in an xmodewin has been incorporated in a
127new, more flexible system.  PLWM can now display a status message
128about what it is doing, and temporarily switch this to some other
129message temporarily.  Typically, the title of the currently focused
130window is displayed by default.  But when moving/resizing a window it
131is replaced with the title and current geometry of the moved/resized
132window.
133
134There are currently no other modules using of this feature, but more
135will probably follow.  An example: when deiconifying, display the
136title of the currently selected window.
137
138*** Yet more memory leaks fixed.
139
140Those annoying circular references continue to hog memory.  This time
141it was the Client objects which never got garbed because of the
142circular reference Client -> WindowDispatcher -> Client method ->
143Client.  Solved by having the Client object dropping the reference to
144the WindowDispatcher when its window is withdrawn.
145
146
147** Utilities/plxlib
148
149*** Better handling when no X resources are set.
150
151xmodewin, xmwbiff and friends crashed at startup if no X resources had
152been set with xrdb.  The function plxlib.GetStringDatabase is now more
153permissive and allows the input argument None, which solves this
154problem.
155
156
157** Miscellaneous
158
159*** Fully controllable ./configure
160
161./configure now has the option --with-python-path which controls where
162the plwm and plxlib modules is installed.  This path does not have to
163be in sys.path by default, the various PLWM programs will insert it if
164necessary.
165
166*** Better installation
167
168The install target now depends on all.  All modules will be compiled
169at installation.
170
171
172* Version 1.1 (24 Feb 2000)
173
174** PLWM
175
176*** Better documentation.
177
178The documentation (doc/plwm.texi) has been revised and extended, most
179importantly with a section on how to actually use PLWM and the various
180utilities together.  The Makefile now contains rules for building
181PostScript and HTML in addition to info files.
182
183*** Module import bug fixed.
184
185Embarrasingly, when changing to module layout to use packages I forgot
186to update an import statement in modetitle.py.  I didn't find this
187myself because an old PLWM installation lurked in a dark corner of my
188$PYTHONPATH.
189
190*** Multihead has been tested, bugfixed and now actually works.
191
192Multihead required two improvements to the core classes.  First, event
193handling was modified to make a global, screen-independent
194EventDispatcher possible.  Second, instaed of using os.system to run
195program PLWM now has a system call for the screens.  This system sets
196the $DISPLAY correctly, and also have some nice bells-and-whistles
197(unused right now, however).
198
199*** Memory leak fixed.
200
201There was a memory leak in the KeyHandler class, caused by a nasty
202circular reference preventing KeyHandler objects to be deleted.  So
203each time one moved a window or deiconified a window, a few kilobytes
204was lost.
205
206*** Better font and color handling.
207
208The font and color allocation routines have been rewritten to better
209use a fallback font or color.  This means that PLWM will not crash
210disgustingly just because a font cannot be found, instead using
211"fixed".  Fonts and colors are now set with standard X resources
212instead of using methods in the plwm.  This makes it easier to have a
213single PLWM executable for different environments.
214
215*** More view featuritis.
216
217Views can be tagged with arbitrary strings.  You can then jump to a
218view based on these tags, similar to the way you could previously
219jump to a view based on the clients on it.
220
221
222** Utilites
223
224*** xmodewin and wmm
225
226Easier to use in new environments: if the desired font doesn't exist
227they use "fixed" instead.  wmm doesn't crash if its configuration file
228.wmmrc doesn't exist, and uses a default configuration instead.
229
230
231** Miscellaneous
232
233*** Build procedure
234
235A common error is that the development files of Python isn't
236installed.  The ./configure script now detects this and prints a
237helpful message.
238
239* Version 1.0 (8 Jan 2000)
240
241First public release.
Note: See TracBrowser for help on using the browser.