]> icculus.org git repositories - mikachu/openbox.git/blob - ChangeLog
alpha3
[mikachu/openbox.git] / ChangeLog
1 2003-07-31  xor@zed.orodu.net  <xor@zed>
2
3         * kernel/openbox.c: oops missed one
4
5         * kernel/openbox.c, kernel/openbox.h: expose exit_with_error
6
7         * plugins/placement/history.c: kill warnings
8
9         * kernel/session.c: kill some output
10
11         * kernel/openbox.c:
12         only load the session from file if a file was provided
13
14         * render/font.c: missing a header
15
16         * README.CVS: remove shit i no longer use
17
18         * parser/parse.c: always return a string from parse_string
19
20         * kernel/client.c:
21         set the desktop hint if the desktop is changed by the session code
22
23         * kernel/client.c:
24         set the desktop hint after everything is read/setup even session stuff
25
26         * kernel/client.c:
27         add the window to the lists before setting the client list hint
28
29         * kernel/session.c:
30         declare functions that are needed when built without session support
31
32         * kernel/session.c:
33         use the new sm_client_id function so all windows who should save state do. session save/load seems to be working with gnome-session rather well.
34
35         * kernel/client.c, kernel/client.h:
36         add a function to retrieve the sm_client_id value
37
38         * plugins/placement/history.c:
39         dont save/load history. its slow and its stupid.
40
41 2003-07-30  xor@zed.orodu.net  <xor@zed>
42
43         * kernel/client.c, kernel/prop.c, kernel/prop.h, kernel/session.c, kernel/session.h:
44         restore saved session data for applications
45
46         * plugins/placement/placement.c: center transients
47
48         * data/rc3, kernel/config.c, kernel/config.h, kernel/frame.c, render/theme.c, render/theme.h:
49         move the titlebar layout from the theme to the rc file
50
51         * kernel/client.c: attemp #3
52
53         * kernel/client.c: attempt #2 at better logical size values
54
55         * kernel/client.c: include the base size in the logical size
56
57         * ChangeLog: recent changes
58
59         * kernel/client.c: the size can be 0 when there is a base size
60
61         * kernel/client.c, kernel/client.h, kernel/event.c:
62         improved ICCCM compliance!
63           a) send ConfigureNotify back to the client as required by the ICCCM in all sitatuations.
64           b) send the corrent coords in the ConfigureNotify, including the border width
65           c) remove the WM_STATE property when unmanaging a window
66
67         * kernel/frame.c: code cleaning
68
69         * kernel/menu.c: only ignore wheel buttons
70
71 2003-07-30  xor@zed.orodu.net  <xor@zed>
72
73         * client.c: the size can be 0 when there is a base size
74
75         * client.c, client.h, event.c: improved ICCCM compliance!
76           a) send ConfigureNotify back to the client as required by the ICCCM in all sitatuations.
77           b) send the corrent coords in the ConfigureNotify, including the border width
78           c) remove the WM_STATE property when unmanaging a window
79
80         * frame.c: code cleaning
81
82         * menu.c: only ignore wheel buttons
83
84 2003-07-29  xor@zed.orodu.net  <xor@zed>
85
86         * event.c: i am the king of copy/paste errors
87
88 2003-07-29  woodblock  <woodblock@zed>
89
90         * event.c: more menu fixes.
91         I hate menus.
92
93         * menu.c: Clear current_menu when hiding menus.
94
95         * event.c, menu.c: Close menu properly on unbound keys.
96
97         * menu.c: Fix some keyboard control issues.
98
99 2003-07-28  xor@zed.orodu.net  <xor@zed>
100
101         * client.c, event.c:
102         base rudeness on if they have a strut even smarter!
103
104         * client.c, event.c: base rudeness on if they have a strut or not
105
106         * client.c, event.c, screen.c:
107         make the new placement restrictions not affect !normal windows like panels
108
109         * menu.c: use plugin_open_reopen not plugin_open_full
110
111         * event.c, frame.c, frame.h, framerender.c:
112         hover theme elements for window titlebar buttons
113
114         * client.c, client.h, event.c, screen.c:
115         make those apps stay/map on screen!! fuck stupid apps. thats right im talking to you mozilla and you too java.
116
117         * event.c: make things compile again. hover does not work yet.
118
119         * client.c: use the macro
120
121         * client.c, event.c:
122         keep apps from moving/maping their titlebar underneath left/top panels
123
124         * session.c: set teh clone comamnd
125
126         * session.c:
127         use char not a long, since we're telling the SM that its 1 byte lone
128
129         * session.c: save the commands on startup
130
131         * session.c: use the path properly for the session file
132
133         * session.c: use teh save file not the session id
134
135 2003-07-28  woodblock  <woodblock@zed>
136
137         * menu.c: demand load plugins from the menu
138
139         * event.c, menu.c: Menu stuff.
140         Testing may begin.
141
142 2003-07-26  woodblock  <woodblock@zed>
143
144         * event.c: Close menu on click if outside the menu.
145         I think, haven't tested.
146
147         * menu.c: more fixes
148
149 2003-07-26  xor@zed.orodu.net  <xor@zed>
150
151         * stacking.c: dont stack groups together
152
153 2003-07-26  woodblock  <woodblock@zed>
154
155         * event.c, menu.c, menu.h: Some menu updates.
156         Don't talk to me about menus.
157
158 2003-07-26  xor@zed.orodu.net  <xor@zed>
159
160         * stacking.c: dont stack groups together
161
162 2003-07-26  woodblock  <woodblock@zed>
163
164         * event.c, menu.c, menu.h: Some menu updates.
165         Don't talk to me about menus.
166
167 2003-07-25  xor@zed.orodu.net  <xor@zed>
168
169         * client.c, client.h:
170         add client_search_transient which searches the tree from a client down for a client
171
172         * stacking.c: stacking fixes
173
174 2003-07-24  xor@zed.orodu.net  <xor@zed>
175
176         * openbox.c, openbox.h, session.c, session.h:
177         save and load the session save file, though its data is not used yet!
178
179 2003-07-24  woodblock  <woodblock@zed>
180
181         * event.c, menu.c, menu.h, menu_render.c:
182         I had a commit message but my commit got stepped on so fuck it.
183         No one cares what I think anyway.
184         If the menu navigation isn't EXACTLY FUCKING RIGHT I WILL REMOVE IT
185         AND SOME OTHER POOR FUCK CAN PUT UP WITH ALL THE FUCKING BULLSHIT.
186
187 2003-07-24  xor@zed.orodu.net  <xor@zed>
188
189         * action.c, client.c, debug.h, dock.c, event.c, focus.c, menu.c, menu_render.c, openbox.c, screen.c:
190         use ob_debug for any debug printing and only display the output when its a debug build or when --debug is passed to it
191
192 2003-07-24  xor@zed.orodu.net  <xor@zed>
193
194         * configure.ac:
195         dont display the build type at the end its already in the output
196
197         * configure.ac, kernel/action.c, kernel/client.c, kernel/debug.h, kernel/dock.c, kernel/event.c, kernel/focus.c, kernel/menu.c, kernel/menu_render.c, kernel/openbox.c, kernel/screen.c, parser/parse.c, plugins/keyboard/keyboard.c, plugins/keyboard/translate.c, plugins/menu/client_menu.c, plugins/placement/history.c, render/color.c, render/gradient.c, render/instance.c, render/theme.c, tools/obconf/main.c:
198         use ob_debug for any debug printing and only display the output when its a debug build or when --debug is passed to it
199
200         * render/gradient.c:
201         draw the bevel stuff in the pixel data buffer so parent-relative stuff can use it.
202
203         * render/render.c: space
204
205 2003-07-23  xor@zed.orodu.net  <xor@zed>
206
207         * render/render.c:
208         init the parent shit in the surface when making a copy
209
210         * Makefile.am: use rm -f
211
212         * plugins/menu/include_menu.c: declare vars at top
213
214         * plugins/menu/timed_menu.c:
215         i already fixed this once :) var declarations go first
216
217         * Makefile.am: include obconf_interface.h in the dist
218
219         * Makefile.am: remove headers that dont exist
220
221         * plugins/menu/.cvsignore: add the include menu plugin
222
223         * m4/Makefile.am: add the new m4s
224
225 2003-07-23  woodblock  <woodblock@zed>
226
227         * plugins/menu/timed_menu.c: Timed menu updates. Still needs work.
228
229         * plugins/menu/client_menu.c:
230         Better placement of the client window. Might need some tweaking.
231
232 2003-07-23  xor@zed.orodu.net  <xor@zed>
233
234         * kernel/menu.c: unhilite the entry for the submenu when it is closed
235
236         * configure.ac: alpha2
237
238         * DESIGN/themes.txt: add hover
239
240 2003-07-23  woodblock  <woodblock@zed>
241
242         * Makefile.am, plugins/menu/include_menu.c:
243         Added include_menu.c as an example of how one could write a plugin.
244
245         * kernel/config.c, kernel/menu.c, parser/parse.c, plugins/keyboard/keyboard.c, plugins/menu/fifo_menu.c, plugins/mouse/mouse.c, plugins/placement/history.c:
246         * Change xml parsing to pass the parent node, rather than the first
247         child.
248         * Add x,y co-ordinates on showmenu action so we can place menus on keypress.
249
250 2003-07-22  xor@zed.orodu.net  <xor@zed>
251
252         * kernel/event.c, kernel/openbox.c, kernel/openbox.h, kernel/screen.c:
253         add the --replace command line option, and support for the WM_Sn selection
254
255         * kernel/prop.c, kernel/prop.h: add the MANAGER atom.
256         allow prop_message to be used with a user-defined mask instead of only with the NetWM mask
257
258         * plugins/keyboard/keyboard.c:
259         set the x/y values in the moveresize struct for moveresize key actions
260
261         * kernel/client.c: stop shownig the desktop when a new window maps
262
263         * kernel/menu.c: add a func to find a menu entry from a submenu.
264         keep menu entries highlighted while they have their submenu open
265
266         * kernel/menu.h: add a func to find a menu entry from a submenu
267
268         * plugins/menu/fifo_menu.c: declare vars at the top of the block
269
270         * kernel/menu.c, render/theme.c, render/theme.h:
271         add a menuOverlap property to themes, and use it in the submenu placement
272
273         * configure.ac: update to new version of gettext
274
275         * m4/.cvsignore, po/.cvsignore: more stuff to ignore
276
277 2003-07-21  woodblock  <woodblock@zed>
278
279         * kernel/event.c, kernel/menu.c, kernel/menu.h:
280         Keyboard navigatable menus
281
282 2003-07-19  woodblock  <woodblock@zed>
283
284         * kernel/action.c, kernel/menu.c: Fix a couple memory leaks.
285
286         * plugins/menu/fifo_menu.c:
287         If there is a pid="true" attribute in the <menu plugin="fifo_menu">
288         tag, append .pid to the fifo files. This allows for more than one
289         openbox to be run by the same user and use fifo menus.
290
291 2003-07-17  woodblock  <woodblock@zed>
292
293         * kernel/menu.c, kernel/menu.h, kernel/plugin.c, kernel/plugin.h, plugins/menu/fifo_menu.c:
294         Menu parsing updates for plugins.
295
296         FIFO menus are the only plugin that takes advantage of this.
297         Example:
298         <menu id="root" label="Openbox 3">
299           <menu id="fonk" label="fonk" plugin="fifo_menu">
300           </menu>
301         </menu>
302
303         This creates a FIFO ~/.openbox/fifo_menu/fonk to which you can send
304         menus to. The menus sent to it must be like
305         <fifo>
306           <item>
307            etc...
308         </fifo>
309
310         I think. If my memory serves me right.
311
312         It is all hideous, but I just wanted to experiment and see if it was
313         possible.
314
315 2003-07-12  xor@zed.orodu.net  <xor@zed>
316
317         * render/theme.c: useless code move
318
319         * kernel/client.c: simple code cleanup
320
321 2003-07-11  xor@zed.orodu.net  <xor@zed>
322
323         * render/color.c, render/render.c:
324         removed the RrEndian so using LSBFirst always now. hopefully this works!
325
326         * kernel/client.c:
327         when a transient maps on another desktop, give it focus when it deserves it
328
329         * render/render.h: same default offsets for all endian machines
330
331         * DESIGN/themes.txt: some input from woobie and changed the menu stuff
332
333         * DESIGN/themes.txt: extra menu tag
334
335         * kernel/openbox.c: add --g-fatal-warnings
336
337         * kernel/dock.c:
338         fix a seggie i introduced, going too far in the dockapps list
339
340         * DESIGN/themes.txt: attempt #2
341
342         * DESIGN/themes.txt: oops extra menu_layout
343
344         * DESIGN/themes.txt: a full style defn..
345
346         * kernel/client.c: move to the desktop of the activated window
347
348 2003-07-10  xor@zed.orodu.net  <xor@zed>
349
350         * kernel/action.c, kernel/client.c, kernel/client.h, kernel/frame.c, kernel/frame.h, kernel/framerender.c, kernel/openbox.c, render/theme.c, render/theme.h, tests/.cvsignore, tests/noresize.c:
351         add disabled buttons, instead of now showing buttons at all when they wont do anything, now show a disabled button instead. this severely breaks compatibility with blackbox themes since there is no good way to automiatically create a disabled button that i can think of, so if they dont exist in the theme you get black and white for the button.
352
353         when a window cant be resized, its handle is not removed but its grips are.
354
355         change allowing the user to disable individual decorations as that is overkill,
356         instead allow a toggle through the client.decorate boolean.
357
358         * tests/Makefile: readd the Makefile
359
360         * kernel/focus.c: simply startup/shutdown
361
362         * AUTHORS: add some more contributors
363
364         * kernel/openbox.c: sync is in unistd.h
365
366         * kernel/client.c, kernel/event.c, kernel/menu.c, kernel/menu.h, kernel/menu_render.c, kernel/window.c, kernel/window.h, plugins/menu/client_menu.c, plugins/menu/fifo_menu.c, plugins/menu/timed_menu.c:
367         prefix and capitalize ObMenu ObMenuEntry and ObMenuEntryRenderType
368         make the ObMenuEntryRenderType a standard enum instead bitflags
369
370         * kernel/focus.c, kernel/openbox.c, kernel/openbox.h, kernel/screen.c, kernel/screen.h:
371         move ob_pointer_pos to screen_pointer_pos
372
373         * kernel/client.c, kernel/dock.c, kernel/event.c, kernel/focus.c, kernel/frame.c, kernel/openbox.c, kernel/openbox.h, kernel/screen.c, kernel/stacking.c, plugins/placement/history.c, plugins/placement/placement.c:
374         make ob_state a function so it cant be changed outside of openbox.c
375
376         * kernel/client.c, kernel/dock.c, kernel/event.c, kernel/focus.c, kernel/frame.c, kernel/grab.c, kernel/menu.c, kernel/moveresize.c, kernel/openbox.c, kernel/openbox.h, kernel/popup.c, kernel/prop.c, kernel/screen.c, kernel/stacking.c, kernel/startup.c:
377         remove the ob_root var, its redundant of what Xlib already provides
378
379         * kernel/openbox.c, kernel/openbox.h: use gint
380
381         * kernel/openbox.c, kernel/openbox.h:
382         ob_remote has been killed, remove ob_sync from the public header, its only used internally
383
384         * kernel/openbox.c, kernel/openbox.h:
385         the --rc arg and rc_path var wasnt even being used so just rm it
386
387         * kernel/action.c, kernel/event.c, kernel/openbox.c, kernel/openbox.h:
388         make the ob_restart/shutdown stuff static vars and expose them only through functions ob_restart_other(), ob_restart() and ob_exit()
389
390         * kernel/stacking.c: remove useless include
391
392         * kernel/focus.c, kernel/focus.h, kernel/screen.c, kernel/screen.h, kernel/stacking.c, plugins/keyboard/keyboard.c:
393         replace the focus_backup with the screen_support_win, we dont need 2 offscreen windows.
394
395         * kernel/screen.c:
396         use the xerror stuff to trap errors instead of dupliacted the effort here
397
398         * kernel/dock.c, kernel/dock.h, kernel/screen.c, kernel/timer.c, kernel/timer.h, plugins/keyboard/keyboard.c, plugins/menu/timed_menu.c:
399         prefix the Timer->ObTimer and TimeoutHandler->ObTimeoutHandler shitz
400
401         * kernel/action.h, kernel/client.c, kernel/client.h, kernel/config.c, kernel/config.h, kernel/dispatch.c, kernel/dispatch.h, kernel/dock.c, kernel/event.c, kernel/extensions.h, kernel/framerender.c, kernel/framerender.h, kernel/menu.c, kernel/menu.h, kernel/menu_render.c, kernel/moveresize.c, kernel/popup.h, kernel/screen.h, kernel/stacking.c, kernel/stacking.h, kernel/window.c, kernel/window.h, plugins/keyboard/keyboard.c:
402         prefixing and capitalizing the StackLayer -> ObStackingLayer enum.
403         less includes in headers for less rebuilding on changes
404
405         * kernel/client.c, kernel/event.c, kernel/focus.c, kernel/focus.h, kernel/screen.c:
406         prefix and capitalize the ObFocusFallbackType enum
407
408         * kernel/config.c, kernel/config.h, kernel/dock.c:
409         use the ObOrientation enum instead of a horz bool for configuring the dock's orientation
410
411         * kernel/config.c, kernel/config.h, kernel/dock.c, kernel/dock.h, kernel/event.c, kernel/window.c, kernel/window.h:
412         prefixing for the dock. use ObDirection instead of dupliacting it in another enum for the dock's placement
413
414         * kernel/popup.c, kernel/popup.h:
415         prefixing for the Popup->ObPopup struct
416
417         * kernel/moveresize.h: dont need client.h in this header
418
419         * kernel/client.h, kernel/event.c, kernel/frame.c, kernel/frame.h, kernel/framerender.c, kernel/framerender.h, kernel/popup.c, plugins/mouse/mouse.c:
420         prefixing and capitalization for the Frame->ObFrame struct and the Context->ObFrameContext enum and its constants.
421
422         * kernel/client.h, kernel/group.c, kernel/group.h:
423         prefix Group to ObGroup
424
425         * kernel/client.c, kernel/client.h, kernel/focus.c, kernel/stacking.c:
426         prefix TRAN_GROUP to OB_TRAN_GROUP
427
428         * kernel/action.c, kernel/client.c, kernel/client.h, kernel/frame.h, kernel/screen.c:
429         prefix and capitalize some more constants/enums in client.h (Function -> ObFunctions and WindowType -> ObClientType)
430
431         * plugins/menu/client_menu.c, plugins/menu/fifo_menu.c, plugins/menu/timed_menu.c:
432         kill warnings
433
434         * kernel/action.c, kernel/action.h, kernel/client.c, kernel/client.h, kernel/dispatch.c, kernel/dispatch.h, kernel/event.c, kernel/focus.c, kernel/focus.h, kernel/frame.c, kernel/frame.h, kernel/framerender.c, kernel/group.c, kernel/group.h, kernel/menu.c, kernel/menu.h, kernel/moveresize.c, kernel/moveresize.h, kernel/popup.c, kernel/popup.h, kernel/screen.c, kernel/screen.h, kernel/stacking.c, kernel/window.c, kernel/window.h, plugins/keyboard/keyboard.c, plugins/mouse/mouse.c, plugins/placement/history.c, plugins/placement/history.h, plugins/placement/placement.c, plugins/resistance/resistance.c:
435         rename the Client struct to ObClient
436
437         * Makefile.am: add the new misc.h and mwm.h to the kernel sources
438
439         * kernel/client.c, kernel/client.h, kernel/mwm.h:
440         add a mwm.h for the mwm hint structure and flags.
441         use proper prefixing and capitalization for the new mwm stuff.
442
443         * kernel/action.c, kernel/action.h, kernel/client.c, kernel/client.h, kernel/dispatch.c, kernel/dispatch.h, kernel/dock.c, kernel/event.c, kernel/focus.c, kernel/frame.c, kernel/grab.c, kernel/grab.h, kernel/misc.h, kernel/moveresize.c, kernel/openbox.c, kernel/openbox.h, kernel/screen.c, kernel/screen.h, kernel/stacking.c, plugins/keyboard/keyboard.c, plugins/placement/history.c, plugins/placement/placement.c, plugins/resistance/resistance.c:
444         add misc.h with some standard enumerations with proper prefixing and capitalizations.
445
446         use the new enums throughout.
447
448         provide keycodes and cursors through ob_cursor and ob_keycode functions, which use the new misc.h enums for picking the cursor and keycode.
449
450         * kernel/client.c, kernel/client.h, kernel/event.c, kernel/extensions.c, kernel/focus.c, kernel/menu.c, kernel/moveresize.c, kernel/screen.c, kernel/screen.h, plugins/menu/client_menu.c, plugins/placement/placement.c, plugins/resistance/resistance.c:
451         rename 'xinerama' stuff to 'monitors' to be more generic and descriptive.
452
453         * kernel/stacking.c: speed up pick_group_windows too
454
455         * kernel/stacking.c: make pick_windows waaaay faster
456
457         * kernel/openbox.c:
458         remove the use of the BINARY define. kill a compiler warning.
459
460         * kernel/stacking.c: allow restacking of transients above one another
461
462         * kernel/focus.c:
463         put the transient's title before the parent's in the focus popup
464
465         * kernel/extensions.c, kernel/extensions.h:
466         remove the xinerama active boolean, just count the extension as not present if it is not active
467
468         * kernel/client.c, kernel/client.h: add client_search_top_transient.
469         keep transients all on the same desktop together. use client_search_top_transient where possible in client.c
470
471         * kernel/debug.c, kernel/debug.h:
472         add ob_debug for printing stuff only when debug is enabled
473
474         * plugins/mouse/mouseparse.c, plugins/mouse/mouseparse.h:
475         these havent been used for a long time.. ;) old parsing shit be gone
476
477         * render/color.c, render/font.c, render/font.h, render/geom.h, render/image.c, render/image.h, render/mask.c, render/mask.h, render/render.c, render/render.h:
478         remove rependancy on geom.h from the kernel, provide what is used in its own geom.h
479
480         * Makefile.am, configure.ac, data/.cvsignore, data/Makefile, data/Makefile.am, kernel/.cvsignore, kernel/Makefile, kernel/Makefile.am, parser/.cvsignore, parser/Makefile, parser/Makefile.am, plugins/.cvsignore, plugins/Makefile.am, plugins/keyboard/.cvsignore, plugins/keyboard/Makefile, plugins/keyboard/Makefile.am, plugins/menu/.cvsignore, plugins/menu/Makefile, plugins/menu/Makefile.am, plugins/mouse/.cvsignore, plugins/mouse/Makefile, plugins/mouse/Makefile.am, plugins/placement/.cvsignore, plugins/placement/Makefile, plugins/placement/Makefile.am, plugins/resistance/.cvsignore, plugins/resistance/Makefile, plugins/resistance/Makefile.am, render/.cvsignore, render/Makefile, render/Makefile.am, themes/.cvsignore, themes/Makefile, themes/Makefile.am, themes/ebox_data/.cvsignore, themes/ebox_data/Makefile.am, themes/fieron2_data/.cvsignore, themes/fieron2_data/Makefile.am, themes/fieron_data/.cvsignore, themes/fieron_data/Makefile.am, tools/Makefile.am, tools/obconf/Makefile.am:
481         update the build system, using a single Makefile.am for a sexyass non-recursive make. booyah!
482
483         * gettext.h, kernel/gettext.h:
484         move the gettext header out to the root source dir
485
486 2003-07-07  xor@zed.orodu.net  <xor@zed>
487
488         * render/font.c: include stdlib for exit()
489
490 2003-07-06  xor@zed.orodu.net  <xor@zed>
491
492         * bootstrap: add ACLOCAL_FLAGS to the aclocal call.
493
494 2003-07-05  xor@zed.orodu.net  <xor@zed>
495
496         * kernel/openbox.c: use --foo instead of -foo for cmd line arguments
497
498         * render/color.c, render/render.h:
499         try some better default offsets for big endian machines.
500         print what the conversion is so i can see what it should be if im wrong though
501
502         * render/color.c:
503         used RrColorShift when RrColorOffset was what we wanted
504
505         * configure.ac, kernel/Makefile.am, render/Makefile.am, render/color.c, render/color.h, render/gradient.c, render/instance.c, render/instance.h, render/render.c, render/render.h:
506         use the gdk-pixbuf-xlib library to render with
507
508         * configure.ac: coment the USE_LIBSN defined variable
509
510 2003-07-02  xor@zed.orodu.net  <xor@zed>
511
512         * kernel/stacking.c:
513         rename the raise and lower functions. raise is claimed by signal.h already
514
515 2003-06-30  xor@zed.orodu.net  <xor@zed>
516
517         * kernel/dock.c: set te strut smaller when autohide is on
518
519 2003-06-30  woodblock  <woodblock@zed>
520
521         * kernel/event.c:
522         Makes a simple click not so accidently annoying by making it not
523         execute a menu action if nothing is highlighted.
524
525 2003-06-30  xor@zed.orodu.net  <xor@zed>
526
527         * kernel/extensions.c:
528         messed up the indexes while finding the combined size of all xineerama heads
529
530         * kernel/extensions.c: oops, i want the max edges to find the full area
531
532         * CHANGELOG, ChangeLog: using a changelog generated off of CVS
533
534 2003-06-30  woodblock  <woodblock@zed>
535
536         * plugins/menu/Makefile.am:
537         Remove menu plugins because they are stupid and don't work.
538
539 2003-06-29  xor@zed.orodu.net  <xor@zed>
540
541         * kernel/prop.c:
542         the prop_get_strings_locale function looked for a utf8 typed property
543
544         * kernel/focus.c, kernel/openbox.c, kernel/stacking.c:
545         add some comments and asserts to make sure I don't ever add this bug again
546
547         * kernel/popup.c:
548         create the popup's window before adding it to the stacking list, so that it is stacked properly and doesnt wreck everything
549
550         * Makefile.am, configure.ac, data/Makefile.am, kernel/Makefile.am, parser/Makefile.am, plugins/Makefile.am, plugins/keyboard/Makefile.am, plugins/menu/Makefile.am, plugins/mouse/Makefile.am, plugins/placement/Makefile.am, plugins/resistance/Makefile.am, render/Makefile.am, themes/Makefile.am, themes/ebox_data/Makefile.am, themes/fieron2_data/Makefile.am, themes/fieron_data/Makefile.am, tools/obconf/Makefile.am:
551         prepare for alpha1 release.
552         make 'make dist' work.
553
554         * m4/.cvsignore, m4/Makefile.am:
555         add a makefile so i can put stuff into the make dist
556
557         * m4/python.m4: python support is gone
558
559         * po/POTFILES.in:
560         we dont really have any translatable stuff yet but this was pointing at old cpp shit
561
562         * plugins/placement/history.c:
563         use strcmp instead of collate, since collate is slower and we're only doing an == check
564
565         * plugins/keyboard/keyparse.c, plugins/keyboard/keyparse.h:
566         these are old and not used anymore
567
568         * render/gradient.c:
569         missed setting 'current' at the end of the pyramid gradient
570
571         * kernel/stacking.c:
572         waste of energy in stacking_add, and it even caused bugs. woops.
573
574 2003-06-29  xor@zed  <xor@zed>
575
576         * kernel/stacking.c:
577         waste of energy in stacking_add, and it even caused bugs. woops.
578
579 2003-06-29  woodblock  <woodblock@zed>
580
581         * plugins/menu/client_menu.c:
582         Update the send-to window only if the workspaces have changed.
583
584         * kernel/menu.c, kernel/menu_render.c:
585         Handle menu events a little better: don't bother updating a submenu on
586         mouseover if it is already open, and call update on menus, even if
587         they aren't marked as invalid.
588
589 2003-06-28  xor@zed  <xor@zed>
590
591         * kernel/openbox.c:
592         use fprintf not g_message in the signal handler. no mallocing allowed.
593
594         * render/font.c: remove debug print
595
596         * kernel/prop.c: set the values of the array at teh right indexes
597
598         * kernel/prop.c: fix memory bugs
599
600         * data/rc3: remove the switch to... menu
601
602         * render/font.c:
603         don't destroy font patterns, i think this is a double free
604
605         * kernel/stacking.c:
606         put group members above the window when lowering it
607
608         * kernel/stacking.c: set the stacking list when stacking changes
609
610         * themes/ebox_data/.cvsignore, themes/fieron2_data/.cvsignore, themes/fieron_data/.cvsignore:
611         ignore the generated makefiles
612
613         * themes/ebox_data/Makefile.am, themes/fieron2_data/Makefile.am, themes/fieron_data/Makefile.am:
614         add the makefiles for the themes' data dirs
615
616         * render/theme.h:
617         add the themes path to the struct. make the name never include a path
618
619         * configure.ac, themes/Makefile.am, themes/ebox_data/close.xbm, themes/ebox_data/iconify.xbm, themes/ebox_data/max.xbm, themes/fieron2_data/close.xbm, themes/fieron2_data/iconify.xbm, themes/fieron2_data/max.xbm, themes/fieron2_data/stick.xbm, themes/fieron_data/close.xbm, themes/fieron_data/iconify.xbm, themes/fieron_data/max.xbm, themes/fieron_data/stick.xbm:
620         adjust the themes with buttons to match how they are read now
621
622         * AUTHORS: simplify this shit
623
624         * render/theme.c: hardcode the button names for themes
625
626         * kernel/popup.c: dont need to raise after adding
627
628         * render/theme.c: rename the button_dir var to data_dir.. pointless :>
629
630         * plugins/resistance/resistance.c:
631         snap to all heads the window is present on
632
633 2003-06-27  xor@zed  <xor@zed>
634
635         * kernel/Makefile.am: build 'openbox' instead of 'openbox3'.
636         add the openbox.desktop file for gnome compat.
637
638         * kernel/screen.c: set "Openbox" as the name no "Openbox3"
639
640         * kernel/openbox.desktop:
641         add a .desktop file which gets installed for gnome
642
643         * kernel/.cvsignore: add the openbox binary
644
645         * kernel/openbox.c: add a call to g_set_prgname
646
647         * kernel/stacking.c:
648         stacking changes, its more like the old code without being shitty and with support for raising groups at a time.
649
650         * kernel/stacking.c: core when the list gets out of order
651
652         * kernel/client.c, kernel/client.h, kernel/dock.c, kernel/extensions.c, kernel/extensions.h, kernel/focus.c, kernel/geom.h, kernel/menu.c, kernel/menu.h, kernel/moveresize.c, kernel/screen.c, kernel/screen.h, plugins/menu/client_menu.c, plugins/placement/placement.c, plugins/resistance/resistance.c:
653         xinerama support
654
655         * data/rc3: root menu on right click
656
657         * kernel/event.c: 4 space indents
658
659 2003-06-26  xor@zed  <xor@zed>
660
661         * kernel/grab.c:
662         return true when ungrabbing so that it can ungrab them all on shutdown
663
664         * kernel/grab.c:
665         set ret to true when grabbing and we alerady have it grabbed
666
667         * render/font.c:
668         dont destroy the match pattern, it seems that Xft holds onto the pointer
669
670         * kernel/client.c:
671         check that extensions_vidmode is set before trying to use the vidmode functions
672
673         * plugins/keyboard/keyboard.c: if grab fails dont set grabbed_key
674
675         * kernel/grab.c, kernel/grab.h: return FALSE if a grab fails
676
677         * kernel/client.c:
678         set the desktop hint when the window already has a hint but its out of range
679
680         * kernel/event.c: clear the over item in the menu when executing shit
681
682         * kernel/stacking.h:
683         add NUM_STACKLAYER, fix some comments that dont apply
684
685         * kernel/menu.c: remove unused variable
686
687         * kernel/client.c:
688         remove/add instead of raising to put a window into a new layer
689
690         * kernel/stacking.c:
691         new stacking code that doesnt suck ass to look at, woot
692
693         * kernel/dock.c:
694         use the minsize to keep the stuff ni the dock off of the bevel edges etc
695
696         * render/theme.c: add comment
697
698         * render/font.c, render/font.h, render/render.c, render/render.h, render/theme.c, render/theme.h:
699         read fonts and titlebar layout from theme files
700
701 2003-06-25  xor@zed  <xor@zed>
702
703         * data/rc3: add right click on icon to open the client menu
704
705         * render/font.c: set teh X so it gets used right
706
707         * render/font.c:
708         keep a small space on the sides of windows between the edge and the text
709
710         * kernel/event.c: only render if there was an over existing
711
712         * kernel/event.c, kernel/menu.c, kernel/menu.h, kernel/menu_render.c:
713         menus grab the keyboard and pointer, thus making only one menu visible at a time, and making them act like gtk menus and * menus do, where you can click and drag and release to select something as well as click-release to elave it open while you search around the menu
714
715         * data/rc3: show the client meun on "press" on the icon
716
717         * plugins/menu/client_menu.c:
718         use the stock shownig method for the client menu for now, makes it pop up under the cursor so a click-release works like expected
719
720         * plugins/mouse/mouse.c:
721         use the alst button press for clicks instead of teh fisrt. it make sno diff to me really and this makes it work when you grab the pointer on the click, without leaving the mouse plugin in a weird state.
722
723         * kernel/grab.c: grab all motion events for pointer grabs
724
725 2003-06-24  xor@zed  <xor@zed>
726
727         * kernel/menu.c: position submenus correctly horizontally
728
729         * kernel/menu_render.c: menus were too short by a border width
730
731         * kernel/client.c:
732         check to make sure the window is on screen *after* positioning it
733
734         * render/gradient.c: do horz grads without any multipliaction
735
736         * render/gradient.c, render/render.h, render/test.c, render/theme.c:
737         made all the gradients work with integer math. removed the pipecross and rectangle gradietns tho cuz they are ugly and i dont want to code that bullshit cuz they are ugly.
738
739         * render/gradient.c, render/test.c:
740         integer math for gradients. horz vert and diags and pipecross work so far.
741
742 2003-06-22  xor@zed  <xor@zed>
743
744         * kernel/menu.c, kernel/menu_render.c: add a simple menu parser.
745         while menu parsing, the theme does not exist so we can't do any theme stuff while creating menu stuff, so put that off for later, i.e when the menu is shown.
746
747         * kernel/openbox.c: reorder startup so menu goes before config parsing
748
749         * data/rc3: add a root menu
750
751 2003-06-21  xor@zed  <xor@zed>
752
753         * kernel/client.c, kernel/frame.c, kernel/frame.h:
754         add decoration state to the frame struct. make client_configure adjust the frame if the decorations do not match between the client and the frame, so that when they change it can send a configurenotify to the client.
755
756         * kernel/client.c:
757         make client_reconfigure a non-user-type client_configure
758
759         * kernel/action.c:
760         strdup the exec path cuz it gets freed by the time we restart otherwise
761
762         * kernel/event.c: moveresize messages are not user-requests
763
764         * kernel/client.c: remove debug print
765
766         * kernel/client.c:
767         send teh configure event to client on user-requested final configures even if not moved, cuz usualy the final isnt sent with a change, but just to end the move process.
768
769         * render/render.c:
770         always create the bg pixmap, X seems to not like it if i dont?
771
772         * kernel/openbox.c:
773         always use the session id from the session manager when setting the restart property
774
775         * kernel/openbox.c: add -sm-disable option
776
777         * kernel/openbox.c:
778         only show -sm-client-id in the help when session management is build in
779
780         * kernel/openbox.c:
781         session management works, and it can resume with its old ID, so it works with gnome-session
782
783         * configure.ac, kernel/Makefile.am, kernel/event.c, kernel/openbox.c, m4/x11.m4:
784         make session management optional
785
786         * kernel/openbox.c:
787         set the required properties so that session managers see openbox
788
789         * render/font.c, render/theme.c:
790         don't exit in the render lib, rather return a NULL font/theme on failure
791
792         * kernel/event.c, kernel/openbox.c:
793         add libSM *client* support, so we should work with gnome-session now!
794
795         * render/instance.c, render/render.c: more namespacing with Rr*
796
797         * render/color.c: use the pseudo shit in the instance now
798
799         * render/gradient.c, render/gradient.h, render/render.c, render/color.c, render/color.h:
800         more namespacing with Rr*
801
802         * plugins/keyboard/translate.c, plugins/mouse/translate.c:
803         dont use .. in include paths
804
805         * render/image.c, render/image.h, render/render.c, kernel/client.c, kernel/screen.c, render/color.c, render/color.h, render/font.c, render/gradient.c, render/render.h, render/theme.h:
806         more namespacing with Rr*
807
808         * kernel/menu.h, kernel/menu.c: kill a warning
809
810         * kernel/openbox.c, render/font.c, render/font.h, render/render.c, render/render.h, render/theme.c, render/theme.h:
811         more namespacing to Rr*
812
813         * kernel/menu.c: fix a warning
814
815         * kernel/client.c, kernel/client.h, render/color.c, render/color.h, render/gradient.c, render/gradient.h, render/image.c, render/image.h, render/render.c, render/render.h:
816         rename pixel32/16 to RrPixel32/16
817
818         * render/color.c, render/color.h, render/render.h, render/theme.c, render/theme.h:
819         rename color_rgb to RrColor
820
821         * kernel/dock.c, kernel/frame.c, kernel/framerender.c, kernel/menu.c, kernel/menu_render.c, kernel/moveresize.c, kernel/openbox.c, kernel/openbox.h, kernel/popup.c, plugins/menu/client_menu.c, render/font.c, render/font.h, render/theme.c, render/theme.h:
822         put the render theme into a struct
823
824         * kernel/client.c, kernel/dock.c, kernel/dock.h, kernel/frame.c, kernel/frame.h, kernel/framerender.c, kernel/menu.c, kernel/menu.h, kernel/menu_render.c, kernel/moveresize.c, kernel/openbox.c, kernel/openbox.h, kernel/popup.c, kernel/screen.c:
825         fixed to accomodate the changes to the render/ API.
826
827 2003-06-20  xor@zed  <xor@zed>
828
829         * render/.cvsignore, render/Makefile.am, render/color.c, render/color.h, render/font.c, render/font.h, render/gradient.c, render/gradient.h, render/image.c, render/image.h, render/instance.c, render/instance.h, render/mask.c, render/mask.h, render/render.c, render/render.h, render/test.c, render/theme.c, render/theme.h:
830         this is going to break the kernel/ building.
831
832         lots of modifications to the render API, prefixing everything, making proper
833         names for everything. the structures are not hidden/opaque yet, but the naming scheme of the public API works much better now.
834
835         * render/font.c: oops typo
836
837         * render/font.c:
838         take the bevel width into account for the width available
839
840         * plugins/menu/client_menu.c: position the client menu right
841
842         * kernel/dock.c, kernel/frame.c, kernel/framerender.c, kernel/menu_render.c, kernel/popup.c, plugins/menu/client_menu.c, render/font.c, render/gradient.c, render/image.c, render/image.h, render/render.c, render/render.h, render/test.c, render/theme.c, render/theme.h:
843         simply the render interface by not requiring the setting of all the areas. only take a w and h in paint(). best font layout ever.
844
845         * AUTHORS: miklos does themes like mad
846
847         * render/gradient.c:
848         slight optimizations, and make the last 4 gradients work properly
849
850         * render/font.c:
851         center text vertically. use the font's height because all that space is needed for some charcters
852
853         * kernel/frame.c, kernel/framerender.c, kernel/menu_render.c, kernel/popup.c, kernel/screen.c, render/gradient.c, render/render.c, render/render.h, render/test.c, render/theme.c:
854         remove non-planar surfaces
855
856 2003-06-19  xor@zed  <xor@zed>
857
858         * configure.ac, m4/gl.m4: remove --enable-gl
859
860         * kernel/client.c:
861         fix for how base-size is used to comply with the icccm
862
863 2003-06-18  xor@zed  <xor@zed>
864
865         * kernel/framerender.c: copy the frame's surface from the prototype
866
867 2003-06-17  xor@zed  <xor@zed>
868
869         * bootstrap: export the WANT_AUTOMAKE var before running acloacl
870
871 2003-06-17  manmower  <manmower@zed>
872
873         * kernel/client.c: wake up old icon grabbing code
874
875         * render/color.c: remove unneeded/uncompiled junk
876
877 2003-06-09  manmower  <manmower@zed>
878
879         * kernel/client.c: try swapping bytes on textures
880
881         * kernel/client.c: | != &
882
883         * kernel/client.c: fix? color on icons
884
885         * kernel/client.c: remove bogus byte permutations in icon code
886
887 2003-06-08  xor@zed  <xor@zed>
888
889         * kernel/focus.c:
890         remove an extra useless call to focus_set_client(NULL)
891
892         * kernel/client.c: describe the complicated if a bit :)
893
894         * kernel/client.c: more checks for when to do an XResizeWindow
895
896         * kernel/client.c:
897         send the configure notify for resizes too, just to be a little more safe
898
899         * kernel/client.c:
900         onlt send configurenotify if the client actually moved, to work around emacs, hopefully :)
901
902         * kernel/client.c:
903         some more fixes for resizing clients. aspect ratio is not the last thing checked and so rules all, that might need to change.. however, it now uses base-size only for aspect ratios and base-size/min-size for other sizing shit, as per the ICCCM.
904
905         * kernel/client.c: from icccm:
906         If a base size is not provided, the minimum size is to be used in its place and vice versa.
907
908         Added support for this.
909
910         * kernel/frame.c: missing another bwidth
911
912         * kernel/frame.c: position titlebars better, was missing a bwidth
913
914         * kernel/client.c: i was backwards
915
916         * kernel/event.c: this cnofigure is FINAL!
917
918         * kernel/client.c:
919         don't resize the client itself while doing a resize if its not final when config_opaque_resize is not on
920
921 2003-06-04  xor@zed  <xor@zed>
922
923         * kernel/client.c:
924         better VIDMODE support, handle the cases where the functions fail
925
926         * kernel/client.c:
927         size fullscreen applications to the resolution with the VIDMODE extension
928
929         * kernel/client.c, kernel/client.h, kernel/screen.c:
930         remove the client_remaximize function, and replace it with the client_reconfigure function, which just calls client_configure with the window's current location and dimensions, user=TRUE and final=TRUE.
931
932         add support for the VIDMODE extension in client_configure, namely, fullscreen windows are positioned at the point of the viewport rather than at 0,0.
933         call client_reconfigure when uniconifying a window, so that fullscreen windows are put at the point of the view port.
934
935         * data/rc3, plugins/mouse/mouse.c, plugins/mouse/mouse.h, plugins/mouse/translate.c:
936         remove that fancy new leftHanded option, it should be done via xmodmap instead
937
938         * data/rc3, plugins/mouse/mouse.c, plugins/mouse/mouse.h, plugins/mouse/translate.c:
939         add a leftHanded option for mouse bindings, reverses the left/right keywords
940
941         * kernel/grab.c, kernel/grab.h:
942         make key grabbing per window instead of always root
943
944         * plugins/keyboard/keyboard.c:
945         grab bindings on each client's frame (and the focus_backup) instead of on the root window
946
947         * kernel/focus.c: allow cycling to iconic windows
948
949         * kernel/client.c:
950         use client_can_focus from client_focus to always get the same result
951
952         * kernel/client.c, kernel/client.h, kernel/focus.c:
953         reverting the transient focus cycle change, its just not.. right. add the parent's title to the transient's for the popup instead of just relpacing it
954
955         * kernel/focus.c:
956         better focus cycling for transients. use the parent instead of the transients in the list in case it has more than one, then after choosing it try focus a transient instead
957
958         * kernel/focus.c:
959         dont try change focus while looping thru the focus list
960
961         * kernel/client.c, kernel/client.h, kernel/focus.c:
962         allow focus_fallback to query if a client can be focused without changing the focus order on it
963
964         * plugins/keyboard/keyboard.c:
965         grab the keybaord before cycling focus for reduced latency
966
967 2003-06-03  xor@zed  <xor@zed>
968
969         * kernel/event.c, kernel/frame.c, kernel/frame.h, kernel/framerender.c, kernel/popup.c:
970         modifications to keep up with libobrender2
971
972         * kernel/popup.c: use theme stuff for the gfx/font
973
974         * kernel/frame.c: layout fixes
975
976         * kernel/frame.c: position the grips
977
978         * kernel/framerender.c: fix some theme colors/display
979
980         * kernel/Makefile.am, kernel/client.c, kernel/client.h, kernel/dock.c, kernel/dock.h, kernel/event.c, kernel/frame.c, kernel/frame.h, kernel/framerender.c, kernel/menu.c, kernel/menu.h, kernel/menu_render.c, kernel/moveresize.c, kernel/openbox.c, kernel/openbox.h, kernel/popup.c, kernel/screen.c, kernel/window.c, m4/gl.m4, plugins/menu/client_menu.c, render/.cvsignore, render/Makefile.am, render/color.h, render/font.c, render/font.h, render/gradient.c, render/gradient.h, render/image.c, render/image.h, render/mask.c, render/mask.h, render/render.c, render/render.h, render/test.c, render/theme.c, render/theme.h, COPYING, COPYING.FDL, COPYING.GPL, COPYING.LGPL, Makefile.am, README, configure.ac:
981         the kernel is using th gl shit to render itself, but with the old style frame shit here. in practice, the render and glft libraries needed some changes to be used better, these are incorporated.
982
983         * kernel/stacking.c: remove debug print
984
985         * render/color.c:
986         more unique error for unhandles image bit depths, remove debug prints
987
988         * render/color.c: handle increase_depth on 1bpp images
989
990         * kernel/client.c:
991         ignore xerrors while using the pixmaps specified by the client, since they can certainly be invalid and there's nothing i can do about it.
992
993         * kernel/client.c: rm g_messages.. ones that segfault.. :>
994
995 2003-06-02  xor@zed  <xor@zed>
996
997         * kernel/client.c: also dont increment the nicons if the w*h is 0
998
999         * kernel/client.c: watch out for 0x0 icons, and skip them
1000
1001         * kernel/menu_render.c, kernel/popup.c:
1002         create some temporary fonts to use for rendering text
1003
1004         * kernel/frame.c, kernel/menu_render.c, kernel/popup.c:
1005         set colors for text
1006
1007         * kernel/frame.c, kernel/popup.c:
1008         adjust for some api extensions in render2
1009
1010         * bootstrap: add env var to get automake 1.7
1011
1012 2003-06-01  xor@zed  <xor@zed>
1013
1014         * COPYING, COPYING.FDL, COPYING.GPL, COPYING.LGPL, Makefile.am, README, configure.ac, kernel/Makefile.am, kernel/client.c, kernel/client.h, kernel/dock.c, kernel/dock.h, kernel/event.c, kernel/frame.c, kernel/frame.h, kernel/framerender.c, kernel/menu.c, kernel/menu.h, kernel/menu_render.c, kernel/moveresize.c, kernel/openbox.c, kernel/openbox.h, kernel/popup.c, kernel/screen.c, kernel/window.c, kernel/window.h, m4/gl.m4, plugins/menu/client_menu.c, render/.cvsignore, render/Makefile.am, render/color.c, render/color.h, render/font.c, render/font.h, render/gradient.c, render/gradient.h, render/image.c, render/image.h, render/mask.c, render/mask.h, render/render.c, render/render.h, render/test.c, render/theme.c, render/theme.h:
1015         Merging in th gl2 branch. Adding a --enable-gl option to the configure script, which defaults off.
1016
1017 2003-05-30  manmower  <manmower@zed>
1018
1019         * kernel/frame.c: adjust title bar text
1020
1021 2003-05-30  xor@zed  <xor@zed>
1022
1023         * kernel/client.c:
1024         adjust what gets raised on map a bit, a little less selective.
1025
1026 2003-05-30  manmower  <manmower@zed>
1027
1028         * kernel/frame.c: add some test cases for the font crap
1029
1030 2003-05-29  xor@zed  <xor@zed>
1031
1032         * m4/openbox.m4: better alpha/beta check :)
1033
1034         * m4/openbox.m4: look for 'alpha' and 'beta' releases also
1035
1036         * kernel/stacking.c:
1037         only add non-nonintrusively when both windows share a stacking layer
1038
1039         * data/rc3: raise on client clicks
1040
1041 2003-05-28  xor@zed  <xor@zed>
1042
1043         * COPYING: remove the generic COPYING
1044
1045         * COPYING.FDL, COPYING.GPL, COPYING.LGPL: New file.
1046
1047         * COPYING.FDL, COPYING.GPL, COPYING.LGPL, README:
1048         specify different licenses for different directories
1049
1050         * kernel/action.c, kernel/action.h:
1051         rm the 'focusraise' action, it is redundant.
1052
1053         * kernel/frame.c: use the new shape API from the render libs
1054
1055         * kernel/event.c:
1056         pass expose events like i was before. cleanups in rendering to not render areas anymore. pass the surface's absx/y to planar's paint func
1057
1058         * kernel/frame.c:
1059         no button mask on the plate, and some cleanups with redundant if's
1060
1061 2003-05-28  manmower  <manmower@zed>
1062
1063         * kernel/frame.c: slightly improved theme
1064
1065 2003-05-28  xor@zed  <xor@zed>
1066
1067         * kernel/popup.c: proper centering of the text in popups without icons
1068
1069 2003-05-27  manmower  <manmower@zed>
1070
1071         * kernel/frame.c, kernel/frame.h: fixed the flicker in shape
1072         (we use a shapewindow now.  it rules, I rule, fuck X, blah blah MOOOOOOO)
1073
1074 2003-05-27  xor@zed  <xor@zed>
1075
1076         * kernel/frame.c: and typod
1077
1078         * kernel/frame.c, kernel/frame.h:
1079         some cleanups, got rid of the border shit
1080
1081         * kernel/event.c: toss out expose events to render
1082
1083         * kernel/popup.c: no more seg
1084
1085         * kernel/frame.c, kernel/frame.h: some cleanups
1086
1087 2003-05-27  manmower  <manmower@zed>
1088
1089         * kernel/frame.c: free decor when removing frame
1090
1091         * kernel/frame.c: HOW DO YOU LIKE MY SEXY NEW DECOR?!?
1092
1093         * kernel/frame.c: I get my events on decor again
1094         and probably ruined exposure for some weird case. bwa ha ha
1095
1096         * kernel/frame.c, kernel/frame.h: how about some UGLY decor!
1097
1098 2003-05-27  xor@zed  <xor@zed>
1099
1100         * kernel/popup.c: paints are now recursive
1101
1102 2003-05-27  manmower  <manmower@zed>
1103
1104         * kernel/frame.h: surface pointer please
1105
1106 2003-05-27  xor@zed  <xor@zed>
1107
1108         * kernel/popup.c: proper layout
1109
1110         * kernel/popup.c: i suck so much
1111
1112         * kernel/event.c, kernel/menu.c, kernel/popup.c: DRAWS!!
1113
1114 2003-05-27  manmower  <manmower@zed>
1115
1116         * kernel/frame.c, kernel/frame.h: added shape support for decor
1117
1118 2003-05-27  xor@zed  <xor@zed>
1119
1120         * kernel/popup.c: dont try use an icon when where isnt one
1121
1122         * kernel/client.c, kernel/client.h, kernel/dock.c, kernel/dock.h, kernel/frame.c, kernel/frame.h, kernel/framerender.c, kernel/menu.c, kernel/menu.h, kernel/menu_render.c, kernel/moveresize.c, kernel/openbox.c, kernel/openbox.h, kernel/popup.c, kernel/screen.c, kernel/window.c, plugins/menu/client_menu.c:
1123         port to the new render stuff.. but this isnt complte since we don't have themes yet.
1124
1125         * Makefile.am, configure.ac, render/.cvsignore, render/Makefile.am, render/color.c, render/color.h, render/font.c, render/font.h, render/gradient.c, render/gradient.h, render/image.c, render/image.h, render/mask.c, render/mask.h, render/render.c, render/render.h, render/test.c, render/theme.c, render/theme.h:
1126         removing the old render stuffs
1127
1128 2003-05-27  manmower  <manmower@zed>
1129
1130         * kernel/frame.c, kernel/frame.h: added % based decoration sizes
1131
1132         * kernel/frame.c, kernel/frame.h: fixed right decor anchors properly
1133
1134         * kernel/frame.c: fix right anchor point offsets
1135
1136         * kernel/frame.c: position windows for all anchor types
1137
1138         * kernel/frame.c: all decor anchors supported
1139
1140         * kernel/event.c, kernel/frame.c:
1141         change event.c to use a frame pointer instead of client pointer in framedecor
1142         frame.c now supports more decor anchors
1143
1144         yay for 1 to many commit logs
1145
1146 2003-05-26  xor@zed  <xor@zed>
1147
1148         * kernel/Makefile.am: link render version 2
1149
1150 2003-05-26  manmower  <manmower@zed>
1151
1152         * kernel/frame.c, kernel/frame.h:
1153         frame pointer in framedecor instead of client pointer
1154
1155 2003-05-26  xor@zed  <xor@zed>
1156
1157         * kernel/event.c, kernel/window.c: add case for Window_Decoration
1158
1159 2003-05-26  manmower  <manmower@zed>
1160
1161         * kernel/frame.c, kernel/frame.h: client pointer in framedecor
1162
1163         * kernel/frame.c: crap
1164
1165         * kernel/frame.c, kernel/frame.h:
1166         I can now map arbitrarily sized invalid space above my windows!
1167         I suck.
1168
1169         * kernel/frame.c:
1170         we now have no decor at all, but are otherwise functional
1171
1172 2003-05-26  xor@zed  <xor@zed>
1173
1174         * kernel/client.c:
1175         use frame->visible, not the desktop number, other states exist too, like show_desktop
1176
1177         * plugins/menu/client_menu.c, kernel/dock.c, kernel/frame.c, kernel/frame.h, kernel/framerender.c, kernel/menu.c, kernel/popup.c, kernel/screen.c, kernel/window.h:
1178         merge in the changes made in the gl branch
1179
1180         * Makefile.am, configure.ac:
1181         create the glft library. it will be using freetype and fontconfig to render fonts in GL.
1182         flesh out render2 a bit more.. actually just in comments
1183
1184         * Makefile.am, configure.ac:
1185         add a new render2 lib, which has a proper API and uses only OpenGL to render.
1186
1187         * render/render.c: remove GL from the old render lib for now
1188
1189         * configure.ac, m4/gl.m4:
1190         gl support in configure, fontconfig instead of xft
1191
1192 2003-05-26  manmower  <manmower@zed>
1193
1194         * kernel/frame.c: add back some frame adjust stuff
1195
1196         * kernel/frame.c, kernel/frame.h, kernel/framerender.c, kernel/window.h, plugins/menu/client_menu.c:
1197         complete destruction of all current frame functionality.
1198         you're welcome.
1199
1200 2003-05-25  manmower  <manmower@zed>
1201
1202         * render/gradient.c, render/mask.c, render/render.c, render/render.h, render/test.c, render/theme.c, render/theme.h, kernel/dock.c, kernel/frame.c, kernel/framerender.c, kernel/menu.c, kernel/popup.c, kernel/screen.c, render/color.c, render/color.h:
1203         everything compiles.  everything is broken.
1204
1205         rendertest works, yay.
1206
1207         * render/render.c: now it even links.
1208
1209         * render/font.c, render/font.h, render/gradient.c, render/gradient.h, render/render.c, render/render.h:
1210         once again it compiles.
1211
1212         no, it does not work
1213
1214         much has been removed.
1215
1216 2003-05-25  xor@zed  <xor@zed>
1217
1218         * configure.ac, m4/gl.m4:
1219         right branch. no more xft. fontconfig. gl. woot.
1220
1221         * configure.ac, m4/gl.m4: omg wrong branch!
1222
1223         * configure.ac, m4/gl.m4: always gl. fontconfig instead of xft.
1224
1225 2003-05-25  manmower  <manmower@zed>
1226
1227         * render/gradient.c: gl.h shouldn't be required when not enabling gl
1228
1229 2003-05-25  xor@zed  <xor@zed>
1230
1231         * README.CVS: add the glade/gtk deps for debian
1232
1233 2003-05-25  manmower  <manmower@zed>
1234
1235         * render/gradient.c, render/test.c: all grads done
1236
1237         * render/gradient.c, render/test.c: pipecross
1238
1239         * render/gradient.c, render/test.c: rectangle and diagonal grads yay
1240
1241         gl > *
1242
1243 2003-05-25  xor@zed  <xor@zed>
1244
1245         * data/rc3: Shade not Shaded
1246
1247         * README.CVS: add debian package list
1248
1249         * README.CVS: automake 1.7
1250
1251         * README.CVS: mention glib, xml, gtk and glade
1252
1253         * configure.ac:
1254         make autoconf 2.54 required. makes automake1.6 get used on some systems
1255
1256 2003-05-25  manmower  <manmower@zed>
1257
1258         * render/gradient.c, render/gradient.h, render/render.c, render/render.h, render/test.c:
1259         gl is starting.  it's gonna get really ugly really fast, folks
1260
1261 2003-05-24  xor@zed  <xor@zed>
1262
1263         * Makefile.am, configure.ac, kernel/Makefile.am, kernel/action.c, kernel/action.h, kernel/config.c, kernel/focus.c, kernel/openbox.c, kernel/parse.c, kernel/parse.h, kernel/plugin.c, parser/.cvsignore, parser/Makefile.am, parser/parse.c, parser/parse.h, plugins/Makefile.am, plugins/interface.h, plugins/keyboard/keyboard.c, plugins/menu/Makefile.am, plugins/mouse/mouse.c, plugins/obconf_interface.h, plugins/placement/history.c, plugins/placement/placement.c, plugins/resistance.c, plugins/resistance/.cvsignore, plugins/resistance/Makefile.am, plugins/resistance/resistance.c, plugins/resistance/resistance.glade, plugins/resistance/resistance.gladep, plugins/resistance/resistance.h, plugins/resistance/resistance_config.c, tools/.cvsignore, tools/Makefile.am, tools/obconf/.cvsignore, tools/obconf/Makefile.am, tools/obconf/about.c, tools/obconf/main.c, tools/obconf/obconf.glade, tools/obconf/obconf.gladep, tools/obconf/obconf.h, tools/obconf/plugins.c, tools/obconf/plugins.h:
1264         this is a big one! im putting stats in here just cuz!
1265          59 files changed, 1691 insertions(+), 607 deletions(-)
1266         Adding the beginings of ObConf. Adding a resistance-config plugin for ObConf.
1267         Creating an obparser library that obrender can use, the kernel can use, plugins can use, and ObConf and its plugins can use. (its just code for using libXml2)
1268
1269         * kernel/action.c: convert shit from utf8 to filename before execing it
1270
1271         * configure.ac, data/rc3, kernel/Makefile.am, kernel/config.c, kernel/openbox.c, kernel/parse.c, kernel/parse.h, kernel/parse.l, kernel/parse.y, plugins/Makefile.am, plugins/keyboard/Makefile.am, plugins/keyboard/keyboard.c, plugins/mouse/Makefile.am, plugins/mouse/mouse.c, plugins/placement/Makefile.am, plugins/placement/history.c, plugins/placement/history.h, plugins/placement/placement.c, plugins/resistance.c:
1272         ECKS EM ELL
1273
1274         * plugins/menu/client_menu.c:
1275         let the client menu open below the top of the window, just limit it at the titlebar
1276
1277         * kernel/action.c, kernel/action.h: add actions for showing the desktop
1278
1279         * kernel/action.c, kernel/action.h: soem changes to desktop actions.
1280         instead of having *wrap actions, just default to having wrap on, and let it be optionally placed into the rc to disable it.
1281         instead of next/prev desktop, just have actions for desktop to the right/left/up/down. this applies to sendtodesktop actions too.
1282
1283         * kernel/focus.c: add a DEBUG_FOCUS print
1284
1285         * kernel/event.c:
1286         there's this case where we DONT want to ignore both events or we end up without anything we know of being focused, even tho something is. this case is now covered. ps i hate focus so much.
1287
1288         * kernel/client.c: use the user friendly desktop number
1289
1290         * kernel/focus.c: clarify comment
1291
1292 2003-05-23  xor@zed  <xor@zed>
1293
1294         * kernel/event.c:
1295         dont refocus the focused window, that just causes so many problems (with alt-tab :)
1296
1297         * kernel/prop.c: validate utf8 strings before using them
1298
1299 2003-05-23  woodblock  <woodblock@zed>
1300
1301         * plugins/menu/fifo_menu.c: Fixed missing includes
1302
1303 2003-05-23  xor@zed  <xor@zed>
1304
1305         * configure.ac, kernel/Makefile.am, m4/gl.m4, plugins/Makefile.am, plugins/keyboard/Makefile.am, plugins/mouse/Makefile.am, plugins/placement/Makefile.am, render/Makefile.am:
1306         add --enable-gl support, and put the flags/libs in the appropriate makefiles
1307
1308         * kernel/focus.c: remove a todo item that seems to be.. done!
1309
1310         * kernel/focus.c:
1311         missed a case of using the stacking list and assuming that its all clients still. fixed that assumption now.
1312
1313         * kernel/event.c:
1314         ignore ancestor FocusIn events. i get them sometimes when hitting alt-tab and that totally fucks it up cuz it cancels teh alt-tab process.
1315
1316         * plugins/keyboard/keyboard.c:
1317         had some code inside the action for loop that didnt belong in there
1318
1319 2003-05-23  woodblock  <woodblock@zed>
1320
1321         * plugins/menu/client_menu.c: Add toggle decor action to client menu
1322
1323 2003-05-22  manmower  <manmower@zed>
1324
1325         * render/test.c: fix cut'n'paste bug
1326
1327 2003-05-22  xor@zed  <xor@zed>
1328
1329         * kernel/event.c: only button 1 can use menu items
1330
1331         * plugins/menu/client_menu.c: watch out for border widths
1332
1333 2003-05-22  manmower  <manmower@zed>
1334
1335         * render/render.c: removed a piece of code I suspect has never been run
1336         this is for XServers that report less than 8 bpp default visual and support
1337         8bpp or higher visuals
1338
1339         hopefully nothing is really that stupid.  we'll see.
1340
1341         * render/render.h, render/render.c:
1342         keep XVisualInfo around in preparation for opengl stuff
1343
1344 2003-05-22  xor@zed  <xor@zed>
1345
1346         * plugins/keyboard/keyboard.c: only grab C-g while in a chain
1347
1348         * plugins/menu/.cvsignore: add the client_menu stuff
1349
1350         * plugins/keyboard/keyboard.c:
1351         async key grabs to avoid race conditions with the sync stuff. there are still possible rases (yay X) but they will be much harder to hit, i expect noone will ever hit them more than once/often enuogh to realise.
1352
1353         * configure.ac:
1354         remove shit for my own makefiles that i dont need no more
1355
1356         * kernel/event.c: a missing break!
1357
1358 2003-05-22  woodblock  <woodblock@zed>
1359
1360         * kernel/menu.c, plugins/menu/client_menu.c: layers submenu on client
1361
1362 2003-05-22  xor@zed  <xor@zed>
1363
1364         * kernel/action.c, kernel/action.h, kernel/client.c, kernel/client.h:
1365         add actions for changing client layers to abov/below/normal
1366
1367         * kernel/client.c: typo
1368
1369         * kernel/plugin.c: load the client_menu by default for nowc
1370
1371 2003-05-21  woodblock  <woodblock@zed>
1372
1373         * data/rc3, kernel/client.c, kernel/event.c, kernel/menu.c, kernel/menu.h, plugins/menu/Makefile.am, plugins/menu/client_menu.c:
1374         Client menus
1375         Add "client_menu" to pluginrc to use.
1376
1377 2003-05-21  xor@zed  <xor@zed>
1378
1379         * render/font.c: optimize it a bit
1380
1381         * render/font.c:
1382         pass the number of bytes, not characters to the xft draw functions
1383
1384         * kernel/action.c, kernel/action.h: add 'movetoedge' actions
1385
1386         * kernel/screen.c: add xerror.h
1387
1388         * kernel/screen.c:
1389         Openbox3 in the WM name, FUCK OFF XINE, YA YOU HEARD ME.
1390
1391         * render/gradient.c: allocate the border_color's gc
1392
1393 2003-05-20  xor@zed  <xor@zed>
1394
1395         * render/color.c, render/render.c:
1396         put the devation back how it used to be, it aws definately no better..
1397
1398 2003-05-20  manmower  <manmower@zed>
1399
1400         * render/gradient.c:
1401         of by one error in pyramid, rectangle, and crosspipe
1402
1403 2003-05-20  xor@zed  <xor@zed>
1404
1405         * render/gradient.c: remove debug prints
1406
1407         * render/gradient.c: reindent the file....
1408         but while i'm at it:
1409           - add support for bevels/borders on solid textures.
1410           - reverse the colors in the rectangle gradient, the pipecross and pyramid
1411             ones may need to be reversed as well.
1412
1413         * render/render.c, render/render.h: remove the elliptic gradient type.
1414         add bevel light/dark colors for solid textures with bevels
1415
1416         * render/theme.c:
1417         use the rectangle gradient when the theme asks for elipse
1418
1419         * m4/openbox.m4: argh put it back right!*(
1420
1421         * m4/openbox.m4: fuck it, put it back
1422
1423         * m4/openbox.m4: smarter default debug value :)
1424
1425         * m4/openbox.m4: default debug off (for non-cvs builds!)
1426
1427         * kernel/screen.c:
1428         ignore errors when playing with application defined colormaps
1429
1430 2003-05-19  xor@zed  <xor@zed>
1431
1432         * kernel/dock.c: get the size for all the apps before positioning them
1433
1434         * kernel/dock.c:
1435         set teh dock sizes before the app uses it for positioning
1436
1437         * kernel/dock.c: center dock apps
1438
1439         * plugins/menu/.cvsignore: add fifo_menu shit
1440
1441         * kernel/action.c: use the resize increment when resizing relative
1442
1443         * kernel/action.c, kernel/action.h, kernel/client.c, kernel/client.h:
1444         2 in 1 again..
1445         a) directional focus actions
1446         b) action system changes i.e. use structs/arrays for convertings strings to actions instead of gross if-else chains
1447
1448 2003-05-18  woodblock  <woodblock@zed>
1449
1450         * kernel/menu.c, plugins/menu/Makefile.am, plugins/menu/fifo_menu.c, plugins/menu/fifo_menu.h:
1451         Added a fifo_menu plugin
1452
1453 2003-05-18  manmower  <manmower@zed>
1454
1455         * render/gradient.c, render/test.c: PipeCross
1456
1457         * render/gradient.c: there's the rect grad.  now stop bugging me :(
1458
1459         * render/gradient.c: is that a rectangle grad?  damned if I know
1460
1461 2003-05-18  xor@zed  <xor@zed>
1462
1463         * kernel/client.c, kernel/client.h, render/color.c, render/color.h, render/image.c, render/render.c, render/render.h:
1464         make icons use pixel32 data, and image_draw takes pixel32 data.
1465         client.c gets pixmap icons as a backup to netwm ones, and they are converted into pixel32 data.
1466
1467         * kernel/focus.c: include grab.h
1468
1469 2003-05-18  manmower  <manmower@zed>
1470
1471         * render/test.c: whatever, it's a junk file.
1472
1473         * render/gradient.c: change badly named offsets
1474         add stubs for rectangle and pipecross
1475
1476         * render/image.c: rename poorly named offsets
1477
1478         * render/gradient.h: add stubs for pipecross and rectangle
1479
1480         * render/color.h: fix poor naming of default offset
1481
1482         * render/color.c: fix poor naming of the default offset
1483
1484 2003-05-18  woodblock  <woodblock@zed>
1485
1486         * kernel/client.c:
1487         this is actually xor :) - fixing the focus search function to not return NULL if no valid group members exist to be a transient for
1488
1489 2003-05-18  xor@zed  <xor@zed>
1490
1491         * kernel/stacking.c:
1492         proper check to see if something was raised, the it==NULL would cause it to always return, incorrectly.
1493
1494         * kernel/client.c, kernel/client.h, kernel/event.c, kernel/stacking.c, render/render.c, render/render.h:
1495         2 in 1 deal :\
1496
1497         client.c stacking.c: fixing looping transient case for group transient windows. now a window which is transient for a group is *not* transient for any other transient windows in the group (perviously the other window had to be transient for the group to be excluded, now it can be transient for anything).
1498
1499         client.c/h event.c render.c/h: adjustnig icon handling a bit. will be converting the legacy pixmap icons into rgba data so they can be handled the same as netwm icons.
1500
1501 2003-05-18  woodblock  <woodblock@zed>
1502
1503         * HACKING: Indentation stuff
1504
1505 2003-05-18  xor@zed  <xor@zed>
1506
1507         * configure.ac: actually optional now.
1508
1509         * configure.ac: make LIBSN optional
1510
1511         * kernel/focus.c:
1512         grab the mouse during focus cycling. this removes the bug of focusing following the mouse when the popup disappears and fuck up your cycling.
1513
1514         * render/Makefile.am: need the libsn flags
1515
1516         * plugins/Makefile.am, plugins/keyboard/Makefile.am, plugins/menu/Makefile.am, plugins/mouse/Makefile.am, plugins/placement/Makefile.am:
1517         needs the libsn flags to use openbox.h now
1518
1519 2003-05-18  woodblock  <woodblock@zed>
1520
1521         * plugins/menu/timed_menu.c: Clean up on destroy.
1522
1523 2003-05-18  xor@zed  <xor@zed>
1524
1525         * configure.ac, kernel/Makefile.am, kernel/event.c, kernel/openbox.c, kernel/openbox.h, kernel/screen.c:
1526         add (optional) support for showing a busy cursor via startup notification
1527
1528 2003-05-18  woodblock  <woodblock@zed>
1529
1530         * plugins/menu/timed_menu.c: Added stat() based timed menu update.
1531         Needs parser before it is useful.
1532
1533 2003-05-17  xor@zed  <xor@zed>
1534
1535         * kernel/event.c, plugins/mouse/mouse.c:
1536         disallow drag events on title buttons.
1537         dont redraw title button when the wheel buttons are used on them.
1538
1539 2003-05-16  xor@zed  <xor@zed>
1540
1541         * kernel/client.c: print the class not the name
1542
1543         * kernel/prop.c: get all the strings!
1544
1545         * kernel/client.c, kernel/dock.c, kernel/dock.h:
1546         save the dock's class/name for future evil purposes!
1547         also print names of windows being managed/unmanaged
1548
1549         * data/rc3: discourage floating a bit, capitalize better.
1550
1551         * kernel/dock.c: FUCK dock is not an array anymore!
1552
1553         * kernel/dock.c, kernel/dock.h, kernel/screen.c:
1554         give the dock a strut and use it
1555
1556 2003-05-16  woodblock  <woodblock@zed>
1557
1558         * plugins/menu/timed_menu.c: Fixed child wait.
1559
1560 2003-05-16  xor@zed  <xor@zed>
1561
1562         * kernel/event.c: remove debug prints
1563
1564         * kernel/dock.c, kernel/dock.h, kernel/event.c:
1565         dockapps are ObWindows now.
1566         set the type when creating new dockapps.
1567
1568         * plugins/menu/timed_menu.c: add stdio.h
1569
1570         * data/rc3, kernel/Makefile.am, kernel/client.c, kernel/client.h, kernel/config.c, kernel/config.h, kernel/dock.c, kernel/dock.h, kernel/event.c, kernel/frame.c, kernel/menu.c, kernel/menu.h, kernel/openbox.c, kernel/screen.c, kernel/slit.c, kernel/slit.h, kernel/window.c, kernel/window.h:
1571         rename "Slit" to "Dock".
1572         add config options to the rc3 for the dock.
1573         create a window_map, add DockApps to the ObWindow types, use the window_map for translating windows into objects for event handling (only one lookup now) and remove the old maps (client_map, menu_map).
1574
1575         * kernel/client.c, kernel/menu.c, kernel/moveresize.c, kernel/popup.c, kernel/slit.c, kernel/stacking.c, kernel/stacking.h:
1576         add anotehr stacking_add function.
1577         make stacking_add take care of raising also.
1578         make new windows that dont get focus also not raise above the focused window.
1579
1580         * kernel/event.c: movnig shit around
1581
1582 2003-05-14  xor@zed  <xor@zed>
1583
1584         * kernel/menu.c: watch out for not loading the timed_menu plugin
1585
1586         * kernel/client.c: pass teh correct values for config notify events
1587
1588 2003-05-14  woodblock  <woodblock@zed>
1589
1590         * kernel/event.c, kernel/event.h, kernel/menu.c, plugins/menu/timed_menu.c:
1591         Added a menu to read from a pipe.
1592         File descriptors added to the event loop.
1593
1594 2003-05-12  woodblock  <woodblock@zed>
1595
1596         * kernel/event.c, kernel/event.h, kernel/menu.c, plugins/menu/timed_menu.c:
1597         woodblock's failed attempt at making pipes work
1598
1599 2003-05-11  xor@zed  <xor@zed>
1600
1601         * plugins/resistance.c: watch out for stacking_list
1602
1603         * data/rc3, kernel/config.c, kernel/config.h, kernel/moveresize.c:
1604         add opaque move/resize to the rc3
1605
1606         * kernel/stacking.c:
1607         was using the frame window in the stacking list hint
1608
1609         * kernel/event.c, kernel/menu.c, kernel/moveresize.c, kernel/popup.c, kernel/stacking.c, kernel/window.c, kernel/window.h:
1610         add internal popups n shit to the stacking list.
1611         some cleanups for the stacking order hint.
1612         add non-opaque move/resize. cant toggle it yet.
1613
1614         * kernel/menu.c: rm comment for shit i fixed
1615
1616         * TODO: updated... it sucks tho anyways
1617
1618         * kernel/screen.c:
1619         not everything in the stacking_list is a client anymore
1620
1621         * kernel/event.c, kernel/menu.c:
1622         Menus put themselves into the stacking list.
1623         Clicking on the menu (but not on an entry) will raise it.
1624
1625         * kernel/Makefile.am, kernel/action.c, kernel/client.c, kernel/client.h, kernel/config.h, kernel/event.c, kernel/focus.c, kernel/menu.c, kernel/menu.h, kernel/openbox.c, kernel/slit.c, kernel/slit.h, kernel/stacking.c, kernel/stacking.h, kernel/window.c, kernel/window.h, plugins/resistance.c:
1626         Clients Menus and Slits are all 'ObWindow's now.
1627         Stacking is done with ObWindows.
1628         Slits add themselves to the stacking order, as do clients of course.
1629         Added some macros for adding/removing to the stacking order.
1630
1631         * kernel/slit.c:
1632         garb press events so they dont break bindings... X sucks
1633
1634         * kernel/slit.c:
1635         grab button events on the slit so they dont go through to root
1636
1637         * kernel/client.c, kernel/slit.c, kernel/slit.h:
1638         use the size of the icon window for slit apps, not the client window
1639
1640         * plugins/keyboard/tree.c, plugins/menu/timed_menu.h: cleanups
1641
1642         * kernel/event.c, kernel/grab.c, kernel/grab.h, kernel/slit.c, kernel/slit.h, plugins/mouse/mouse.c:
1643         can drag slit-apps around in the slit
1644
1645 2003-05-10  xor@zed  <xor@zed>
1646
1647         * kernel/event.c, kernel/slit.c, kernel/slit.h, kernel/timer.h:
1648         add autohiding to the slit
1649
1650         * kernel/event.c, kernel/slit.c, kernel/slit.h:
1651         some slit fixes, support resizing slitapps
1652
1653         * Makefile.am, configure.ac: rm the tools dir
1654
1655         * tools/Makefile.am: rm this garbage...
1656
1657         * kernel/Makefile.am, kernel/client.c, kernel/event.c, kernel/frame.c, kernel/openbox.c, kernel/screen.c, kernel/slit.c, kernel/slit.h:
1658         add a slit to the kernel
1659
1660         * plugins/menu/.cvsignore: ignore the build shit
1661
1662         * doc/.cvsignore: add the sgml dir
1663
1664         * kernel/menu.c: make the client menu not have a title
1665
1666         * kernel/event.c:
1667         be more careful about ignoring focusin/out event pairs
1668
1669 2003-05-10  woodblock  <woodblock@zed>
1670
1671         * plugins/Makefile.am: tyop
1672
1673         * kernel/menu.c, plugins/menu/timed_menu.c:
1674         Turn off timed_menu by default
1675
1676         * kernel/menu.c, kernel/menu.h, plugins/menu/timed_menu.c:
1677         Timed menu that reads output from a process while the window is hidden
1678
1679         * kernel/event.c, kernel/menu_render.c: whitespace
1680
1681 2003-05-09  woodblock  <woodblock@zed>
1682
1683         * plugins/menu/Makefile.am, plugins/menu/Makefile.in: fixor
1684
1685 2003-05-09  xor@zed  <xor@zed>
1686
1687         * configure.ac: nice merge
1688
1689 2003-05-09  woodblock  <woodblock@zed>
1690
1691         * configure.ac, kernel/event.c, kernel/menu.c, kernel/menu.h, kernel/menu_render.c, kernel/plugin.c, kernel/plugin.h, kernel/timer.c, plugins/Makefile.am, plugins/menu/Makefile.in, plugins/menu/timed_menu.c, plugins/menu/timed_menu.h:
1692         Menu uber patch
1693         Since we have no menu parser see menu_startup() to customize
1694
1695 2003-05-09  xor@zed  <xor@zed>
1696
1697         * kernel/client.c, kernel/client.h, kernel/event.c, kernel/focus.c:
1698         add a client_activate function, use it for net_wm_active mesgs and for focus cycling.
1699
1700         * kernel/focus.c: unshade windows when you cycle focus to them
1701
1702         * kernel/openbox.c, kernel/popup.c, kernel/popup.h, tools/Makefile.am:
1703         add shit that i made in the last week!
1704
1705         * HACKING, Makefile.am, configure.ac, data/rc3, kernel/Makefile.am, kernel/client.c, kernel/client.h, kernel/config.c, kernel/config.h, kernel/event.c, kernel/extensions.c, kernel/extensions.h, kernel/focus.c, kernel/framerender.c, kernel/framerender.h, kernel/menu.c, kernel/moveresize.c, kernel/moveresize.h, kernel/openbox.c, kernel/parse.h, kernel/parse.l, kernel/parse.y, kernel/screen.c, kernel/screen.h, kernel/stacking.c, m4/x11.m4, plugins/keyboard/keyboard.c, plugins/keyboard/tree.c, plugins/keyboard/tree.h, plugins/mouse/mouse.c, plugins/mouse/mouse.h, render/font.c, render/image.c, render/render.c, render/render.h, render/theme.c, render/theme.h:
1706         all my changes while i was offline.
1707         better alt-tabbing. better transient handling. i dont even know. lots of fucking cool shit so WATCH the FUCK OUT.
1708
1709 2003-04-28  xor@zed  <xor@zed>
1710
1711         * kernel/screen.c:
1712         move windows before calcing struts. watch for windows on DESKTOP_ALL when removeing a desktop
1713
1714 2003-04-27  xor@zed  <xor@zed>
1715
1716         * kernel/client.c, kernel/stacking.c:
1717         a more correct for the missing frame problem. don't restack windows when changing the window's layer while it is being managed.
1718
1719         * kernel/stacking.c:
1720         watch for windows without frames, they can be in the transient order before they get fully managed
1721
1722         * doc/themerc.txt: no longer pertinent
1723
1724         * render/image.c, render/image.h, render/render.c:
1725         fix window icon rendering, was using incorrect size.
1726
1727         * render/color.h: its G_BYTE_ORDER not G_ENDIAN.
1728
1729 2003-04-26  xor@zed  <xor@zed>
1730
1731         * kernel/moveresize.c:
1732         show the move coords for where the window will actually be
1733
1734 2003-04-25  xor@zed  <xor@zed>
1735
1736         * kernel/client.c: only focus on startup if focus_new is true
1737
1738         * kernel/Makefile.am, kernel/client.c, kernel/openbox.c, kernel/screen.c, kernel/startup.c, kernel/startup.h:
1739         restore the desktop and focused window on restarts if possible
1740
1741         * kernel/action.c, kernel/client.c, kernel/client.h, kernel/focus.c, kernel/focus.h:
1742         add helper functions for manipulating the focus_order list.
1743         move the focus popup into focus.c, out of action.c
1744         allow cycling to iconic windows, which are kept at the bottom of the focus_order lists.
1745
1746         * kernel/event.c, kernel/focus.c, kernel/frame.c, kernel/frame.h, kernel/framerender.c:
1747         let the frame hold a focus state so that it can lie.
1748         dont focus windows while cycling, just highlight them as if they are focused
1749
1750         * kernel/framerender.c: icons are not at +1 anymore
1751
1752 2003-04-24  xor@zed  <xor@zed>
1753
1754         * kernel/client.c:
1755         some more checks for transients looping on eachother when they are transients of a group
1756
1757 2003-04-22  xor@zed  <xor@zed>
1758
1759         * kernel/prop.c:
1760         client side shit ISNT 32 bits on 64 bit platforms, its 64 bits. fuck X so hard.
1761
1762 2003-04-22  woodblock  <woodblock@zed>
1763
1764         * CHANGELOG: NLS update
1765
1766 2003-04-22  xor@zed  <xor@zed>
1767
1768         * kernel/client.c:
1769         even better checks for when to focus new windows. focus dialogs when they are the only member of their group
1770
1771 2003-04-22  woodblock  <woodblock@zed>
1772
1773         * kernel/menu.c, kernel/menu.h, kernel/menu_render.c:
1774         More menu changes to facilitate plugins.
1775
1776         * kernel/Makefile.am, kernel/menu.c, kernel/menu.h, kernel/menu_render.c:
1777         Render menus only when they are invalid.
1778
1779 2003-04-21  xor@zed  <xor@zed>
1780
1781         * README.CVS: add automake
1782
1783         * data/rc3: focus on press onm the titlebar buttons
1784
1785         * kernel/client.c:
1786         yet more changes to choosing to focus windows when they mapp
1787
1788         * kernel/parse.h, kernel/parse.y:
1789         try avoid cicular includes with the bison shit
1790
1791 2003-04-20  woodblock  <woodblock@zed>
1792
1793         * CHANGELOG: tyop
1794
1795 2003-04-20  xor@zed  <xor@zed>
1796
1797         * kernel/frame.c, kernel/framerender.c:
1798         make the icon larger than the buttons by one pixel in each direction, this makes it as tall as the label and lets it fit more image in
1799
1800         * kernel/client.c: new focus-new rules
1801
1802 2003-04-20  woodblock  <woodblock@zed>
1803
1804         * CHANGELOG: Update log
1805
1806 2003-04-19  xor@zed  <xor@zed>
1807
1808         * kernel/client.c: i lied.. fuck @ those gnome dialogs
1809
1810         * kernel/client.c: lighten up a bit on the focus new windows criteria
1811
1812         * kernel/event.c: rm invalid comment
1813
1814         * kernel/event.c: only look for FocusOut events on the same window
1815
1816         * kernel/prop.c:
1817         convert STRING properties from "ISO-8859-1" instead of from the current locale, since this is what they apparently are, according to gdk.
1818
1819         * kernel/prop.c: check the string not the pointer to it
1820
1821 2003-04-18  xor@zed  <xor@zed>
1822
1823         * kernel/event.c: the mouse grab screws that up
1824
1825         * kernel/event.c: dispatch presses and releases during a move/resize
1826
1827         * kernel/event.c: kill the debug prints for now
1828
1829         * kernel/event.c: nm cant do it.. damn
1830
1831         * kernel/event.c:
1832         ignore another type of crossing event, caused when leaving gtk popup menus
1833
1834         * kernel/focus.c: just formatting
1835
1836         * kernel/event.c:
1837         yet MORE changes to how focusin/out's are handled. more edge case fixing, this time with focus fallback when unmapping a window in sloppy focus mode.
1838
1839         * kernel/client.c:
1840         adjust choosing to focus new windows, make it more strict.
1841         eat all Enter events when unmapping a window so focus fallback can be more smarter..
1842
1843         * kernel/screen.c: dont need to sync
1844
1845         * kernel/focus.c: check for client_normal before focusing
1846
1847         * kernel/focus.c:
1848         when unfocusing a window (e.g. unmanaging) try fallback to transient relations, if that fails, try group relations, then fallback to other window.
1849
1850         * kernel/focus.c:
1851         try focus other transients of the parent window when a transient falls back before focusing the parent
1852
1853         * kernel/moveresize.c: unset it AFTER using it...
1854
1855         * kernel/moveresize.c: unset the client when done moveresizing
1856
1857         * kernel/openbox.c:
1858         don't wait(), the glib function does that for us woot.
1859
1860         * kernel/client.c:
1861         more strict rules on what will be focused by the focusNew option in the rc3. only strictly NORMAL windows will be focused, not dialogs or anything else when they are mapped.
1862
1863         * kernel/focus.h: comment typo
1864
1865         * kernel/client.c, kernel/moveresize.c, kernel/moveresize.h:
1866         watch out when unmanaging a window, that it is not being move/resized
1867
1868 2003-04-17  xor@zed  <xor@zed>
1869
1870         * kernel/client.c:
1871         a) put transient windows on the same desktop as their parent
1872         b) if a window is attempted to be focused but it is not on the current desktop,
1873            then move it to the top of the focus order on its desktop
1874
1875         * kernel/screen.c:
1876         distribute focus when entering/leaving show-the-desktop mode
1877
1878         * kernel/event.c: remove debug print
1879
1880         * kernel/moveresize.c, kernel/openbox.c, kernel/openbox.h:
1881         add the left/right/top/bottom direction arrows and use them for resizing those ways
1882
1883         * plugins/mouse/mouse.c: net_WM!@^&(
1884
1885         * plugins/mouse/mouse.c: use the right client
1886
1887         * plugins/mouse/mouse.c: dont use the client if there is none
1888
1889         * kernel/event.c: dont ignore all Virtual pointer events
1890
1891         * kernel/action.c: 02:33 (@xor) omg yes
1892         02:33 (@xor) grid workspace cycling of d3th
1893
1894         * kernel/action.c: fix grip workspace cycling
1895
1896         * kernel/event.c, kernel/grab.c, kernel/grab.h, kernel/moveresize.c, kernel/moveresize.h, plugins/mouse/mouseparse.c:
1897         fix up support for moveresize. make keyboard grabs Async so that i can hit escape to cancel a moveresize process.
1898
1899         * kernel/openbox.c: do not shadow parameter pls
1900
1901         * kernel/moveresize.c: initialize start_x/y
1902
1903         * kernel/focus.c, kernel/moveresize.c, kernel/moveresize.h, kernel/openbox.c, kernel/openbox.h:
1904         add support for interactive/keyboard move/resize
1905
1906         * kernel/event.c, kernel/prop.c, kernel/prop.h, kernel/screen.c:
1907         add support for net_moveresize_window and net_wm_moveresize
1908
1909         * kernel/frame.c: use the new cursor defn's
1910
1911         * kernel/screen.c: use the new ptr cursor defn
1912
1913         * kernel/Makefile.am, kernel/action.c, kernel/action.h, kernel/event.c, kernel/moveresize.c, kernel/moveresize.h, kernel/prop.c, kernel/prop.h, plugins/keyboard/keyboard.c, plugins/keyboard/keyparse.c, plugins/mouse/mouse.c, plugins/mouse/mouseparse.c:
1914         move the move/resize functionality into moveresize.c, for use with the netwm atoms. use it from teh plugins. combine the two actions.
1915
1916         * kernel/framerender.c: put text centered in the popup dialog properly
1917
1918         * data/rc3: make alt-middle the default resize binding
1919
1920         * kernel/openbox.c, kernel/openbox.h:
1921         add more cursors for move/resizing, and use the arrows not the angle brackets
1922
1923         * kernel/action.c:
1924         grab pointer during cycling to remove focus screwups from focus-follows-mouse.
1925         grab during move/resize and assign a cursor while doing the move/resize too!
1926
1927         * plugins/mouse/mouse.c:
1928         save the client and context during drags since a pointer grab will change them
1929
1930         * kernel/event.c: ignore virtual crossing events..
1931
1932         * kernel/focus.c: that was dumb, it was metacity's fault
1933
1934         * kernel/focus.c: only cycle to visible windows
1935
1936 2003-04-16  xor@zed  <xor@zed>
1937
1938         * kernel/event.c: dont send menu events to plugins
1939
1940         * data/rc3: show the root menu on right click
1941
1942         * kernel/event.c, kernel/grab.c, kernel/grab.h, kernel/menu.c, kernel/menu.h:
1943         menus works on some level. add a built-in root menu
1944
1945         * kernel/client.c: code cleanup
1946
1947         * kernel/client.c: when flags are not set assume bette defaults
1948
1949         * kernel/event.c, kernel/focus.c, kernel/menu.c, kernel/menu.h, kernel/openbox.c, kernel/stacking.c, kernel/stacking.h:
1950         raise menus above clients.
1951         hilight menu entries as the cursor passes over them.
1952
1953         * kernel/menu.c, kernel/menu.h:
1954         save the window ids in a map for the menus
1955
1956         * kernel/client.c: only change the group info if the group flag is set
1957
1958         * kernel/client.c: only add transients if we are IN a group
1959
1960         * kernel/client.c: oops nm
1961
1962         * kernel/client.c: less ()s cleanup
1963
1964         * kernel/client.c:
1965         remove transients before removing ourlselves from teh group
1966
1967         * kernel/client.c:
1968         set the group to null when removeing ourselves from it
1969
1970 2003-04-15  xor@zed  <xor@zed>
1971
1972         * kernel/action.c: watch out for missing a name
1973
1974         * render/theme.c: make menu font smaller and !bold for now
1975
1976         * kernel/action.c, kernel/action.h, kernel/framerender.c, kernel/menu.c, kernel/menu.h, kernel/openbox.c, plugins/keyboard/keyparse.c, plugins/mouse/mouse.c, plugins/mouse/mouseparse.c:
1977         start of showing/rendering menus. woot!
1978
1979         * render/theme.c, render/theme.h: load menu style stuff
1980
1981         * render/render.c, render/render.h:
1982         make minsize take int*'s not a Size*
1983
1984         * kernel/client.c:
1985         remove transients of the group from teh window when it leaves the group
1986
1987         * kernel/client.c: add group transients when setting up the group
1988
1989         * kernel/client.c: bug in the search for transient_for's
1990
1991         * data/rc3: update the theme stuff
1992
1993 2003-04-15  manmower  <manmower@zed>
1994
1995         * render/gradient.c: PYRAMID PARTY PART 2!!!
1996
1997         * render/gradient.c, render/gradient.h: PYRAMID PARTY!!!
1998
1999 2003-04-15  xor@zed  <xor@zed>
2000
2001         * kernel/screen.c: remove debug print
2002
2003 2003-04-14  xor@zed  <xor@zed>
2004
2005         * kernel/client.c, kernel/prop.c, kernel/screen.c:
2006         fixes for handling char**s
2007
2008         * render/font.c: indenting oopsie
2009
2010         * kernel/prop.c: dont get a null at the end of the data, so use strndup
2011
2012         * kernel/screen.c: fix a seg from ignoreing PROP_GETSS failure
2013
2014         * kernel/screen.c: more fixes for working with char**s
2015
2016         * kernel/screen.c: nullify the ends of the char**
2017
2018         * kernel/client.c, kernel/prop.h, kernel/screen.c:
2019         remove casts from PROP defines. use proper vars and cast elsewhere if needed.
2020
2021         * render/font.c: text justification
2022
2023         * render/render.c:
2024         shrink the area that the textures are rendered into by the bevels/borders
2025
2026         * kernel/client.c, kernel/prop.c, kernel/prop.h, kernel/screen.c, kernel/screen.h, kernel/stacking.c:
2027         rip the prop code i wrote in cwmcc out and make it all 64bit friendly (i think!). stop using gulong for values from the xserver, using guint32 instead.
2028
2029         * kernel/menu.c, kernel/menu.h:
2030         these menus should not be removed, they are good and will be used.
2031
2032         * kernel/event.c: clean up this mess of crap a lot
2033
2034         * kernel/prop.c, kernel/prop.h:
2035         do not commit bad char* foo that breaks on !32 bit platforms
2036
2037 2003-04-14  woodblock  <woodblock@zed>
2038
2039         * kernel/menu.c, kernel/menu.h: *** empty log message ***
2040
2041 2003-04-14  xor@zed  <xor@zed>
2042
2043         * kernel/parse.l: allow _'s in identifiers
2044
2045         * kernel/stacking.c: raise and lower all transients along with parents
2046
2047         * kernel/client.c:
2048         apply layers to all transients. only raise once on the highest window who's layer changed after applying layers to them all
2049
2050 2003-04-13  xor@zed  <xor@zed>
2051
2052         * kernel/client.c: ifdef not ifndef
2053
2054         * kernel/stacking.c: keep all transient windows above their parents
2055
2056         * kernel/client.c: simple cleanups for the client_iconify function.
2057         also dont follow into other groups when searching up the transient_for tree
2058
2059         * kernel/client.c: rm the unused vars
2060
2061         * kernel/client.c: onyl focus 'normal' windows on map
2062
2063         * kernel/client.c:
2064         only keep fullscreen windows on top while they are focused
2065
2066         * kernel/client.c, kernel/client.h:
2067         make fullscreen decorations and functions be calculated by the setup_decor_and_functions func
2068
2069         * kernel/group.c: rm the group debug prints
2070
2071         * kernel/client.c: only print that when debuggin focus
2072
2073         * .cvsignore, kernel/.cvsignore, plugins/.cvsignore, plugins/keyboard/.cvsignore, plugins/mouse/.cvsignore, plugins/placement/.cvsignore, render/.cvsignore:
2074         ignore the remaining new shit from automaking everything again
2075
2076         * .cvsignore, INSTALL, Makefile.am, Makefile.in, bootstrap, configure.ac, data/.cvsignore, data/Makefile.am, kernel/.cvsignore, kernel/Makefile, kernel/Makefile.am, plugins/.cvsignore, plugins/Makefile, plugins/Makefile.am, plugins/keyboard/.cvsignore, plugins/keyboard/Makefile, plugins/keyboard/Makefile.am, plugins/mouse/.cvsignore, plugins/mouse/Makefile, plugins/mouse/Makefile.am, plugins/placement/.cvsignore, plugins/placement/Makefile, plugins/placement/Makefile.am, po/.cvsignore, render/.cvsignore, render/Makefile, render/Makefile.am, tests/Makefile, themes/.cvsignore, themes/Makefile.am:
2077         back to automake
2078
2079         * AUTHORS: shrimpx above miklos?
2080
2081         * kernel/event.c, kernel/frame.c, kernel/frame.h, plugins/mouse/mouse.c:
2082         pass the Client for frame_context cuz the client might be NULL
2083
2084         * themes/ebox: comment properly
2085
2086         * render/theme.c: load the font shadow stuff from the old ob2 shitz
2087
2088         * kernel/config.c, kernel/config.h, kernel/openbox.c:
2089         let specify theme in the rc3 file. rm the other old engine options
2090
2091         * Makefile.in: break on errors
2092
2093         * Makefile.in, kernel/.cvsignore, kernel/action.c, kernel/client.c, kernel/config.h, kernel/engine.c, kernel/engine.h, kernel/event.c, kernel/focus.c, kernel/frame.c, kernel/frame.h, kernel/framerender.c, kernel/framerender.h, kernel/openbox.c, kernel/parse.l, kernel/parse.y, kernel/screen.c, plugins/keyboard/keyboard.c, plugins/mouse/mouse.c, render/.cvsignore, render/font.h, render/mask.h, render/render.h, render/theme.c, render/theme.h:
2094         move the openbox engine into librender and the kernel. the theme is loaded and stored inside librender. the frame is decorated and managed inside the kernel.
2095
2096         * themes/ob20, themes/operation, themes/outcomes, themes/artwiz, themes/bbs, themes/bluebox, themes/cthulhain, themes/deep, themes/ebox, themes/fieron, themes/fieron2, themes/flux, themes/frobozz, themes/frobust, themes/mbdtex, themes/miklos, themes/nyz, themes/nyzclone, themes/paper, themes/purplehaaze, themes/shade, themes/steelblue, themes/steelblue2, themes/the_orange, themes/trisb, themes/twice, themes/warp-xp:
2097         move the themes
2098
2099         * render/render.c: allow freeing NULL appearances
2100
2101         * render/font.c: allow closing NULL fonts
2102
2103         * render/mask.c: allow freeing NULL pixmap masks
2104
2105         * render/color.c: dont fux self in color_free if the color is NULL
2106
2107 2003-04-12  xor@zed  <xor@zed>
2108
2109         * tests/fullscreen.c: set the right mask for the client msg!
2110
2111 2003-04-12  woodblock  <woodblock@zed>
2112
2113         * CHANGELOG: Fixed another damned focus bug. Pray.
2114
2115 2003-04-11  xor@zed  <xor@zed>
2116
2117         * data/rc3: add right click in client focuses
2118
2119         * kernel/client.c: make utility windows able to be resized
2120
2121         * Makefile.in: rm the main Makefile in a distclean
2122
2123 2003-04-10  xor@zed  <xor@zed>
2124
2125         * kernel/client.c:
2126         deiconify transient parents when a child is deiconified.
2127
2128         * kernel/client.h: no fuck that it was working fine
2129
2130         * kernel/client.h: make the TRAN_GROUP an unsigned long
2131
2132         * kernel/event.c: add MapRequest print
2133
2134         * kernel/client.c:
2135         some smarter rules for focusing new window when focus_new is not set
2136
2137 2003-04-09  xor@zed  <xor@zed>
2138
2139         * plugins/keyboard/keyboard.c: buld fixes for the new libs
2140
2141         * Makefile.in, render/.cvsignore: add libcwmcc and libobcl
2142
2143         * HACKING: describe the code subdirs
2144
2145         * kernel/action.c:
2146         dont show the focus popup when theres no target client
2147
2148 2003-04-08  xor@zed  <xor@zed>
2149
2150         * kernel/event.c: rm debug print
2151
2152         * tests/.cvsignore: add override
2153
2154         * tests/override.c: add a test that maps an override redirect window
2155
2156         * kernel/client.c, kernel/config.c, kernel/config.h, kernel/engine.c, kernel/engine.h, kernel/event.c, kernel/focus.c, kernel/focus.h, kernel/openbox.c, kernel/prop.c, kernel/screen.c:
2157         move config option loading for the kernel into config.c/h
2158         add options for the number of desktops and the names of the desktops
2159
2160         * data/rc3: add the desktops options
2161
2162         * data/rc3: better clickfocus friendliness
2163
2164         * kernel/client.c: check for focus before unfocusing
2165
2166         * kernel/client.c, kernel/event.c, kernel/focus.c, kernel/focus.h, kernel/screen.c:
2167         add more options for focus fallback, use an enum for all the types of fallbacks.
2168
2169         * kernel/focus.c: only cycle focus to normal windows
2170
2171         * data/rc3: make stacked cycling the default
2172
2173         * kernel/action.c: show a popup with the focus target while cycling
2174
2175         * kernel/focus.c, kernel/focus.h:
2176         fallback to transients' parents when possible.
2177         return the Client* which was focused from focus_cycle
2178
2179         * kernel/client.c: fallback focus while unmanaging the window
2180
2181 2003-04-07  xor@zed  <xor@zed>
2182
2183         * data/rc3: FocusRaise to be more clickfocus friendly too
2184
2185         * data/rc3, kernel/focus.c, kernel/focus.h:
2186         add focusLast and focusLastOnDesktop options in the [focus] section of the rc3. allows more customizaton of the focus model. default to click-focus style. add handling for focus cycling when nothing on the desktop is focused.
2187
2188         * kernel/event.c: ignore inferior enternotifies
2189         add anotehr focusdebug print
2190
2191         * kernel/client.c: check for new windows always being onscreen.
2192         rename the client pointer to self in teh manage unmanage functions for consistancy
2193
2194         * kernel/grab.c: rm debug prints
2195
2196 2003-04-07  woodblock  <woodblock@zed>
2197
2198         * configure.in: bump version string
2199
2200 2003-04-07  xor@zed  <xor@zed>
2201
2202         * plugins/placement/history.c:
2203         dont check to make sure the window is on screen here
2204
2205         * HACKING: add comment about the two different area Rects
2206
2207         * HACKING: add new HACKING!
2208         warn about Client.transient_for
2209
2210         * kernel/client.h, kernel/stacking.c, kernel/client.c:
2211         support for transients of groups
2212
2213         * kernel/event.c: missed one
2214
2215         * kernel/event.c: put focus messages in ifdefs
2216
2217         * kernel/focus.c: remove debug print
2218
2219         * kernel/client.c, kernel/client.h, kernel/group.c, kernel/group.h, kernel/openbox.c:
2220         track window groups
2221         iconify all its transients when a window is iconified
2222
2223         * plugins/keyboard/keyboard.c:
2224         once in a window-cycle, don't fire any other key bindings
2225
2226         * kernel/action.c, kernel/client.c, kernel/client.h, kernel/focus.c, kernel/focus.h:
2227         put focus_cycle into focus.c, use it there in the action. improved it as well to handle odd cases like modal windows. added functions to client.c which are needed by the focus cycling routine.
2228
2229         * kernel/grab.c: grab the other device in Sync for button/key grabs
2230
2231 2003-04-06  xor@zed  <xor@zed>
2232
2233         * plugins/placement/history.c: dont let windows be placed offscreen
2234
2235         * render/render.c: ifndef NOT IFNDEF GAH
2236
2237         * kernel/action.c: dont toggle when no client was passed to teh action
2238
2239         * kernel/event.c: nm that, pointless...
2240
2241         * kernel/event.c:
2242         disable keyboard and mouse input while ob is starting or exiting
2243
2244 2003-04-06  manmower  <manmower@zed>
2245
2246         * render/color.c, render/render.c:
2247         Fix reduce color depth to not use original data
2248         (and break parentrel)
2249
2250 2003-04-06  xor@zed  <xor@zed>
2251
2252         * kernel/engine.c: print the error when the engine cant load
2253
2254         * render/render.c: add stdlib.h for exit()
2255
2256         * .cvsignore, configure.ac, install-sh:
2257         stop using build/ dir configure shits all over itself for other people
2258
2259         * m4/x11.m4, m4/openbox.m4:
2260         build fixes for finding Xlibs and for setting vars based on found Xlib info and Xinerama info
2261
2262         * configure.ac: more build system fixups
2263
2264         * .cvsignore, Makefile, Makefile.in, configure.ac, install-sh, m4/openbox.m4, render/.cvsignore:
2265         fixes for build system. add themes to the install process. use the build/ dir for configures trash dump
2266
2267         * kernel/engine.c: clean up the module if load() fails
2268
2269         * render/render.c, render/render.h:
2270         add function to give the minimum size of an appearance to fully render it's data
2271
2272         * plugins/mouse/mouse.c:
2273         save the state at the start of a drag and use it throughout until the button is released
2274
2275         * kernel/action.c: add a coords popup for moving and resizing
2276
2277         * kernel/geom.h: add ()'s to the macros for more safety
2278
2279         * kernel/engine.c, kernel/engine.h:
2280         add the ability to render and size text labels for non-window-decorations
2281
2282 2003-04-06  woodblock  <woodblock@zed>
2283
2284         * bootstrap: Remove woodblock's local changes :P
2285
2286         * bootstrap: Moved to DESIGN/
2287
2288         * DESIGN/menu-thoughts.txt: some thoughts on menu stuff
2289
2290 2003-04-06  manmower  <manmower@zed>
2291
2292         * render/gradient.c: remove asserts pending sanity check.
2293
2294         * render/gradient.c:
2295         added flakey parentrel for solids and some mean spirited asserts
2296
2297         * render/color.c, render/color.h, render/render.c, render/render.h:
2298         added superb pseudo-color (8bpp) support
2299
2300 2003-04-06  xor@zed  <xor@zed>
2301
2302         * plugins/resistance.c: dont resize snap windows with size increments
2303
2304         * data/rc3, kernel/engine.c: make NLIMC the default titlebar layout
2305
2306 2003-04-06  woodblock  <woodblock@zed>
2307
2308         * configure.in: Huge i18n patch from Mike Fabian.
2309         We use utf8 everywhere now.
2310
2311 2003-04-05  xor@zed  <xor@zed>
2312
2313         * kernel/action.c, kernel/focus.c, kernel/focus.h:
2314         allow specifying that some focus events should be ignored for the focus order list
2315
2316         * kernel/action.c: stacked and linear cycling
2317
2318         * kernel/action.c, kernel/action.h, plugins/keyboard/keyboard.c:
2319         linear focus cycling of the gods
2320
2321         * plugins/keyboard/keyboard.c:
2322         add special shit for window cycling, grab the keyboard etc
2323
2324         * kernel/client.c: typo
2325
2326         * kernel/client.c: put it back
2327
2328         * kernel/client.c: make unfocus really unfocus everything
2329
2330         * data/rc3: add linear cycling for now
2331
2332         * data/rc3: rm the [foo] section
2333
2334         * data/rc3: update teh rc3 to reflect how the code works now
2335
2336         * kernel/engine.c: dont default to NULL for the engine name
2337
2338         * kernel/engine.c: add engine options to the new rc file
2339
2340         * Makefile, kernel/focus.c, kernel/openbox.c, kernel/parse.c:
2341         add focus options to the new rc file
2342
2343         * kernel/action.c, kernel/action.h, kernel/client.c, kernel/client.h, kernel/config.c, kernel/config.h, kernel/engine.c, kernel/engine.h, kernel/event.c, kernel/focus.c, kernel/focus.h, kernel/openbox.c, kernel/parse.c, kernel/parse.h, kernel/parse.l, kernel/parse.y, kernel/screen.c, plugins/keyboard/keyboard.c, plugins/mouse/mouse.c, plugins/placement/history.c, plugins/placement/placement.c, plugins/resistance.c:
2344         change how rc parsing will work. a=b will be parsed in any [section] and given to a separate parsing callback. no more general config infrastructure needed/
2345
2346         * render/render.h: make tint signed
2347
2348         * data/rc3: typo
2349
2350         * plugins/mouse/mouserc, plugins/mouse/mouserc_parse.c, plugins/mouse/mouserc_parse.h, plugins/mouse/mouserc_parse.l:
2351         rm the old mouserc shit
2352
2353         * Makefile, data/rc3: add an rc3 which gets installed
2354
2355         * Makefile: make love
2356
2357         * plugins/mouse/.cvsignore: ignore more new shit
2358
2359         * plugins/mouse/translate.c:
2360         use Button<num> instead of just <num> for specifying buttons by number
2361
2362         * plugins/keyboard/keyparse.c, plugins/mouse/mouseparse.c, plugins/mouse/mouseparse.h:
2363         better error msgs
2364
2365         * kernel/frame.c, kernel/frame.h: use a context enum instead of quarks
2366
2367         * plugins/mouse/mouse.c:
2368         not using quarks, using an array and a Context enum for contexts
2369
2370         * plugins/keyboard/keyparse.c: prefix key bindnigs with 'kbind'
2371
2372         * plugins/keyboard/keyboard.c, plugins/keyboard/translate.c:
2373         initialize all vars.
2374         change warnings to messages
2375
2376 2003-04-04  xor@zed  <xor@zed>
2377
2378         * kernel/openbox.c:
2379         reorder startup so that grabs are set up before parsing teh rc
2380
2381         * plugins/keyboard/keyparse.c: remove debug print
2382
2383         * kernel/parse.c, kernel/parse.y, plugins/keyboard/.cvsignore, plugins/keyboard/keyboard.c, plugins/keyboard/keyparse.c, plugins/keyboard/keyparse.h, plugins/keyboard/keysrc, plugins/keyboard/keysrc.h, plugins/keyboard/keysrc.l, plugins/keyboard/keysrc.yacc:
2384         add the keyboard plugin into the build systems
2385         keyboard bindings are parsed from the rc file
2386
2387         * configure.ac: clean up output
2388
2389         * configure.ac: properly
2390
2391         * configure.ac: add -DENABLE_NLS
2392
2393         * kernel/parse.c: more using of new token struct
2394
2395         * kernel/parse.c: use new token structs. free token lists.
2396
2397         * kernel/parse.c, kernel/parse.h, kernel/parse.y:
2398         attempting to parse lists
2399
2400         * README.CVS: reflect the current requirements for building/using cvs
2401
2402 2003-04-03  xor@zed  <xor@zed>
2403
2404         * kernel/parse.l: allow '-' in identifiers
2405
2406         * Makefile: engine builds
2407
2408         * Makefile: build the resistance/placement plugins
2409
2410         * kernel/parse.h: use the values from the yacc parser
2411
2412         * Makefile, kernel/.cvsignore, kernel/parse.y:
2413         more build fixes, calling the other makefiles instead of including them
2414
2415         * kernel/parse.y: try accomidate more versions of bison
2416
2417         * .cvsignore, Makefile, kernel/.cvsignore, plugins/.cvsignore, plugins/placement/.cvsignore:
2418         more build fixes
2419
2420         * configure.ac: use PACKAGE_FOO vars
2421
2422         * kernel/action.c: double break statements :) oops
2423
2424         * .cvsignore: add stuff that should be ignored at the toplevel
2425
2426         * bootstrap, install-sh: some build fixes
2427
2428         * .cvsignore, Makefile, Makefile.am, bootstrap, configure.ac, doc/.cvsignore, doc/Makefile.am, doc/doxygen/.cvsignore, doc/doxygen/Makefile.am, kernel/.cvsignore, kernel/Makefile, kernel/Makefile.am, kernel/openbox.c, kernel/parse.h, m4/openbox.m4, plugins/.cvsignore, plugins/Makefile, plugins/Makefile.am, plugins/keyboard/.cvsignore, plugins/keyboard/Makefile, plugins/keyboard/Makefile.am, plugins/mouse/.cvsignore, plugins/mouse/Makefile, plugins/mouse/Makefile.am, plugins/placement/.cvsignore, plugins/placement/Makefile, plugins/placement/Makefile.am, po/.cvsignore, render/.cvsignore, render/Makefile, render/Makefile.am, themes/.cvsignore, themes/Makefile.am:
2429         new build system without automake
2430
2431         * data/.cvsignore, data/Makefile.am, data/README, data/README.menu, data/README.style, data/menu.in:
2432         rm the data dir
2433
2434 2003-04-02  xor@zed  <xor@zed>
2435
2436         * kernel/Makefile.am: BLEF HATE DIE
2437
2438         * kernel/Makefile.am: bison doesnt use y.tab.*
2439
2440         * configure.ac: use bison not yacc
2441
2442         * kernel/Makefile.am, kernel/parse.y, kernel/parse.yacc:
2443         rename the parse.yacc to parse.y
2444
2445         * kernel/Makefile.am: make parse.h depend on y.tab.h
2446
2447         * kernel/parse.h, kernel/parse.l: this should seriously work
2448
2449         * kernel/parse.h, kernel/parse.yacc: undo that
2450
2451         * kernel/.cvsignore: ignore new lex/yacc gen'd files
2452
2453         * kernel/parse.h, kernel/parse.yacc:
2454         don't include the y.tab.h inside the yacc file
2455
2456         * kernel/Makefile.am: add y.tab.h to the headers so the yacc shit runs
2457
2458         * kernel/Makefile.am: rm the generated files on clean
2459
2460         * kernel/Makefile.am: wrong .h for the make rule
2461
2462         * kernel/Makefile.am: deps the lex h on the c
2463
2464         * plugins/mouse/mouse.c:
2465         make the drag threshold and double click time into rc options
2466
2467         * kernel/Makefile.am, kernel/config.c, kernel/config.h, kernel/cparse.l, kernel/openbox.c, kernel/parse.c, kernel/parse.h, kernel/parse.l, kernel/parse.yacc:
2468         create a generic tokenizer/sectionizer for the config file. pass off the token to functions registered for each section to parse them further. some fixes for the engine irt font shadows, and fixed a bug with rendering the iconify button when it was not in the layout
2469
2470         * render/font.c: whitespace
2471
2472         * render/font.c: kill debug print
2473
2474         * render/font.c: use the tint properly for the shadow
2475
2476         * kernel/client.c: rm debug print
2477
2478         * render/render.c: will seg again
2479
2480         * render/render.c: stop copying. still segfault?
2481
2482         * render/render.c:
2483         find the right offset in the source data for parent relative
2484
2485 2003-04-02  manmower  <manmower@zed>
2486
2487         * render/render.c: let there be parentrelative
2488
2489 2003-04-01  xor@zed  <xor@zed>
2490
2491         * TODO: more updates to current status
2492
2493 2003-03-31  xor@zed  <xor@zed>
2494
2495         * plugins/mouse/mouserc: add the Shade context to the comments
2496
2497         * kernel/client.c, kernel/client.h, plugins/mouse/mouserc:
2498         add a shaded button
2499
2500         * TODO: add some current states
2501
2502         * plugins/resistance.c: dont resist to windows which we're not touching
2503
2504         * kernel/client.c:
2505         only disallow shading when the function is not enabled, dont disallow unshading
2506
2507         * plugins/mouse/mouse.c:
2508         use the client's size instead of the frames size so the real size is used, not the size of the frame (avoids shaded window problem)
2509
2510         * kernel/action.c: disallow resizing of windows which are shaded
2511
2512         * plugins/mouse/mouse.c: unser drag_used when drag is unset too
2513
2514         * plugins/mouse/mouse.c: add a space where it belongs
2515
2516         * plugins/mouse/mouse.c:
2517         make realeases fire releases instead of presses. make drags prevent clicks only if there is something bound to the drag.
2518
2519         * plugins/keyboard/keysrc: no drag events for keysrc..
2520
2521         * kernel/client.c:
2522         use the frame's position in the maximize function since they're converted to the client coords before getting to client_configure
2523
2524         * kernel/frame.c:
2525         was not using the pointer properly. leaving the value untouched
2526
2527         * kernel/client.c:
2528         set fullscreen and max positions properly for all gravities
2529
2530         * kernel/focus.c: rm a no-longer-valid comment
2531
2532         * kernel/event.c:
2533         yet more haxes to make focus events work the way i want. this is rough shit.
2534
2535         * plugins/resistance.c:
2536         extraneous ! causing resistance to be snapping in one case. rm a debug print
2537
2538 2003-03-30  xor@zed  <xor@zed>
2539
2540         * render/font.c: use 'sans' as the fallback font instead of 'fixed'
2541
2542         * kernel/event.c, kernel/focus.c:
2543         yet more focus fixings. RevertToPointerRoot could mess things up focusing a client and us ignoring the FocusIn of Pointer type. this is all handled now.
2544
2545 2003-03-29  xor@zed  <xor@zed>
2546
2547         * kernel/action.c, kernel/action.h:
2548         make SendToDesktop action work right, give the option of following
2549
2550         * render/mask.c, render/mask.h, render/render.h:
2551         add pixmap_mask_copy, and add the data to the mask struct, since it is needed for allowing copies
2552
2553         * plugins/keyboard/keysrc:
2554         better decribe bindings and list all the modifiers, was missing shift/control
2555
2556         * plugins/keyboard/keysrc:
2557         add SendToDesktop to the comments. fix the type calling the Desktop action Desktops
2558
2559         * plugins/keyboard/keysrc.yacc: use the number for sendtodesktop
2560
2561         * kernel/action.c, kernel/action.h: rm a redundant actiondata struct
2562
2563         * kernel/menu.c: no //'s plz
2564
2565         * kernel/action.c: translate sendtodesktop actions
2566
2567         * plugins/resistance.c: use the top when snapping to the top
2568
2569         * kernel/openbox.c: create the dirs for themes in ~/.openbox on startup
2570
2571 2003-03-29  woodblock  <woodblock@zed>
2572
2573         * tests/Makefile: Add include path
2574
2575 2003-03-29  xor@zed  <xor@zed>
2576
2577         * plugins/mouse/mouserc: add focusing if clicked on the grips
2578
2579         * plugins/resistance.c:
2580         use the bottom of the screen for botom snapping! :)
2581
2582 2003-03-29  woodblock  <woodblock@zed>
2583
2584         * kernel/Makefile.am, kernel/action.c, kernel/action.h, kernel/menu.c, kernel/menu.h:
2585         Menu data structures basically completed.
2586         Need the engine support still, parser, and controllers.
2587
2588 2003-03-29  xor@zed  <xor@zed>
2589
2590         * plugins/keyboard/keysrc.yacc: rm the extra ;
2591
2592         * kernel/action.c, kernel/action.h, plugins/keyboard/keysrc, plugins/mouse/mouserc:
2593         add unshaderaise and shadelower actions from Mikachu
2594
2595         * kernel/xerror.c, kernel/xerror.h: add a var to track errors
2596
2597         * kernel/grab.c: don't die when someone else has a key grabbed
2598
2599 2003-03-28  xor@zed  <xor@zed>
2600
2601         * plugins/keyboard/keysrc, plugins/mouse/mouserc: add ToggleDecorations
2602
2603         * kernel/action.c, kernel/client.c, kernel/client.h:
2604         rm client_disable_decorations.. it already had an action.
2605         add the action to the action_from_string func
2606
2607         * kernel/client.c, kernel/client.h: add client_disable_decorations
2608
2609         * kernel/client.c:
2610         onlt raise the window when sending to a desktop it wasnt already on
2611
2612         * kernel/event.c:
2613         FocusOut's are NOT ignored. thats bullshit. fixing comment.
2614
2615         * kernel/event.c:
2616         focus... works...? i have all cases of mozilla working, with RevertToPointerRoot sucking ass but.. working now.
2617
2618         * kernel/client.c:
2619         RevertToPointerRoot is the worse error case, so use it always
2620
2621         * kernel/event.c: comment why NotifyAncestor is not ignored
2622
2623         * kernel/event.c:
2624         yet MORE focus events reworkings. mozilla behaves now too. woot
2625
2626         * kernel/client.c: make the value boolean
2627
2628         * kernel/event.c:
2629         more focus cleanups. ignored focusin's were not working right recursively.
2630         also, when the focusin coming later is not for a valid window the fallback would not be called. both fixed.
2631
2632         * plugins/resistance.c: round down for size increments
2633
2634         * kernel/action.c, kernel/dispatch.c, kernel/dispatch.h:
2635         add resizing event
2636
2637         * plugins/resistance.c:
2638         resize resistance. size incs will fuck with it yet though.
2639
2640         * plugins/mouse/mouse.c: set lbutton from clicks
2641
2642         * plugins/mouse/mouse.c: rm debug prints
2643
2644         * kernel/client.c:
2645         was not moving the window between desktop focus lists sometimes. bad news. now i always do. yay!
2646
2647         * kernel/focus.c: killa  debug print
2648
2649         * kernel/focus.c:
2650         handle better the case of choosing the window to focus but it is already focused when switching desktops
2651
2652         * kernel/client.h: comment the new parameter
2653
2654         * kernel/action.c, kernel/client.c, kernel/client.h, kernel/event.c, kernel/screen.c:
2655         let a window be 'moved' to a new desktop without actually show/hiding it. useful for sending a window when following it, so theres no flash/flicker
2656
2657         * kernel/stacking.c: oops that worked before i borked it bad
2658
2659         * kernel/stacking.c: frame is a pointer
2660
2661         * kernel/stacking.c: dont die if a non-visible window is raised/lowered
2662
2663         * plugins/mouse/mouse.c: take borders into account for figuring clicks
2664
2665         * kernel/geom.h: make better?
2666
2667         * kernel/focus.c: sync after focusing
2668
2669         * kernel/geom.h: make these things one 'command' without braces
2670
2671 2003-03-28  manmower  <manmower@zed>
2672
2673         * render/render.c, render/render.h, render/test.c:
2674         moved paint's arguments into the appearance struct
2675
2676 2003-03-28  xor@zed  <xor@zed>
2677
2678         * kernel/stacking.c: dont lower below lower layers
2679
2680         * kernel/client.c:
2681         use the struts to size the window correctly for maximized windows
2682
2683         * kernel/client.c: read struts properly
2684
2685 2003-03-28  manmower  <manmower@zed>
2686
2687         * render/render.c, render/render.h: fix draw order in x_paint
2688
2689         * render/render.c: black.  not white.  oops
2690
2691         * render/render.c: black for parentrelative so we can test icons
2692
2693 2003-03-28  xor@zed  <xor@zed>
2694
2695         * plugins/mouse/mouserc: focus on middle click on client
2696
2697         * kernel/plugin.c: skip better
2698
2699         * kernel/plugin.c: skip comments and empty lines
2700
2701         * kernel/client.c:
2702         only use the initial_state shit when NOT starting and when managing the window
2703
2704         * kernel/focus.c:
2705         rm a bunch of prints. make switching to an empty desktop not kill focus
2706
2707         * kernel/event.c: dont focus !normal windows on enter events
2708
2709         * plugins/mouse/mouserc: add send-tos with the mouse wheel
2710
2711         * plugins/Makefile.am: focus plugin is gone
2712
2713         * kernel/client.c: mor fabulous focus fixings.
2714         RevertToNone so that when the fallback stuff goes the window wont already have focus cuz it has the pointer in to
2715
2716         * kernel/event.c: fallback focus in superior fashion
2717
2718         * kernel/focus.c: better var naming
2719
2720         * kernel/focus.c:
2721         dont rm focus when i actually found something to fall back to with the pointer
2722
2723 2003-03-27  xor@zed  <xor@zed>
2724
2725         * kernel/event.c: watch for FocusIn's for unknown clients
2726
2727         * kernel/plugin.c: rm the focus plugin
2728
2729 2003-03-27  manmower  <manmower@zed>
2730
2731         * render/render.h: prep for parentrelative
2732
2733 2003-03-27  xor@zed  <xor@zed>
2734
2735         * kernel/event.c: missed the end of a comment
2736
2737         * kernel/client.c, kernel/client.h, kernel/event.c, kernel/event.h:
2738         handle focus in the kernel, no more plugin
2739
2740         * kernel/focus.c, kernel/focus.h: add code to fallback focus
2741
2742         * kernel/screen.c: focus a window on desktop switch
2743
2744         * plugins/Makefile.am, plugins/focus.c: rm the focus plugin
2745
2746         * kernel/config.c: add focus options
2747
2748         * kernel/event.c:
2749         set the last time to CurrentTime for events that don't have time stamps
2750
2751         * kernel/client.c: rm debug print
2752
2753 2003-03-26  xor@zed  <xor@zed>
2754
2755         * kernel/client.c, kernel/event.c, kernel/event.h, kernel/focus.c, kernel/grab.c, kernel/keyboard.c, kernel/keyboard.h, kernel/pointer.c, kernel/pointer.h, plugins/keyboard/keyboard.c, plugins/mouse/mouse.c:
2756         not using CurrentTime anywhere
2757
2758         * kernel/grab.c, plugins/keyboard/keyboard.c: use CurrentTime again?
2759
2760         * plugins/keyboard/keyboard.c: bind C-g for the rset key
2761
2762         * kernel/grab.c: ungrab with currenttime
2763
2764         * kernel/focus.c:
2765         use the last event timestamp when focusing the focus_backup
2766
2767         * plugins/keyboard/keysrc.l: negatives that work!
2768
2769         * plugins/keyboard/keysrc: document the options
2770
2771         * plugins/keyboard/keysrc.l: better negatives
2772
2773         * plugins/keyboard/keysrc.l: allow negative numbers
2774
2775         * plugins/keyboard/keysrc.yacc: was reversing the keylist
2776
2777         * plugins/keyboard/keysrc.yacc:
2778         subtract 1 from the given desktop number
2779
2780         * plugins/keyboard/keysrc.l: make parsing more generic
2781
2782         * plugins/keyboard/keysrc.yacc: free unused paths
2783
2784         * plugins/keyboard/keysrc.yacc: split up the relative functions.
2785         make the parsing more generic, anything can have a string/numeric argument
2786
2787         * plugins/keyboard/keyboard.c: remove an extraneous g_warning
2788
2789         * plugins/mouse/mouserc_parse.l: split the relative functions
2790
2791         * plugins/keyboard/translate.c: check for invalid keys properly
2792
2793         * kernel/action.h:
2794         comment that the relative move/resize amounts need to be set
2795
2796         * kernel/action.c, kernel/action.h:
2797         split up the relative move/resize actions into horz/vert
2798
2799         * kernel/action.c, kernel/action.h: create actions from string names
2800
2801         * plugins/keyboard/.cvsignore, plugins/keyboard/Makefile.am, plugins/keyboard/keyboard.c, plugins/keyboard/keyboard.h, plugins/keyboard/keysrc, plugins/keyboard/keysrc.h, plugins/keyboard/keysrc.l, plugins/keyboard/keysrc.yacc, plugins/keyboard/tree.c:
2802         load keybindings from keysrc
2803
2804         * plugins/mouse/mouserc: add exit/restart.
2805         clarify which can be used for drag events
2806
2807         * plugins/mouse/mouserc_parse.l:
2808         dont let bind to actionexecute or desktop cuz they require a parameter
2809
2810         * plugins/mouse/mouserc_parse.l: dont let bind to actiondesktop
2811
2812         * plugins/mouse/mouserc_parse.l: use the action_from_string helper
2813
2814         * kernel/action.c: let a be null for action_free
2815
2816         * kernel/cparse.l: use g_warning not printf
2817
2818         * plugins/mouse/mouserc_parse.l:
2819         properly restrict bindings for motion events
2820
2821         * plugins/mouse/mouserc_parse.l: even beter
2822
2823         * plugins/mouse/mouserc_parse.l: better comment parsing
2824
2825         * plugins/mouse/mouserc_parse.l: sep is not used any more
2826
2827         * plugins/mouse/mouserc_parse.l: fix comment parsing
2828
2829         * plugins/mouse/mouserc_parse.l: dont set fields if in a comment
2830
2831         * kernel/client.c: kill the prints again for now
2832
2833         * plugins/mouse/Makefile.am: rm the lex .c on clean
2834
2835         * kernel/xerror.c: dont print bad window errors
2836
2837         * kernel/client.c, kernel/grab.c: put back map/unmap msgs
2838
2839         * configure.ac: look for yacc
2840
2841         * plugins/mouse/mouserc_parse.l: fields must not start or end with '-'
2842
2843         * kernel/event.c: dont let you got to numdesktops+1
2844
2845         * kernel/screen.c: rm the debug print
2846
2847         * kernel/event.c: kill debug prints
2848
2849         * plugins/keyboard/keyboard.c:
2850         XAllowEvents with a timestamp, otherwise we end up with a grab in place that we dont want
2851
2852         * kernel/client.c: oops
2853
2854         * kernel/client.c: rm some debug prints
2855
2856         * kernel/event.c: use ungrab enter events
2857
2858 2003-03-26  manmower  <manmower@zed>
2859
2860         * render/render.c: add rgba icon support
2861
2862         * render/image.c, render/image.h: rgba icon rendering
2863
2864         * render/Makefile.am: add image.c to the build process
2865
2866 2003-03-26  xor@zed  <xor@zed>
2867
2868         * kernel/client.c, kernel/client.h: use rgba icons for clients
2869
2870 2003-03-26  manmower  <manmower@zed>
2871
2872         * render/render.h: added "NoTexture" type
2873
2874 2003-03-26  xor@zed  <xor@zed>
2875
2876         * plugins/mouse/mouserc: document the options
2877
2878         * plugins/mouse/mouserc_parse.l: only let bind Move and Resize to Drags
2879
2880         * plugins/mouse/.cvsignore, plugins/mouse/mouserc, plugins/mouse/mouserc_parse.l:
2881         add the lexer
2882
2883         * kernel/action.c: check for no client
2884
2885 2003-03-26  manmower  <manmower@zed>
2886
2887         * render/render.h: filled out rgba
2888
2889 2003-03-26  xor@zed  <xor@zed>
2890
2891         * plugins/mouse/Makefile.am, plugins/mouse/mouse.c, plugins/mouse/mouse.h, plugins/mouse/mouserc, plugins/mouse/mouserc_parse.c, plugins/mouse/mouserc_parse.h:
2892         parse a mouserc file for mouse bindings
2893
2894         * plugins/mouse/.cvsignore: add new parsing shit
2895
2896         * kernel/.cvsignore: new output file from flex
2897
2898         * .cvsignore: wrong place
2899
2900         * .cvsignore, kernel/Makefile.am, kernel/cparse.l:
2901         usnig flex directly, renaming symbols so that theres no clash with other lexers
2902
2903         * configure.ac: look for flex
2904
2905         * kernel/action.c: free the string for action_restart too
2906
2907 2003-03-26  manmower  <manmower@zed>
2908
2909         * render/font.c, render/font.h, render/mask.c, render/mask.h, render/render.c:
2910         add a Rect to the textures for positioning them
2911
2912 2003-03-26  xor@zed  <xor@zed>
2913
2914         * kernel/plugin.c: print a warning when a module fails to open
2915
2916 2003-03-26  manmower  <manmower@zed>
2917
2918         * render/render.h: include appropriate header file for Rect
2919
2920         * render/render.h: added position to the textures
2921
2922 2003-03-26  xor@zed  <xor@zed>
2923
2924         * plugins/mouse/mouse.c: strdown the context name
2925
2926         * plugins/mouse/translate.c:
2927         use names for mouse buttons, all case insensitive
2928
2929         * plugins/keyboard/translate.c: case insensitive
2930
2931 2003-03-25  xor@zed  <xor@zed>
2932
2933         * kernel/event.c: dont change desktop when its out of range
2934
2935         * plugins/keyboard/keyboard.h, plugins/keyboard/tree.h:
2936         move the def'n of the KeyBindingTree
2937
2938         * plugins/mouse/mouse.c:
2939         presses work when clicks dont on the frame around the titlebar..
2940
2941         * plugins/keyboard/translate.c, plugins/mouse/translate.c:
2942         translate "Control" and "Shift" for modifiers too
2943
2944         * render/font.c: bettr font alignment, i think
2945
2946         * plugins/keyboard/keyboard.c: i fucked that one up
2947
2948         * plugins/resistance.c: add 'corner snapping' resistance
2949
2950         * kernel/event.c: typo
2951
2952         * kernel/event.c: dont accept MapRequest's for !iconic windows
2953
2954         * kernel/client.c:
2955         clarify using stacking_lower for restoring the stacking order
2956
2957         * kernel/client.c: free the startup stacking order after using it
2958
2959         * kernel/client.c:
2960         read in the stacking order on startup, and use it to restore windows back to the order they were in before
2961
2962         * kernel/stacking.c:
2963         dont change the stacking order hint while shuting down
2964
2965 2003-03-24  xor@zed  <xor@zed>
2966
2967         * kernel/menu.h: add action.h for menu entries
2968
2969         * kernel/menu.h: you cant reference yourself as a type
2970
2971         * kernel/client.c, kernel/event.c: use g_hash_table properly
2972
2973 2003-03-24  woodblock  <woodblock@zed>
2974
2975         * kernel/menu.c, kernel/menu.h: Added some menu structure.
2976
2977 2003-03-24  xor@zed  <xor@zed>
2978
2979         * kernel/client.c:
2980         make sure the ConfigureNotify is propogated even when there is no change
2981
2982         * kernel/client.c:
2983         always send the event on a final configure even if there was no real move
2984
2985         * kernel/client.c:
2986         make sure windows which cant be moved or resized also can't be fullscreened
2987
2988         * kernel/client.c: only configure the engine if something changed
2989
2990         * kernel/client.c, kernel/event.c:
2991         only perform the actions necessary when performing an engine_adjust_area. pass whether the client has moved or resized
2992
2993         * kernel/event.c: double ptrs suck! yay shape!
2994
2995         * kernel/event.c: handle shape events
2996
2997         * kernel/action.c: dont move/resize !normal windows
2998
2999         * kernel/event.c: kill debug prints
3000
3001         * kernel/client.c: kill debug print
3002
3003         * kernel/client.c, kernel/client.h, kernel/dispatch.h, kernel/event.c, kernel/focus.c:
3004         more focus improvements. everything seems to work!
3005
3006         * kernel/event.h: Time is declared in Xlib.h
3007
3008         * kernel/openbox.c: not.
3009
3010         * kernel/openbox.c: focus seems to work when not remote too now
3011
3012         * kernel/event.c, kernel/openbox.c:
3013         more focus fixes. i wish this could end.
3014
3015         * kernel/client.c: no \n in g_message
3016
3017         * kernel/action.c, kernel/action.h: add restart and exit actions
3018
3019 2003-03-23  xor@zed  <xor@zed>
3020
3021         * kernel/client.c, kernel/client.h, kernel/event.c:
3022         yet more improvements to focus handling
3023
3024         * render/test.c: gl aint used yet
3025
3026         * plugins/resistance.c: export config values
3027
3028         * plugins/focus.c, plugins/placement/placement.c: dont need the bool
3029
3030         * plugins/focus.c: typo
3031
3032         * plugins/placement/placement.c: make history placement optional
3033
3034         * plugins/focus.c: export its options and use them from the rc file
3035
3036         * plugins/mouse/mouse.c: raise AND focus
3037
3038         * plugins/focus.c: export focus options to the rc file
3039
3040         * render/font.c: seems to be better text placement than ever
3041
3042         * render/font.c:
3043         found what seems to be a better vertical offset for the fonts
3044
3045         * kernel/stacking.c: compare it to null like i do elsewhere
3046
3047         * kernel/client.c: code optimization
3048
3049         * kernel/client.c:
3050         when adjusting the trasient lists, set them, dont leave them hanging into space
3051
3052         * kernel/client.c: whitespace
3053
3054         * kernel/dispatch.c: use gnew0 to make life easy
3055
3056         * kernel/plugin.c: use the plugins' plugin_setup_config function
3057
3058         * render/gradient.c: dont render gradients that are missing
3059
3060         * plugins/focus.c, plugins/keyboard/keyboard.c, plugins/mouse/mouse.c, plugins/placement/placement.c, plugins/resistance.c:
3061         add the plugin_setup_config function
3062
3063         * kernel/event.c: kill debug print
3064
3065         * kernel/event.c: handle multiple maprequests graciously
3066
3067         * kernel/screen.c: oops
3068
3069         * kernel/screen.c:
3070         move windows when the number of desktops changes and they arent on a desktop anymore
3071
3072         * kernel/focus.c:
3073         set focus_order back to null on shutdown so g_renew would work
3074
3075         * render/render.c: add more size checks
3076
3077 2003-03-23  woodblock  <woodblock@zed>
3078
3079         * CHANGELOG:
3080         Fix a bug that would put duplicate windows in the workspace menu.
3081
3082 2003-03-23  xor@zed  <xor@zed>
3083
3084         * kernel/openbox.c, kernel/themerc.c, kernel/themerc.h:
3085         rm the themerc stuff
3086
3087         * kernel/Makefile.am: rm themerc.[ch]
3088
3089         * kernel/config.c, kernel/cparse.l: better parsing errors
3090
3091         * kernel/config.c, kernel/config.h: add booleans
3092
3093         * kernel/cparse.l: properly parse comments!
3094         parse booleans
3095
3096         * render/gradient.c: no \n in g_message
3097
3098         * kernel/config.c, kernel/config.h:
3099         add descriptive names and long descriptions to config var def'ns. set these for the kernel config options.
3100
3101 2003-03-22  xor@zed  <xor@zed>
3102
3103         * kernel/config.c, kernel/engine.c, kernel/openbox.c, kernel/plugin.c, kernel/plugin.h:
3104         make the openbox engine use the new config shit instead of the themerc shit.
3105         order te startup so that plugins can set up their config shit before parsing the config, then the config is parsed, engine is loaded, and finally the plugins are officially started.
3106
3107         * kernel/config.c: only load the system rc if the user rc didnt load
3108
3109         * kernel/config.c, kernel/engine.c, kernel/engine.h, kernel/openbox.c:
3110         load the engine out of the config shit. tho the ordering is fucked atm
3111
3112         * kernel/cparse.l: parse lines that start with '#' as comments
3113
3114         * kernel/cparse.l: let identifiers have '.' in them
3115
3116         * kernel/config.c, kernel/cparse.l:
3117         give the filename to the parser for errors
3118
3119         * kernel/cparse.l: remove debug print
3120
3121         * kernel/config.c: yah. fuck
3122
3123         * kernel/config.c: add a check for adding the same exact def'n twice
3124
3125         * kernel/Makefile.am, kernel/config.c, kernel/config.h:
3126         config system fleshed out. many thanks to woodlbock for his code! yay!
3127
3128         * configure.ac: add const and inline checks for the compiler
3129
3130         * kernel/.cvsignore: ignore cparse.c
3131
3132         * kernel/cparse.c: didnt belong
3133
3134         * kernel/Makefile.am, kernel/config.c, kernel/config.h, kernel/cparse.c, kernel/cparse.l, kernel/openbox.c:
3135         start the config system, add the config file parser
3136
3137         * configure.ac: check for stdio.h
3138
3139         * kernel/client.c: asserts in unmanage to try track a crash
3140
3141         * kernel/screen.c: blef
3142
3143         * kernel/action.c, kernel/action.h, kernel/client.c, kernel/client.h, plugins/mouse/mouse.c:
3144         add the client_kill function, and the kill action, and bind it to the middle mouse button on the close button.
3145
3146         * plugins/placement/history.c, plugins/placement/placement.c:
3147         history placement works. loads. saves. woot.
3148
3149         * configure.ac: look for sys/stat.h
3150
3151         * kernel/openbox.c: make the ~/.openbox dir on startup
3152
3153 2003-03-22  woodblock  <woodblock@zed>
3154
3155         * CHANGELOG: Bug fixes from 2_4. Merge point tag 2_4-to-2_3-03-21-2003.
3156
3157 2003-03-22  xor@zed  <xor@zed>
3158
3159         * kernel/client.c, kernel/client.h:
3160         rename the res_name and res_class members to name and class
3161
3162 2003-03-22  woodblock  <woodblock@zed>
3163
3164         * CHANGELOG:
3165         Fixed some more menu lamity, and the infamous xmms focus crash. wunf.
3166
3167 2003-03-21  xor@zed  <xor@zed>
3168
3169         * plugins/mouse/mouse.c: dont raise on client clicks
3170
3171         * data/Makefile.am, data/menu.in: use $(datadir)
3172
3173         * data/Makefile.am: install the menu in $(datadir)
3174         build from $(srcdir)/menu.in
3175
3176         * data/Makefile.am: use the SED command
3177
3178         * kernel/event.c, kernel/openbox.c, kernel/plugin.c, kernel/timer.c, m4/openbox.m4, render/color.c, render/font.c, render/mask.c, render/render.c, render/test.c:
3179         add strict ansi compliance
3180
3181         * configure.ac: find sed
3182
3183         * configure.ac: clean up configure.ac a bit
3184
3185         * configure.ac: rm the c/Makefile
3186
3187         * configure.ac: look for kernel/openbox.c instead of src/main.cc
3188
3189         * render/font.c: include gettext.h from the right place
3190
3191         * kernel/.cvsignore: ignore the openbox3 binary
3192
3193         * kernel/Makefile.am: build 'openbox3' instead of 'ob3'
3194
3195         * kernel/Makefile.am: build the binary called 'openbox3'
3196
3197         * tools/.cvsignore, tools/Makefile.am, tools/obsetroot.cc:
3198         rm the obsetroot tool and the wrap shit from swig
3199
3200         * kernel/client.c, kernel/engine.c, kernel/engine.h:
3201         always adjust the frames size and position together, so there is no more weird resizing before moving and edge flickering when resizing from the top/left
3202
3203         * kernel/screen.c:
3204         dont focus anything in the kernel from showing-the-desktop mode
3205
3206         * plugins/focus.c:
3207         focus windows when entering/leaving enter-the-desktop mode
3208
3209         * plugins/keyboard/keyboard.c: add an xlock binding
3210
3211         * kernel/dispatch.h: better comment for Event_Client_Moving
3212
3213         * kernel/openbox.c: choke on invalid options on the cmd line
3214
3215         * kernel/client.c: dont check for != NULL before freeing. pointless.
3216
3217         * kernel/screen.c: don't check for != NULL before freeing. pointless
3218
3219         * kernel/screen.c: defn vars at the top of funcs
3220
3221         * plugins/placement/placement.c:
3222         dont reposition windows who know what they want
3223
3224         * kernel/client.c, kernel/client.h:
3225         add the client_set_focused function.
3226         make focus state be changed internally immediately after calling the X functions to make it so, basically, assume their success. this elimiates races all over the place with our state vs the server's state.
3227
3228         * kernel/event.c:
3229         use the client_set_focused function when getting FocusIn/Out events
3230
3231         * kernel/focus.c: init the focus_client ptr in startup
3232
3233         * plugins/focus.c: dont focus !normal clients under the mouse
3234
3235         * kernel/screen.c: dont use the client's colormap if it is set to None!
3236
3237         * kernel/Makefile.am, kernel/action.c, kernel/dispatch.c, kernel/dispatch.h, kernel/openbox.c, kernel/snap.c, kernel/snap.h:
3238         add a dispatched event for interactively moving a window.
3239         move window snapping/resistance out of the kernel.
3240         make the action_move dispatch the new event.
3241
3242         * plugins/resistance.c: rm debug print
3243
3244         * plugins/resistance.c: optimization!
3245
3246         * plugins/resistance.c: syntax error!
3247
3248         * plugins/resistance.c: don't snap to non-visibles
3249
3250         * plugins/resistance.c: dont snap to self
3251
3252         * plugins/resistance.c:
3253         rm the edge_resistance option.. just dont load the plugin!
3254
3255         * plugins/focus.c, plugins/placement/placement.c:
3256         make the event function static!
3257
3258         * plugins/Makefile.am, plugins/.cvsignore, plugins/resistance.c:
3259         add a window resistance plugin
3260
3261         * plugins/placement/placement.c: rename event() to place_event()
3262
3263         * kernel/snap.c: snap window-to-window
3264
3265         * plugins/focus.c: focus new windows
3266
3267         * plugins/focus.c: rm debug prints
3268
3269         * kernel/event.c: rm debug print
3270
3271         * kernel/client.c: rm debug prints
3272
3273         * kernel/client.c, kernel/client.h, plugins/focus.c:
3274         rm the focused member from the client struct, it was redundant with the focus_client variable around
3275
3276         * kernel/event.c: update engine last for focus events
3277
3278         * plugins/placement/.cvsignore, plugins/placement/Makefile.am, plugins/placement/history.c, plugins/placement/history.h:
3279         set up the history place stuff's files
3280
3281         * plugins/placement/placement.c: start and stop the history plugin
3282
3283         * kernel/openbox.c:
3284         dont set the restart path to "", load the placement plugin
3285
3286         * plugins/focus.c: dont skip enter events
3287
3288         * .cvsignore, configure.ac, kernel/openbox.c, plugins/Makefile.am, plugins/placement/.cvsignore, plugins/placement/Makefile.am, plugins/placement/placement.c:
3289         add a window placement plugin
3290
3291 2003-03-21  woodblock  <woodblock@zed>
3292
3293         * CHANGELOG: Document unexpandTilde()
3294
3295         * CHANGELOG: Support _NET_WM_STATE_FULLSCREEN
3296
3297         * CHANGELOG: We'll call it 2.4, I guess.
3298
3299         * CHANGELOG: Display titles in the workspace menu as UTF8.
3300
3301 2003-03-20  xor@zed  <xor@zed>
3302
3303         * plugins/focus.c: disable warping on desk switch
3304
3305         * plugins/focus.c: skip events more smarter
3306
3307         * plugins/focus.c: kill all enter events on a desktop switch
3308
3309         * kernel/screen.c: show windows before hiding when switching desktops
3310
3311         * plugins/keyboard/keyboard.c: alt bindings
3312
3313         * plugins/focus.c: skipping the right number of enters now i think
3314
3315         * plugins/focus.c:
3316         skip all enter events for now.. need a clever tactic for this..
3317
3318         * kernel/openbox.c, kernel/openbox.h:
3319         add -help -version -sync and -rc cmd line options
3320
3321         * kernel/Makefile.am: add the binary and urls to the Makefile and -D's
3322
3323         * kernel/geom.h: add RECT_CONTAINS
3324
3325         * kernel/client.c, kernel/client.h:
3326         save decor and functions per client for fullscreening!
3327
3328         * kernel/client.c:
3329         lock the size/position of maximized and fullscreen clients
3330
3331         * plugins/focus.c:
3332         fallback super intelligently with focus when the focused
3333
3334         * kernel/client.c: lock the position/size of maximized windows
3335
3336         * kernel/openbox.c: restart and catch errors appropriately
3337
3338         * kernel/action.c: init the GError to NULL
3339
3340         * kernel/openbox.c: can restart now
3341
3342 2003-03-19  manmower  <manmower@zed>
3343
3344         * render/color.c, render/color.h, render/render.c, render/render.h:
3345         added depth reduction and startup for true color visuals
3346         16bpp should now work
3347
3348 2003-03-19  xor@zed  <xor@zed>
3349
3350         * kernel/openbox.c: restart will work soon
3351
3352         * kernel/client.c: no \n in g_messages
3353
3354         * kernel/event.c: MapRequest needs to activate the window
3355
3356         * plugins/mouse/mouse.c:
3357         dont raise the window on a titlebar drag either
3358
3359         * plugins/mouse/mouse.c: add a drag threshold
3360
3361         * kernel/action.c: snap windows when moving them
3362
3363         * kernel/Makefile.am, kernel/snap.c, kernel/snap.h:
3364         add code for snapping windows to screen edges
3365
3366         * plugins/keyboard/keyboard.c, plugins/mouse/mouse.c:
3367         use the grab.h funcs to grab keys and buttons
3368
3369         * kernel/grab.h: add funcs to grab buttons and keys
3370
3371         * kernel/event.h: export the NumLock and ScrollLock masks
3372
3373         * kernel/event.c: dont need a mask_list here
3374
3375         * kernel/grab.c: grab all lock keys
3376
3377         * plugins/mouse/mouse.c: fewer context lookups
3378
3379         * kernel/event.c: break, dont return
3380
3381         * kernel/event.c: add code to make net_active_window events work
3382
3383         * kernel/action.c, kernel/action.h: add focusraise
3384
3385         * plugins/mouse/mouse.c:
3386         add click on client binding. XAllow when clicking on the client
3387
3388         * kernel/screen.c: put the comment where it belongs
3389
3390         * kernel/screen.c:
3391         on shutdown: destroy the net support window. clear a few more properties we dont want across restart. select NoEventMask on root.
3392
3393         * kernel/focus.c: oops
3394
3395         * kernel/focus.c: destroy the focus_backup
3396
3397         * kernel/screen.c:
3398         erase the openbox_pid hint on the root window when we shutdown
3399
3400         * plugins/focus.c, plugins/mouse/mouse.c:
3401         all the old ob2 mouse bindings are workin
3402
3403         * plugins/mouse/mouse.c: add mbinds for shading windows on the titlebar
3404
3405         * kernel/event.c: ignore !normal crossing events
3406
3407         * plugins/focus.c: simply out the events we dont need no more
3408
3409         * render/render.c: free the right pixel data yay!
3410
3411         * render/render.c: free the pixel data
3412
3413         * kernel/screen.c:
3414         start with 0 desktops, so the focus_order stuff all gets initialized properly
3415
3416         * kernel/focus.c:
3417         the focus_order shit is init'd by the screen_startup setting the number of desktops
3418
3419         * kernel/openbox.c: shutdown everything before closing the display
3420
3421         * render/render.c: can fit on one line
3422
3423         * render/render.c:
3424         initialize texture to NULL if theres no textures. use g_memdup to copy it
3425
3426         * kernel/dispatch.c: comment what funcs is
3427
3428         * kernel/themerc.c: close the channel by unref'ing it
3429
3430         * render/font.c:
3431         kill the const, use g_new instead of malloc, g_free the font in font_close()
3432
3433         * render/font.h: kill the const
3434
3435         * render/font.c: clean up comments regarding alpha
3436
3437         * kernel/client.c:
3438         rm the comments pointer bindings stuff, thats in a plugin now
3439
3440         * kernel/client.c: add new windows to the back of the focus order list
3441
3442         * kernel/client.c, kernel/dispatch.h, kernel/focus.c, kernel/focus.h, kernel/openbox.c, kernel/screen.c, plugins/focus.c:
3443         move the focus_order lists into the kernel
3444
3445         * kernel/action.c, kernel/action.h: add focus actions
3446
3447         * plugins/focus.c: add sloppy focus
3448
3449         * plugins/mouse/mouse.c: end drags
3450
3451         * plugins/mouse/mouse.c: dont clean up nulls
3452
3453         * plugins/keyboard/keyaction.c, plugins/keyboard/keyaction.h:
3454         not using the KeyAction stuff no more
3455
3456         * kernel/action.c, kernel/action.h, kernel/grab.c, plugins/keyboard/Makefile.am, plugins/keyboard/keyboard.c, plugins/keyboard/keyboard.h, plugins/keyboard/translate.c, plugins/keyboard/translate.h, plugins/keyboard/tree.c, plugins/mouse/.cvsignore, plugins/mouse/Makefile.am, plugins/mouse/mouse.c, plugins/mouse/mouse.h, plugins/mouse/translate.c, plugins/mouse/translate.h:
3457         mouse and key bindings plugins work. segfault somewhere still on shutdown
3458
3459         * kernel/openbox.c: reset focus to root before exiting
3460
3461 2003-03-18  xor@zed  <xor@zed>
3462
3463         * plugins/.cvsignore: ignore shit
3464
3465         * configure.ac, plugins/mouse/.cvsignore, plugins/mouse/Makefile.am, plugins/mouse/mouse.c:
3466         add the mouse plugin
3467
3468         * plugins/keyboard/keyboard.c: grab the keyboard not the server!
3469
3470         * plugins/keyboard/keyboard.c: use the grab_server function
3471
3472         * kernel/client.c, kernel/grab.c, kernel/grab.h:
3473         add 'grab_server' for grabbing .. the .. server!
3474
3475         * kernel/Makefile.am, kernel/grab.c, kernel/grab.h, kernel/openbox.c:
3476         provide functions for grabbing and ungrabbing the keyboard and pointer
3477
3478         * plugins/Makefile.am: set the log domain for each plugin properly
3479
3480         * plugins/focus.c:
3481         warp the pointer on a workspace change to the focused window
3482
3483         * kernel/focus.c: kill some whitespace
3484
3485         * kernel/focus.c: kill a comment
3486
3487         * plugins/focus.c: focus fallback works when nothing is focused
3488
3489         * kernel/event.c: dont set the focused client if it's already set
3490
3491         * kernel/focus.c: send the right client for unfocus events
3492
3493         * kernel/focus.c: send unfocus events after focus events
3494
3495         * plugins/Makefile.am: generic domain
3496
3497         * kernel/Makefile.am, kernel/action.c, kernel/action.h, kernel/client.c, kernel/keyboard.c, kernel/openbox.c, kernel/screen.h:
3498         add actions for key/mouse bindings etc
3499
3500         * plugins/keyboard/.cvsignore: add the new objects
3501
3502         * plugins/keyboard/Makefile.am, plugins/keyboard/keyaction.c, plugins/keyboard/keyaction.h, plugins/keyboard/keyboard.c, plugins/keyboard/keyboard.h, plugins/keyboard/translate.c, plugins/keyboard/translate.h, plugins/keyboard/tree.c, plugins/keyboard/tree.h:
3503         keyboard bindings are functional
3504
3505         * configure.ac: dont need process.h, yay glib
3506
3507         * configure.ac: add process.h
3508
3509         * plugins/.cvsignore, plugins/keyboard/.cvsignore: add cvsignores
3510
3511         * configure.ac, kernel/client.c, kernel/client.h, kernel/dispatch.c, kernel/dispatch.h, kernel/engine.c, kernel/focus.c, kernel/openbox.c, kernel/plugin.c, kernel/screen.c, plugins/Makefile.am, plugins/keyboard/Makefile.am, plugins/keyboard/keyboard.c:
3512         add a keyboard plugin
3513
3514         * plugins/focus.c:
3515         focus new windows and focus windows on workspace change
3516
3517         * kernel/Makefile.am, kernel/dispatch.c, kernel/dispatch.h, kernel/engine.c, kernel/engine.h, kernel/openbox.c, kernel/plugin.c, kernel/plugin.h, plugins/Makefile.am, plugins/focus.c:
3518         plugins work.
3519         start a focus plugin.
3520
3521 2003-03-17  xor@zed  <xor@zed>
3522
3523         * render/font.c: dont put \n's at the end of g_message
3524
3525         * kernel/dispatch.c: make sure theres always a client for client events
3526
3527         * kernel/dispatch.h: oops missing a */
3528
3529         * kernel/dispatch.h: fix comments
3530
3531         * kernel/clientwrap.c, kernel/clientwrap.h, kernel/configwrap.c, kernel/configwrap.h, kernel/hooks.c, kernel/hooks.h, kernel/openboxwrap.c, kernel/openboxwrap.h, kernel/python.c, kernel/python.h:
3532         rming almost all the old python stuffs
3533
3534         * kernel/client.c, kernel/dispatch.c, kernel/dispatch.h, kernel/event.c, kernel/focus.c, kernel/openbox.c, kernel/screen.c:
3535         all events are dispatched
3536
3537         * render/font.c: kill the debug print
3538
3539         * plugins/Makefile.am: add the plugins dir
3540
3541         * Makefile.am, configure.ac, kernel/Makefile.am, kernel/client.c, kernel/client.h, kernel/dispatch.c, kernel/dispatch.h, kernel/event.c, kernel/focus.c, kernel/openbox.c:
3542         stop using python internally. add an event dispatcher
3543
3544         * DESIGN/plugins_vs_scripting.txt: kill the timestamps
3545
3546         * DESIGN/plugins_vs_scripting.txt: my rant..
3547
3548         * render/font.c, render/font.h, render/render.c:
3549         pass the x,y,w,h to font_draw.
3550         draw the text in the "right" place for now.. no justification yet
3551
3552         * render/font.c, render/render.h:
3553         measure the font's height instead of listening to Xft
3554
3555         * kernel/event.c: dont skip ungrab corssing events
3556
3557 2003-03-17  manmower  <manmower@zed>
3558
3559         * render/gradient.c, render/gradient.h, render/render.c:
3560         solids should now work with offsets
3561
3562         * render/render.c: more random pokery
3563
3564         * render/render.c: either offsets work, or I've broken lots of things.
3565
3566         * render/render.h, render/test.c:
3567         more changes wrt passing x, y, w, h to render
3568
3569         * render/color.c, render/render.c, render/render.h:
3570         paint gets more parameters
3571
3572         * render/render.h: apparently my variable names were too verbose.
3573
3574         * render/render.h: offsets in planar surfaces
3575
3576 2003-03-17  xor@zed  <xor@zed>
3577
3578         * kernel/hooks.c: declare variables first!
3579
3580         * render/color.c: decalre variables before code!
3581
3582         * kernel/client.c, kernel/client.h:
3583         make client_showhide a static function
3584
3585         * kernel/client.c, kernel/client.h, kernel/screen.c:
3586         speed up workspace switching by causing the minimal number of expose events (none for the hiding windows!)
3587
3588         * kernel/engine.c, kernel/engine.h, kernel/event.c:
3589         give engines mouse event notifications. make the openbox engine display pressed buttons
3590
3591 2003-03-17  manmower  <manmower@zed>
3592
3593         * render/render.h: added justification to textureText
3594
3595 2003-03-17  xor@zed  <xor@zed>
3596
3597         * kernel/themerc.c: pixmap button masks work (hardcoded)
3598
3599         * render/mask.h: dont need those includes no more
3600
3601 2003-03-17  manmower  <manmower@zed>
3602
3603         * render/mask.c, render/mask.h, render/render.c:
3604         in keeping with my tradition of committing untested code, here is the
3605         pixmap mask rendering code ported from the old otk dirs
3606
3607         * render/mask.c, render/mask.h, render/render.h:
3608         move pixmap_mask typedef
3609         add stub for draw_mask
3610
3611 2003-03-17  xor@zed  <xor@zed>
3612
3613         * render/mask.c, render/mask.h: add funcs to create/free pixmap_masks
3614
3615         * render/mask.h: add glib.h for guint
3616
3617         * render/mask.h: include Xlib.h for Pixmap
3618
3619         * render/Makefile.am: add mask.[ch]
3620
3621         * render/mask.c, render/mask.h, render/render.h:
3622         add a struct for pixmap masks
3623
3624 2003-03-17  manmower  <manmower@zed>
3625
3626         * render/render.c: hack so text shows up
3627
3628 2003-03-17  xor@zed  <xor@zed>
3629
3630         * render/render.c:
3631         dont delete the pixmap until after changeing the visible one
3632
3633 2003-03-17  manmower  <manmower@zed>
3634
3635         * render/render.c: add missing include, pass right args to font_draw
3636
3637 2003-03-16  manmower  <manmower@zed>
3638
3639         * render/render.c: malloc.  yeah.
3640
3641 2003-03-16  xor@zed  <xor@zed>
3642
3643         * kernel/openbox.c: will draw fonts when stop segging
3644
3645 2003-03-16  manmower  <manmower@zed>
3646
3647         * render/render.c: copy textures in appearance_copy
3648
3649         * render/render.c: try to render fonts
3650         destroy pixmaps and xftdraws in appearance_delete
3651
3652         * render/render.h: font changes
3653
3654         * render/gradient.c: remove printf and stdio.h
3655
3656         * render/font.c: add font_draw
3657
3658         * render/font.h: add font_draw
3659         move font def'n to render.h
3660
3661 2003-03-16  xor@zed  <xor@zed>
3662
3663         * kernel/Makefile.am, kernel/configwrap.c, kernel/configwrap.h, kernel/openbox.c, kernel/pointer.c:
3664         pointer's variables are config vars
3665
3666 2003-03-16  manmower  <manmower@zed>
3667
3668         * render/Makefile.am: font.h and font.c
3669
3670         * kernel/openbox.c: added font_startup
3671
3672         * render/render.h: filled out font texture
3673
3674         * render/font.c, render/font.h: added some font stuff
3675
3676 2003-03-16  xor@zed  <xor@zed>
3677
3678         * themes/.cvsignore, themes/Makefile.am, Makefile.am, README.CVS, bootstrap, configure.ac, doc/Makefile.am, doc/bsetbg.1, doc/bsetroot.1, doc/openbox.1.in, doc/themerc.txt, kernel/.cvsignore, kernel/Makefile.am, kernel/client.c, kernel/client.h, kernel/clientwrap.c, kernel/clientwrap.h, kernel/engine.c, kernel/engine.h, kernel/event.c, kernel/event.h, kernel/extensions.c, kernel/extensions.h, kernel/focus.c, kernel/focus.h, kernel/frame.c, kernel/frame.h, kernel/geom.h, kernel/gettext.h, kernel/hooks.c, kernel/hooks.h, kernel/keyboard.c, kernel/keyboard.h, kernel/openbox.c, kernel/openbox.h, kernel/openboxwrap.c, kernel/openboxwrap.h, kernel/pointer.c, kernel/pointer.h, kernel/prop.c, kernel/prop.h, kernel/python.c, kernel/python.h, kernel/screen.c, kernel/screen.h, kernel/stacking.c, kernel/stacking.h, kernel/themerc.c, kernel/themerc.h, kernel/timer.c, kernel/timer.h, kernel/xerror.c, kernel/xerror.h, m4/openbox.m4, m4/swig.m4, render/.cvsignore, render/Makefile.am, render/color.c, render/color.h, render/font.c, render/gradient.c, render/gradient.h, render/render.c, render/render.h, render/test.c:
3679         merge the C branch into HEAD
3680
3681         * kernel/openboxwrap.c: add functions for next/previous workspace
3682
3683         * kernel/pointer.c: no segfault with the cleaner code
3684
3685         * kernel/pointer.c: clean up pointer_event a little
3686
3687 2003-03-12  xor@zed  <xor@zed>
3688
3689         * kernel/keyboard.c, render/render.c: blef
3690
3691 2003-03-11  xor@zed  <xor@zed>
3692
3693         * kernel/pointer.c:
3694         fire off pointer events and grabbed events, make work withthe new bindings model
3695
3696 2003-03-08  xor@zed  <xor@zed>
3697
3698         * kernel/keyboard.c: use glib TRUE/FALSE
3699
3700         * kernel/keyboard.c: new keyboard model (the old old one basically..)
3701
3702         * kernel/clientwrap.c: compare 2 clients properly
3703
3704         * kernel/clientwrap.c:
3705         return False when comparing a client to another object type
3706
3707         * kernel/keyboard.c: pass a KeyboardData instead of just the chain
3708
3709         * kernel/keyboard.c: typo in the port to C
3710
3711         * kernel/clientwrap.c: add __eq__ to Client
3712
3713         * kernel/openboxwrap.c: check for desktops out of range
3714
3715         * kernel/client.c:
3716         OMG KILL ME PLZ THAT WAS SO FUCKING STUPID YA LETS USE TRUE AS THE INDEX FUCK YES THATS SO FUCKING BRILLIANT I THINK A MUTINY IS IN ORDER NOW
3717
3718         * kernel/openbox.c: must use a tuple for the argument list
3719
3720         * kernel/clientwrap.c: add the maximized() setMaximized() funcs
3721
3722         * kernel/pointer.c: add the drag threshold
3723
3724         * kernel/clientwrap.c: add Client.close()
3725
3726         * kernel/client.c: keep clients in the right range of desktops
3727
3728         * kernel/client.c: kill debug prints
3729
3730         * kernel/client.c: client_validate should return TRUE sometimes@!(
3731
3732         * kernel/event.c: *** empty log message ***
3733
3734         * kernel/client.c:
3735         position the maximized window so that its client's left edge is at the edge of the screen
3736
3737         * kernel/client.c:
3738         dont resize the client window unless its size changed
3739
3740         * kernel/client.c: dont resize the frame when not needed
3741
3742 2003-03-08  manmower  <manmower@zed>
3743
3744         * render/render.c, render/test.c: solid.
3745
3746 2003-03-08  xor@zed  <xor@zed>
3747
3748         * kernel/openbox.c: start render before the engine
3749
3750 2003-03-08  manmower  <manmower@zed>
3751
3752         * render/gradient.c, render/render.c, render/render.h:
3753         hopefuly pixmap management is improved.
3754
3755         * render/render.c: appearance_copy needs to copy the whole appearance.
3756
3757         * render/render.c: copy the original.  ugh
3758
3759         * render/gradient.c, render/render.c:
3760         fix appearance_copy (check for null colors)
3761
3762         * render/gradient.c, render/render.c, render/render.h:
3763         removed interlace_color
3764         added appearance_copy
3765
3766         * render/gradient.c, render/gradient.h, render/render.c, render/render.h, render/test.c:
3767         removed w,h from surface struct
3768         it is now passed with paint()
3769
3770 2003-03-08  xor@zed  <xor@zed>
3771
3772         * kernel/geom.h: kill an assert.h include
3773
3774 2003-03-07  manmower  <manmower@zed>
3775
3776         * render/render.c: only free it if I allocated it!
3777
3778         * render/render.c: still retarded
3779
3780         * render/render.c, render/test.c: I hate being retarded
3781
3782         * render/color.c:
3783         color_rgb now reflects the actually color, not requested
3784
3785         * render/color.c, render/color.h:
3786         allocate colors on creation, added .pixel to color_rgb
3787
3788         * render/color.c, render/color.h, render/render.c, render/test.c:
3789         added color_free, made appearance_free use it
3790
3791 2003-03-07  xor@zed  <xor@zed>
3792
3793         * render/color.h: add include for GC
3794
3795         * kernel/Makefile.am: use librender.a
3796
3797         * render/Makefile.am: make a librender.a
3798
3799 2003-03-07  manmower  <manmower@zed>
3800
3801         * render/color.c, render/color.h, render/gradient.c, render/render.c, render/render.h, render/test.c:
3802         added color new/destroy
3803         made color_rgbs in appearance into pointers
3804         updated the rest to follow
3805
3806 2003-03-07  xor@zed  <xor@zed>
3807
3808         * configure.ac: look for ctype.h for toupper
3809
3810         * kernel/themerc.c: use g_build_filename!
3811
3812         * kernel/themerc.c: dont need to check for path being set now
3813
3814         * kernel/engine.c, kernel/openbox.c, kernel/python.c, kernel/themerc.c:
3815         use g_build_filename properly, gotta pass a NULL at the end
3816
3817         * kernel/event.c:
3818         wait for the time until the next timer if there is a timer pending
3819
3820         * kernel/timer.c: if a callback fires, set the wait time to 0
3821
3822         * kernel/Makefile.am: add the render/color.o
3823
3824         * kernel/timer.c: oops stupid c++ iterators messing with me
3825
3826         * kernel/timer.c, kernel/timer.h: New file.
3827
3828         * kernel/Makefile.am, kernel/timer.c, kernel/timer.h: add timers
3829
3830         * kernel/themerc.c: fucked up an error message
3831
3832 2003-03-07  manmower  <manmower@zed>
3833
3834         * render/render.c: XDestroyImage, not Xfree.  stop memleak
3835
3836 2003-03-07  xor@zed  <xor@zed>
3837
3838         * configure.ac: check for sys/time.h
3839
3840 2003-03-07  manmower  <manmower@zed>
3841
3842         * render/color.c, render/color.h, render/font.c: New file.
3843
3844         * render/Makefile.am, render/color.c, render/color.h, render/font.c, render/gradient.c, render/gradient.h, render/render.c, render/render.h, render/test.c:
3845         it was broken before, it is broken now.
3846
3847 2003-03-07  xor@zed  <xor@zed>
3848
3849         * kernel/engine.c, kernel/python.c, kernel/themerc.c:
3850         build paths properly, and get the home dir properly
3851
3852         * render/test.c: enum changed
3853
3854 2003-03-07  manmower  <manmower@zed>
3855
3856         * render/render.c, render/render.h: added appearance_new/free
3857         changed assert to g_assert
3858         changed enum and struct names to be friendlier
3859
3860 2003-03-07  xor@zed  <xor@zed>
3861
3862         * doc/themerc.txt: add a full example
3863
3864         * doc/themerc.txt: New file.
3865
3866         * doc/themerc.txt: add a doc for the themerc file
3867
3868         * kernel/engine.c, kernel/engine.h, kernel/openbox.c, kernel/themerc.c, kernel/themerc.h:
3869         load the font and titlebarlayout from the themerc
3870
3871         * configure.ac, m4/openbox.m4, m4/swig.m4:
3872         kill old swig shit for the build system. rm the endian check, glib does this
3873
3874         * m4/openbox.m4: dont set crazy mipspro flags.. this is C not C++!
3875
3876         * kernel/themerc.c: read home dir in the right order n shi
3877
3878         * kernel/themerc.c: read the file out of the homedir first
3879
3880         * kernel/themerc.c: print warnings for redefines in the themerc
3881
3882         * kernel/openbox.c, kernel/themerc.c, kernel/themerc.h:
3883         themerc gets parsed
3884
3885         * kernel/themerc.c, kernel/themerc.h: New file.
3886
3887         * kernel/Makefile.am, kernel/engine.c, kernel/engine.h, kernel/openbox.c, kernel/python.c, kernel/themerc.c, kernel/themerc.h:
3888         load the engine before the python
3889
3890         * kernel/client.c: fire the visible hook when requested
3891
3892         * kernel/engine.c, kernel/engine.h, kernel/openbox.c:
3893         rm the engine interface from the python
3894
3895         * kernel/pointer.c: dont let invalid contexts through
3896
3897         * Makefile.am: build render before kernel
3898
3899 2003-03-07  manmower  <manmower@zed>
3900
3901         * render/render.c, render/render.h, render/test.c:
3902         removed a bunch of stuff that the rest of ob3 already does for us
3903         renamed a couple of functions to match the rest of ob3's style
3904
3905 2003-03-07  xor@zed  <xor@zed>
3906
3907         * kernel/client.c: map withdrawn/dock apps
3908
3909         * kernel/Makefile.am: link the .o's instead of building them again
3910
3911 2003-03-06  xor@zed  <xor@zed>
3912
3913         * kernel/openbox.c: startup/shutdown the render stuff
3914
3915         * kernel/Makefile.am: build in the render/ sources
3916
3917         * themes/.cvsignore: New file.
3918
3919         * themes/.cvsignore: ignore new shit
3920
3921         * configure.ac: openbox engine loads a style, well, opens one
3922
3923         * kernel/event.c: catch xkb bell events, fire the hook
3924
3925         * themes/Makefile.am: New file.
3926
3927         * Makefile.am, configure.ac, themes/Makefile.am:
3928         add themes for the openbox engine
3929
3930         * kernel/engine.c: clean up messages
3931
3932         * kernel/engine.c: dont save the internal char*'s
3933
3934         * kernel/pointer.c: allow any context
3935
3936         * render/Makefile.am: render/ doesnt need the locale or script dir
3937
3938         * render/Makefile.am: link in xft and find its headers
3939
3940         * kernel/Makefile.am: link in Xft
3941
3942         * kernel/client.c, kernel/client.h, kernel/screen.c, kernel/stacking.h:
3943         show and hide windows in the order to cause the least expose events
3944
3945         * configure.ac, kernel/Makefile.am, kernel/client.c, kernel/clientwrap.c, kernel/engine.c, kernel/engine.h, kernel/event.c, kernel/frame.c, kernel/frame.h, kernel/pointer.c, kernel/stacking.c:
3946         openbox engine works, fuck this tabs shit
3947
3948 2003-03-05  xor@zed  <xor@zed>
3949
3950         * kernel/pointer.c: kill bad return
3951
3952         * kernel/client.c, kernel/clientwrap.c, kernel/frame.c, kernel/frame.h, kernel/pointer.c, kernel/stacking.c:
3953         engines n shit
3954
3955         * kernel/engine.c:
3956         staticify these vars.. they were causing a SIGILL..???!!? i blame gcc..
3957
3958 2003-03-04  xor@zed  <xor@zed>
3959
3960         * kernel/client.c, kernel/engine.c, kernel/engine.h, kernel/event.c, kernel/frame.h, kernel/pointer.c, kernel/stacking.c:
3961         allow a frame to have multiple top-level windows. provide functions for getting a clients parent, and all of a frames top-level windows.
3962
3963         * kernel/engine.c, kernel/engine.h: New file.
3964
3965         * configure.ac, kernel/Makefile.am, kernel/client.c, kernel/clientwrap.c, kernel/engine.c, kernel/engine.h, kernel/event.c, kernel/frame.c, kernel/frame.h, kernel/openbox.c, kernel/pointer.c:
3966         make the pwm engine "work", however we have a race on startup..
3967
3968         * kernel/Makefile.am: add the enginedir
3969
3970         * kernel/pointer.c: generate release events for client clicks
3971
3972         * kernel/pointer.c:
3973         XAllowEvents when we get one with the client context
3974
3975         * kernel/frame.c: plate is the client context
3976
3977         * kernel/pointer.c: dont let 3 clicks be 2 double clicks
3978
3979         * kernel/hooks.c: kill debug prints
3980
3981         * Makefile.am, configure.ac: add dirs for engines
3982
3983         * configure.ac: kill these dirs not using them
3984
3985 2003-03-04  manmower  <manmower@zed>
3986
3987         * render/.cvsignore: New file.
3988
3989         * render/.cvsignore:
3990         THIS IS MY LOG FILE ENTRY. THERE ARE MANY LIKE IT BUT THIS ONE IS MINE.
3991
3992         * Makefile.am: added render dir
3993
3994         * configure.ac: Added the render directory
3995
3996 2003-03-04  xor@zed  <xor@zed>
3997
3998         * kernel/frame.c: kill debug prints
3999
4000 2003-03-04  manmower  <manmower@zed>
4001
4002         * render/Makefile.am, render/gradient.c, render/gradient.h, render/render.c, render/render.h, render/test.c:
4003         New file.
4004
4005         * render/Makefile.am, render/gradient.c, render/gradient.h, render/render.c, render/render.h, render/test.c:
4006         the beginning of the new rendering stuff.
4007
4008 2003-03-04  xor@zed  <xor@zed>
4009
4010         * kernel/frame.c: highlight the focused window
4011
4012         * kernel/pointer.c: cleanuo
4013
4014         * kernel/hooks.c: let hook functions remove themselves
4015
4016         * README.CVS: no mor swig, using C, etc.
4017
4018         * kernel/pointer.c:
4019         some cleanups/reordering. get those events going right.
4020
4021 2003-03-03  xor@zed  <xor@zed>
4022
4023         * kernel/pointer.c: grab all the requested grabs
4024
4025         * kernel/pointer.c: pass along the client's area including the frame!
4026
4027         * kernel/clientwrap.c, kernel/pointer.c: pointer events work for real
4028
4029         * kernel/event.c, kernel/pointer.c, kernel/pointer.h:
4030         pointer events should work
4031
4032         * kernel/keyboard.c, kernel/keyboard.h, kernel/pointer.c, kernel/pointer.h:
4033         New file.
4034
4035         * kernel/Makefile.am, kernel/client.c, kernel/event.c, kernel/hooks.c, kernel/hooks.h, kernel/kbind.c, kernel/kbind.h, kernel/keyboard.c, kernel/keyboard.h, kernel/mbind.c, kernel/mbind.h, kernel/openbox.c, kernel/pointer.c, kernel/pointer.h:
4036         keyboard events work
4037
4038         * kernel/python.c: create the 'input' module
4039
4040         * kernel/clientwrap.c, kernel/openboxwrap.c: add the constants
4041
4042         * kernel/openbox.c, kernel/prop.c, kernel/prop.h:
4043         s/prop_init/prop_startup/
4044
4045         * kernel/Makefile.am, kernel/client.c, kernel/client.h, kernel/clientwrap.c, kernel/clientwrap.h, kernel/event.c, kernel/focus.c, kernel/frame.c, kernel/hooks.c, kernel/hooks.h, kernel/openbox.c, kernel/openbox.h, kernel/openboxwrap.c, kernel/openboxwrap.h, kernel/prop.c, kernel/prop.h, kernel/python.c:
4046         Client and Openbox python objects "done"
4047
4048         * kernel/clientwrap.c, kernel/clientwrap.h, kernel/openboxwrap.c, kernel/openboxwrap.h:
4049         New file.
4050
4051 2003-03-02  xor@zed  <xor@zed>
4052
4053         * kernel/client.c: typecast to get the proper aspect ratio
4054
4055 2003-02-28  xor@zed  <xor@zed>
4056
4057         * kernel/Makefile.am: New file.
4058
4059         * Makefile.am, kernel/.cvsignore, kernel/Makefile.am:
4060         add shit that was missing
4061
4062 2003-02-27  xor@zed  <xor@zed>
4063
4064         * kernel/.cvsignore: New file.
4065
4066         * kernel/.cvsignore: add the cvsignore
4067
4068         * kernel/client.c, kernel/client.h, kernel/event.c, kernel/event.h, kernel/extensions.c, kernel/extensions.h, kernel/focus.c, kernel/focus.h, kernel/frame.c, kernel/frame.h, kernel/geom.h, kernel/gettext.h, kernel/hooks.c, kernel/hooks.h, kernel/kbind.c, kernel/kbind.h, kernel/mbind.c, kernel/mbind.h, kernel/openbox.c, kernel/openbox.h, kernel/prop.c, kernel/prop.h, kernel/python.c, kernel/python.h, kernel/screen.c, kernel/screen.h, kernel/stacking.c, kernel/stacking.h, kernel/xerror.c, kernel/xerror.h:
4069         New file.
4070
4071         * kernel/client.c, kernel/client.h, kernel/event.c, kernel/event.h, kernel/extensions.c, kernel/extensions.h, kernel/focus.c, kernel/focus.h, kernel/frame.c, kernel/frame.h, kernel/geom.h, kernel/gettext.h, kernel/hooks.c, kernel/hooks.h, kernel/kbind.c, kernel/kbind.h, kernel/mbind.c, kernel/mbind.h, kernel/openbox.c, kernel/openbox.h, kernel/prop.c, kernel/prop.h, kernel/python.c, kernel/python.h, kernel/screen.c, kernel/screen.h, kernel/stacking.c, kernel/stacking.h, kernel/xerror.c, kernel/xerror.h:
4072         add the 'kernel' based on what's in c/. improved the Hook class for the hooks python module.
4073
4074         * Makefile.am, bootstrap, configure.ac, doc/Makefile.am:
4075         updated interface completed hooks and keyboard/pointer
4076
4077 2003-02-24  xor@zed  <xor@zed>
4078
4079         * doc/bsetbg.1, doc/bsetroot.1, doc/openbox.1.in: old out-of-date files
4080
4081 2003-02-22  xor@zed  <xor@zed>
4082
4083         * configure.ac: rm the swig shit
4084
4085         * configure.ac: fixups
4086
4087         * m4/openbox.m4: got my warnings i want
4088
4089         * m4/openbox.m4:
4090         python events en masse!! also, make it look for GCC not GXX now..
4091
4092 2003-02-21  xor@zed  <xor@zed>
4093
4094         * configure.ac, m4/openbox.m4: new smarts for swig
4095
4096         * Makefile.am, configure.ac, m4/openbox.m4:
4097         setup autotools build for C shit
4098
4099 2003-02-19  xor@zed  <xor@zed>
4100
4101         * AUTHORS: nick's no longer the site designer
4102
4103         * README: add mention of being OSI Certified Open Source Software
4104
4105         * CHANGELOG: add mention of the new es_AR translations
4106
4107 2003-02-16  xor@zed  <xor@zed>
4108
4109         * CHANGELOG: add the new german translations
4110
4111         * tools/obsetroot.cc: rm the warnings for now
4112
4113 2003-02-14  xor@zed  <xor@zed>
4114
4115         * tools/Makefile.am, tools/obsetroot.cc, Makefile.am, configure.ac, tools/.cvsignore:
4116         Add the "obsetroot" tool. Use it to set the root background.
4117
4118         * configure.in: call CHECK_FUNCS in C mode
4119
4120 2003-02-11  xor@zed  <xor@zed>
4121
4122         * .cvsignore: add ABOUT-NLS
4123
4124         * tests/.cvsignore: add the icons app
4125
4126         * tests/icons.c, tests/icons.cpp: make the icons program a C app.
4127
4128         * tests/icons.cpp: add an app to display the icons for a window
4129
4130 2003-02-10  xor@zed  <xor@zed>
4131
4132         * configure.in: require autoconf 2.5x
4133
4134 2003-02-09  xor@zed  <xor@zed>
4135
4136         * README.CVS: mention that 2.9x is not supported
4137
4138         * configure.ac: use the c++ std cheaders
4139
4140 2003-02-06  xor@zed  <xor@zed>
4141
4142         * AUTHORS: move marius from active developers to contributors :\
4143
4144         * Makefile.am, data/Makefile.am:
4145         make "make dist" work, compiler flags cleanups
4146
4147 2003-02-06  woodblock  <woodblock@zed>
4148
4149         * configure.in: Back port fixes from TESTING branch
4150
4151         * CHANGELOG: Updated changelog for 2.2.4 release
4152
4153 2003-02-05  xor@zed  <xor@zed>
4154
4155         * ABOUT-NLS, INSTALL, Makefile.am: rm this thing
4156
4157         * configure.ac, data/Makefile.am, doc/Makefile.am, m4/swig.m4, m4/x11.m4:
4158         new swig build system. much better. yay.
4159
4160         * README.CVS: you need swig at least 1.3.14
4161
4162         * README.CVS: require automake 1.7.1 for py-compile
4163
4164         * Makefile.am, configure.ac: dont make wrap a subdir of otk
4165
4166         * m4/openbox.m4: give output when building a cvs release
4167
4168         * configure.ac, m4/python.m4:
4169         move the otk swig module into its own lib/directory
4170
4171         * .cvsignore: add py-compile
4172
4173         * doc/doxygen/.cvsignore: ignore the latex dir
4174
4175         * README.CVS: mention the swig wrapper warnings
4176
4177         * doc/doxygen/Makefile.am, doc/doxygen/comments, doc/doxygen/doxygen.conf.in:
4178         add latex to the doc build process. fix namespace comments again.
4179
4180         * doc/doxygen/comments: fix up the otk description
4181
4182         * CHANGELOG.Blackbox, CHANGELOG.bsetbg, README.bbtools, README.bsetbg:
4183         remove docs from old blackbox
4184
4185         * doc/doxygen/doxygen.conf.in: ignore the wrappers
4186
4187         * doc/doxygen/doxygen.conf: not needed, the .in is commited
4188
4189 2003-02-04  woodblock  <woodblock@zed>
4190
4191         * CHANGELOG: updated changelog
4192
4193 2003-02-03  woodblock  <woodblock@zed>
4194
4195         * doc/openbox.1.in: documentation update
4196
4197         * doc/openbox.1.in: update documentation
4198
4199         * CHANGELOG, configure.in: Version bump
4200
4201 2003-02-03  xor@zed  <xor@zed>
4202
4203         * tests/.cvsignore: ignore the bins
4204
4205         * tests/Makefile, tests/aspect.c, tests/fullscreen.c, tests/grav.c, tests/modal.c, tests/modal2.c, tests/modal3.c, tests/urgent.c:
4206         add some tests
4207
4208 2003-02-03  woodblock  <woodblock@zed>
4209
4210         * CHANGELOG: Updated changelog for shaded window bug fix
4211
4212 2003-02-01  xor@zed  <xor@zed>
4213
4214         * README.CVS: add comment for configuration
4215
4216 2003-02-01  woodblock  <woodblock@zed>
4217
4218         * CHANGELOG: Fixed the image cache when dealing with borders.
4219
4220 2003-02-01  xor@zed  <xor@zed>
4221
4222         * README.CVS: note about automake
4223
4224 2003-01-29  xor@zed  <xor@zed>
4225
4226         * configure.ac: check for endian order
4227
4228         * po/POTFILES.in: update the list of src files with translations.
4229
4230         * data/Makefile.am: include shit in the dist
4231
4232         * doc/Makefile.am: include the openbox.1.in in the dist
4233
4234         * Makefile.am: remove LICENSE from the dist files
4235
4236         * doc/doxygen/Makefile.am: make the echo more noticable
4237
4238         * doc/doxygen/Makefile.am: make pwd work
4239
4240         * doc/doxygen/Makefile.am:
4241         echo a message about where to find the generated docs
4242
4243         * doc/doxygen/doxygen.conf: add the doxygen configuration
4244
4245         * README.CVS: give the debian pkg names
4246
4247 2003-01-28  xor@zed  <xor@zed>
4248
4249         * README.CVS: add version for automake
4250
4251 2003-01-27  xor@zed  <xor@zed>
4252
4253         * README.CVS: use a built-in module to replace libswigpy
4254
4255 2003-01-24  xor@zed  <xor@zed>
4256
4257         * DESIGN/glue.dia:
4258         add some design ideas for a glue layer between the wm and the scripts
4259
4260         * README.CVS: add all teh steps
4261
4262         * README.CVS: add instructions for CVS compiling
4263
4264 2003-01-22  xor@zed  <xor@zed>
4265
4266         * m4/openbox.m4: REMOVE -fno-rtti. we use that!
4267
4268         * m4/openbox.m4: -fno-rtti as in cxxflags too!
4269
4270         * m4/openbox.m4: fix the stupid spelling
4271
4272         * m4/openbox.m4: add -fno-check-new -fno-execptions to the g++ cxxflags
4273
4274 2003-01-20  xor@zed  <xor@zed>
4275
4276         * DESIGN/render.dia: remove the XImage from Surface
4277
4278         * AUTHORS: new authors. this is how we dooo iiiit...
4279
4280 2003-01-18  xor@zed  <xor@zed>
4281
4282         * DESIGN/ob3arch.png, DESIGN/render.dia, DESIGN/roadmap, DESIGN/thoughts:
4283         add DESIGN from the openbox3 repository. add to that the render.dia, a design diagram for the new render code
4284
4285 2003-01-17  xor@zed  <xor@zed>
4286
4287         * README: state the license. killall the old readme data
4288
4289 2003-01-16  xor@zed  <xor@zed>
4290
4291         * m4/python.m4: use -export-dynamic when linking libpython.a
4292
4293 2003-01-14  xor@zed  <xor@zed>
4294
4295         * m4/x11.m4: add comment
4296
4297         * m4/x11.m4: check for XftGetVersion
4298
4299         * configure.ac: rm the util directory
4300
4301 2003-01-13  xor@zed  <xor@zed>
4302
4303         * m4/openbox.m4: keep the asserts for !debug builds..
4304
4305         * configure.ac: begin conversion to ustring. add some more members.
4306
4307 2003-01-12  xor@zed  <xor@zed>
4308
4309         * LICENSE: omg im relicensing this shit as gpl. nobody hurt me.
4310
4311         * m4/python.m4: dont show find errors
4312
4313         * CHANGELOG: my utf shit for the titlebars and toolbar
4314
4315 2003-01-11  xor@zed  <xor@zed>
4316
4317         * configure.ac: rm a blank line at the end
4318
4319         * configure.ac: add some more AC stuff
4320
4321         * m4/python.m4: used old vars
4322
4323         * m4/openbox.m4: caps
4324
4325         * configure.ac, m4/openbox.m4:
4326         caps for giving the build target. show it at the end
4327
4328         * configure.ac: better ordering.. define te version before using it
4329
4330         * m4/openbox.m4: check for cvs in the version properly
4331
4332         * configure.ac: no caps in the package name!
4333
4334         * m4/openbox.m4: cvs builds are always debug
4335
4336         * m4/python.m4: use the right lib
4337
4338         * m4/openbox.m4, m4/python.m4, m4/x11.m4:
4339         my newer better autoconf functions. woowoo
4340
4341         * m4/.cvsignore: adding my autoconf functions. woowoo
4342
4343         * .cvsignore, bootstrap, configure.ac, version.h.in:
4344         new autoconf shit woowoo
4345
4346         * m4/x11.m4: add X_DEVEL and XFT_DEVEL m4 functions
4347
4348         * m4/openbox.m4: create OB_DEBUG and OB_COMPILER_FLAGS m4 functionc
4349
4350         * m4/python.m4: check for the python cflags and libs
4351
4352 2003-01-09  xor@zed  <xor@zed>
4353
4354         * configure.ac: use default prefix.
4355         better python library checks.
4356
4357 2003-01-04  xor@zed  <xor@zed>
4358
4359         * Makefile.am, configure.ac, data/Makefile.am, doc/Makefile.am:
4360         add buttons to the tree.rm stupid comments in Makefile.ams
4361
4362         * doc/Makefile.am, doc/xftlsfonts.1: rm the xftlsfonts manpage
4363
4364         * CHANGELOG: add proper whitespace
4365
4366         * configure.ac: line up text in --help
4367
4368 2003-01-04  manmower  <manmower@zed>
4369
4370         * configure.ac: Check for XKB extension
4371
4372 2003-01-01  woodblock  <woodblock@zed>
4373
4374         * CHANGELOG: Documented sendToWorkspace addition
4375
4376 2002-12-28  xor@zed  <xor@zed>
4377
4378         * bootstrap: add --force for autopoint
4379
4380 2002-12-26  xor@zed  <xor@zed>
4381
4382         * .cvsignore, po/.cvsignore: add newish stuff
4383
4384         * Makefile.am, bootstrap, configure.ac: better support for gettext
4385
4386         * config.rpath: removing generated file
4387
4388         * bootstrap: add gettextize here
4389
4390         * po/Makevars: readd Makevars
4391
4392         * po/LINGUAS, po/Makefile.in.in, po/Makevars, po/Makevars.template, po/Rules-quot, po/boldquot.sed, po/en@boldquot.header, po/en@quot.header, po/insert-header.sin, po/quot.sed, po/remove-potcdate.sin:
4393         remove shit generated by gettextize
4394
4395         * m4/.cvsignore, m4/Makefile.am, m4/codeset.m4, m4/gettext.m4, m4/glibc21.m4, m4/iconv.m4, m4/intdiv0.m4, m4/inttypes-pri.m4, m4/inttypes.m4, m4/inttypes_h.m4, m4/isc-posix.m4, m4/lcmessage.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4, m4/progtest.m4, m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4:
4396         make bootstrap generate this shit
4397
4398 2002-12-25  xor@zed  <xor@zed>
4399
4400         * configure.ac: conflicts with python too :\
4401
4402         * configure.ac:
4403         no -pedantic :\ it fucks up on the python headers. sigh.
4404
4405         * configure.ac: set CXXFLAGS better
4406
4407         * Makefile.am, configure.ac:
4408         global python scripts. client motion/resizing is all done via python now
4409
4410 2002-12-24  xor@zed  <xor@zed>
4411
4412         * configure.ac: python. no more guile. python.
4413
4414         * CHANGELOG: add changelog for the netwm iconic windows bugfix
4415
4416         * configure.in: up version for next release
4417
4418 2002-12-23  xor@zed  <xor@zed>
4419
4420         * configure.ac: using python and swig for now.
4421
4422 2002-12-19  xor@zed  <xor@zed>
4423
4424         * configure.ac: python has begun!
4425
4426         * configure.ac: check for python. not for guile.
4427
4428 2002-12-18  xor@zed  <xor@zed>
4429
4430         * configure.ac: guileize
4431
4432         * .cvsignore: add stuff i rm'd from cvs
4433
4434         * doc/doxygen/comments: erm
4435
4436 2002-12-13  xor@zed  <xor@zed>
4437
4438         * Makefile.am: dist the bootstrap file for package maintainers
4439
4440 2002-12-11  xor@zed  <xor@zed>
4441
4442         * mkinstalldirs: autogenned
4443
4444         * bootstrap: add --copy
4445
4446         * install-sh, missing: autogenned
4447
4448         * install-sh, missing, mkinstalldirs: this is genned bya automake
4449
4450 2002-12-10  xor@zed  <xor@zed>
4451
4452         * CHANGELOG: fix for installation of pl locale
4453
4454         * configure.in: up the version
4455
4456 2002-12-09  xor@zed  <xor@zed>
4457
4458         * CHANGELOG: work when strftime is not found
4459
4460 2002-12-08  xor@zed  <xor@zed>
4461
4462         * doc/Makefile.am:
4463         dont install the xftlsfonts manpage if we didnt build xftlsfonts
4464
4465 2002-12-07  xor@zed  <xor@zed>
4466
4467         * .cvsignore: add depcomp
4468
4469         * Makefile.am: include depcomp in make dist
4470
4471         * bootstrap: copy, dont link
4472
4473         * configure.in: 2.2.2 release
4474
4475 2002-12-03  xor@zed  <xor@zed>
4476
4477         * configure.ac: better xft checks. require xft version 2
4478
4479         * configure.in: reset the xft flags if it fails
4480
4481         * configure.in: link in xft only where appropriate
4482
4483         * configure.in: restore the CXXFLAGS/LIBS
4484
4485         * configure.in: more verbose, and better checks for Xft version 2/1
4486
4487         * configure.in:
4488         better checks for Xft version 2/1 and more verbose warning if it fails
4489
4490         * po/POTFILES.in: xft2 works. and works good.
4491
4492 2002-11-28  xor@zed  <xor@zed>
4493
4494         * CHANGELOG: change grammar or somesuch..
4495
4496 2002-11-28  woodblock  <woodblock@zed>
4497
4498         * CHANGELOG:
4499         Added an option to disable the window raise on alt-click. fonk.
4500
4501 2002-11-26  xor@zed  <xor@zed>
4502
4503         * configure.in: had an extra ; that snuck in. i blame the commies
4504
4505 2002-11-20  xor@zed  <xor@zed>
4506
4507         * data/Makefile.am:
4508         addd more stuff to EXTRA_DIST. all the headers for instance
4509
4510         * Makefile.am, doc/Makefile.am:
4511         add EXTRA_DIST tags all over to make 'make dist' possible
4512
4513         * CHANGELOG: doc the change in configure for xft2
4514
4515         * CHANGELOG, configure.in, data/Makefile.am:
4516         add bitmap buttons, and put support for them in all the default styles
4517
4518         * configure.in: fix the []'s in the outputs
4519
4520         * CHANGELOG: fix menu redraw bug for real
4521
4522         * CHANGELOG: fix the mozilla crash from the default premax being 0
4523
4524 2002-11-19  xor@zed  <xor@zed>
4525
4526         * .cvsignore: more ignore fodder
4527
4528 2002-11-15  xor@zed  <xor@zed>
4529
4530         * configure.in: cleaner
4531
4532 2002-11-14  xor@zed  <xor@zed>
4533
4534         * bootstrap: add libtoolize
4535
4536 2002-11-13  xor@zed  <xor@zed>
4537
4538         * CHANGELOG: fix for windows changing from non-resizable to resizable
4539
4540         * CHANGELOG: add fix for clients making themselves resizable
4541
4542 2002-11-11  xor@zed  <xor@zed>
4543
4544         * configure.ac: mad wicked xft checks
4545
4546         * configure.ac: look for xft
4547
4548         * configure.in: do tests using c++
4549
4550         * configure.in: dont build xftlsfonts when no xft found or xft2 found
4551
4552         * configure.in: support for Xft2!
4553
4554 2002-11-10  xor@zed  <xor@zed>
4555
4556         * po/POTFILES.in: cleanups.
4557         OBScreen almost ready for some action
4558
4559         * configure.ac: support for the shape extension works!
4560
4561 2002-11-07  xor@zed  <xor@zed>
4562
4563         * bootstrap: reverse the automake/autoconf order.. for fun
4564
4565 2002-11-06  xor@zed  <xor@zed>
4566
4567         * doc/openbox.1.in: s/@VERSION@/@version@/
4568
4569         * doc/openbox.1.in: s/@VERSION@/@version/
4570
4571         * po/POTFILES.in: moving strut into its own .hh. adding OBClient class
4572
4573 2002-11-05  xor@zed  <xor@zed>
4574
4575         * doc/doxygen/Makefile.am, doc/doxygen/comments, doc/doxygen/doxygen.conf.in:
4576         updated doxygen documentation
4577
4578         * doc/openbox.1.in: make urls bold
4579
4580         * doc/openbox.1.in:
4581         fixes for menu doc. we dont have a menuFile in the rc anymore!
4582         also fix urls
4583
4584         * doc/openbox.1.in: fix so url shows up
4585
4586         * doc/openbox.1.in:
4587         we dont have menuFormat in the resource file anymore
4588
4589 2002-11-04  xor@zed  <xor@zed>
4590
4591         * doc/doxygen/doxygen.conf.in: make doxygen skip stuff inside
4592         #ifndef DOXYGEN_IGNORE
4593         #endif
4594         blocks
4595
4596         * doc/doxygen/doxygen.conf.in: documenting classes!
4597
4598         * doc/doxygen/doxygen.conf.in, doc/doxygen/style.css:
4599         not using a custom stlyesheet anymore
4600
4601         * Makefile.am, TODO, configure.ac, doc/Makefile.am, doc/doxygen/.cvsignore, doc/doxygen/Makefile.am, doc/doxygen/doxygen.conf.in, doc/doxygen/style.css:
4602         add doxygen to the project. 'make doc' builds the doxygen stuff. you need doxygen and graphviz installed to generate it properly
4603
4604 2002-11-03  xor@zed  <xor@zed>
4605
4606         * CHANGELOG, configure.in:
4607         stop using the Utf8 functions for drawing Xft fonts
4608
4609         * CHANGELOG, configure.in:
4610         stop using the Xft Utf8 functions. They break the non-english locales.
4611
4612         * CHANGELOG: typo-typo
4613
4614         * CHANGELOG: typo
4615
4616         * Makefile.am:
4617         new timer infrastructure. takes a function pointer for the timeout, with a void* parameter (useful for holding a class instance!)
4618
4619         * po/POTFILES.in:
4620         WE DONT USE BASE DISPLAY FOR ANYTHING ANY MORE!!@^!*@*!! YAY
4621
4622 2002-11-02  xor@zed  <xor@zed>
4623
4624         * TODO: updated with goals for 3.0
4625
4626         * Makefile.am: not using admin/ dir anymore
4627
4628         * mkinstalldirs, po/.cvsignore: stupid stuff
4629
4630 2002-11-01  xor@zed  <xor@zed>
4631
4632         * configure.ac: put 'cvs' in the version tag
4633
4634         * m4/.cvsignore, po/.cvsignore: add cvs ignores for the new dirs
4635
4636         * m4/Makefile, m4/Makefile.in, Makefile.am, configure.ac, mkinstalldirs:
4637         make gettext better. updates for autoconf
4638
4639         * m4/Makefile, po/LINGUAS: dont have any languages yet
4640
4641         * ABOUT-NLS, COPYING, configure.ac: add some text files..
4642         dont have our own libintl
4643
4644         * Makefile.am, config.rpath, configure.ac, m4/Makefile, m4/Makefile.am, m4/Makefile.in, m4/codeset.m4, m4/gettext.m4, m4/glibc21.m4, m4/iconv.m4, m4/intdiv0.m4, m4/inttypes-pri.m4, m4/inttypes.m4, m4/inttypes_h.m4, m4/isc-posix.m4, m4/lcmessage.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4, m4/progtest.m4, m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4, mkinstalldirs, po/LINGUAS, po/Makefile.in.in, po/Makevars, po/Makevars.template, po/POTFILES.in, po/Rules-quot, po/boldquot.sed, po/en@boldquot.header, po/en@quot.header, po/insert-header.sin, po/quot.sed, po/remove-potcdate.sin:
4645         add gettext
4646         change CXXFLAGS back to CPPFLAGS in the .am's
4647
4648         * configure.ac: update configure.ac to newer rules
4649
4650         * .cvsignore: libtool stuff
4651
4652 2002-11-01  marius  <marius@zed>
4653
4654         * configure.ac: toolkit addition
4655
4656         * Makefile.am: changed for toolkit
4657
4658 2002-11-01  xor@zed  <xor@zed>
4659
4660         * install-sh, missing, mkinstalldirs:
4661         these files are generated by bootstrap
4662
4663         * CHANGELOG, configure.in: merge in changes in the 2_1 branch
4664
4665         * CHANGELOG, configure.in: make multibyte fonts the right size
4666
4667 2002-10-31  xor@zed  <xor@zed>
4668
4669         * configure.ac: look for a CC to make automake happy
4670
4671         * configure.ac, configure.in: configure script changed to .ac
4672
4673         * Makefile.am: compiles now. uses xft2
4674         remove the nls remainders
4675
4676 2002-10-19  woodblock  <woodblock@zed>
4677
4678         * configure.in: bumped up version
4679
4680 2002-10-05  xor@zed  <xor@zed>
4681
4682         * CHANGELOG: changes for openbox 2.1.2
4683
4684 2002-10-04  woodblock  <woodblock@zed>
4685
4686         * CHANGELOG: tyop
4687
4688         * CHANGELOG: documentation for 2.2
4689
4690         * CHANGELOG: updated changelog for 2.2 release
4691
4692         * doc/openbox.1.in:
4693         added documentation for the pressed focus/unfocus and fixed some minor
4694         formatting errors
4695
4696 2002-10-01  woodblock  <woodblock@zed>
4697
4698         * AUTHORS, CHANGELOG, CHANGELOG.Blackbox, configure.in:
4699         merged with 2_1-merged-to-HEAD-2002-09-30
4700
4701 2002-09-24  xor@zed  <xor@zed>
4702
4703         * configure.in: up the version for the next future release
4704
4705 2002-09-23  xor@zed  <xor@zed>
4706
4707         * configure.in:
4708         look for XftDrawStringUtf8 in libXft.so and set a configure variable based on whether it exists in the library (it doesnt on redhat 7.1)
4709
4710 2002-09-22  xor@zed  <xor@zed>
4711
4712         * CHANGELOG: capitals
4713
4714         * configure.in: up version for the release
4715
4716         * CHANGELOG: add 2.1.1 changes
4717
4718 2002-09-17  woodblock  <woodblock@zed>
4719
4720         * doc/openbox.1.in: Added titlebar layout documentation
4721
4722 2002-09-16  xor@zed  <xor@zed>
4723
4724         * AUTHORS, CHANGELOG.Blackbox, configure.in: sync with bb 65-pre2
4725
4726 2002-09-16  woodblock  <woodblock@zed>
4727
4728         * configure.in: fixed tyop
4729
4730 2002-09-15  woodblock  <woodblock@zed>
4731
4732         * doc/openbox.1.in: Documented bitmap buttons in manpage
4733
4734 2002-09-14  woodblock  <woodblock@zed>
4735
4736         * configure.in:
4737         added a configure flag for enabling/disabling bitmap buttons
4738
4739         * CHANGELOG, configure.in: bumped up version number after bitmap merge
4740
4741         * CHANGELOG: merged bitmap buttons
4742
4743 2002-09-11  woodblock  <woodblock@zed>
4744
4745         * .cvsignore, CHANGELOG: sync with HEAD
4746         added checkmark bitmaps with menu.selected.mask:
4747
4748 2002-09-11  xor@zed  <xor@zed>
4749
4750         * CHANGELOG: alt-rightclick resizing fix
4751
4752 2002-09-09  xor@zed  <xor@zed>
4753
4754         * .cvsignore: add autom4te.cache
4755
4756 2002-09-09  woodblock  <woodblock@zed>
4757
4758         * CHANGELOG: merged with HEAD
4759
4760 2002-09-09  xor@zed  <xor@zed>
4761
4762         * CHANGELOG: add drop shadows
4763
4764 2002-09-05  xor@zed  <xor@zed>
4765
4766         * CHANGELOG: state gnome 2 support
4767
4768 2002-09-04  xor@zed  <xor@zed>
4769
4770         * CHANGELOG: gnoem2 fixes for taskbar
4771
4772         * CHANGELOG: new border code
4773
4774 2002-09-03  xor@zed  <xor@zed>
4775
4776         * CHANGELOG: add woodblock's sticky button shit
4777
4778 2002-08-31  xor@zed  <xor@zed>
4779
4780         * AUTHORS, configure.in, doc/bsetbg.1: sync with the 2.0 branch
4781
4782         * AUTHORS, CHANGELOG, CHANGELOG.Blackbox, configure.in, doc/bsetbg.1, version.h.in:
4783         sync with bb-cvs
4784
4785 2002-08-27  xor@zed  <xor@zed>
4786
4787         * CHANGELOG: systray windows fix
4788
4789         * CHANGELOG: latest changessssshape changes, give vR credit
4790
4791 2002-08-26  xor@zed  <xor@zed>
4792
4793         * AUTHORS, CHANGELOG.Blackbox, configure.in: sync with bb-cvs
4794
4795 2002-08-25  xor@zed  <xor@zed>
4796
4797         * CHANGELOG: config request with only resize honors window's gravity
4798
4799         * CHANGELOG: add recent fixes
4800
4801 2002-08-22  xor@zed  <xor@zed>
4802
4803         * version.h.in: s/__openbox_version/OPENBOX_VERSION
4804
4805         * AUTHORS, CHANGELOG.Blackbox, configure.in: sync with bb-cvs
4806
4807         * configure.in: 2.1.0 is our next target
4808
4809 2002-08-21  xor@zed  <xor@zed>
4810
4811         * CHANGELOG: warping is ruling!
4812
4813 2002-08-20  xor@zed  <xor@zed>
4814
4815         * CHANGELOG: Fix send to menu, having deleted workspaces in it.
4816         Fix workspace warping, move the mouse and window the same amount.
4817         Fix workspace switching. Put old code back that worked better.
4818
4819 2002-08-16  xor@zed  <xor@zed>
4820
4821         * AUTHORS: fix indenting and caps
4822
4823         * doc/openbox.1.in: mention epist with bbkeys
4824
4825         * doc/openbox.1.in: add epist and xftlsfonts in teh see also.
4826         s/BLACK/OPEN/
4827
4828         * doc/xftlsfonts.1, doc/Makefile.am:
4829         add manpages for epist and for xftlsfonts
4830
4831 2002-08-15  xor@zed  <xor@zed>
4832
4833         * AUTHORS: authors updates
4834
4835         * CHANGELOG: caps
4836
4837         * data/README.menu: s/black/open
4838
4839         * AUTHORS: new 2.0 authors/contributors
4840
4841         * CHANGELOG: add all the changes made for 2.0.0 to the changelog
4842
4843         * CHANGELOG.Blackbox, CHANGELOG.bsetbg: sync with bb-cvs
4844
4845 2002-08-02  xor@zed  <xor@zed>
4846
4847         * bootstrap: try make bootstrap work in one pass for other people..
4848
4849         * configure.in: make xft support default on
4850
4851 2002-07-26  xor@zed  <xor@zed>
4852
4853         * configure.in: sync with bb-cvs
4854
4855 2002-07-21  xor@zed  <xor@zed>
4856
4857         * configure.in:
4858         add Xft-build-support and Xinerama-build-support to the -help output
4859         add --enable-xinerama to configure
4860
4861         * configure.in: sync with bb-cvs.
4862         Add option in config menu for disabling mouse input with scroll lock.
4863         Remove compile-time flag for event clobbering since this solves that problem for now.
4864
4865 2002-07-20  xor@zed  <xor@zed>
4866
4867         * .cvsignore: add some cvsignore's
4868
4869         * configure.in: add no_NO and ro_RO translations
4870
4871 2002-07-18  xor@zed  <xor@zed>
4872
4873         * TODO:
4874         updated todo. took out things we have done. added new goal for 3.0.
4875
4876 2002-07-16  xor@zed  <xor@zed>
4877
4878         * TODO: adjust goals for 2.0
4879
4880         * configure.in: screw that change. the next releaase will be 2.0.0!
4881
4882         * configure.in:
4883         change the version number back a bit. preparing for a testing release.
4884
4885 2002-07-11  xor@zed  <xor@zed>
4886
4887         * configure.in: adding epist!
4888
4889         * configure.in: -fno-inline when compiling in debug mode
4890
4891 2002-07-10  xor@zed  <xor@zed>
4892
4893         * config.h.in, aclocal.m4: regerenated fiels
4894
4895 2002-07-08  xor@zed  <xor@zed>
4896
4897         * configure.in: add the korean translation dir to configure
4898
4899 2002-07-07  xor@zed  <xor@zed>
4900
4901         * configure.in: make the Xft check actually work
4902
4903         * configure.in: make Xft default to off, you have ot --enable-xft now
4904
4905 2002-07-03  xor@zed  <xor@zed>
4906
4907         * configure.in: look for the rigt function in the libxft
4908
4909         * configure.in: add BFont class, with Xft support
4910
4911 2002-06-22  xor@zed  <xor@zed>
4912
4913         * ChangeLog:
4914         fix resizing bug where windows would be resized smaller than they were supposed to be
4915
4916         * doc/Makefile.in, data/Makefile.in, CHANGELOG, Makefile.in, config.h.in:
4917         add changelog entry for resize bug fix
4918
4919 2002-06-20  xor@zed  <xor@zed>
4920
4921         * CHANGELOG: fix redraw problem when resizing a window
4922
4923 2002-06-14  xor@zed  <xor@zed>
4924
4925         * CHANGELOG: add numbers for next version
4926
4927         * configure.in, configure: increment the version for next release
4928
4929 2002-06-08  xor@zed  <xor@zed>
4930
4931         * configure.in, configure: add -fno-inline for debug builds!
4932
4933         * CHANGELOG: dont let setState() screw with the window mapping process.
4934
4935 2002-06-07  xor@zed  <xor@zed>
4936
4937         * CHANGELOG:
4938         windows which requested to be iconic + sticky/maximized at startup would randomly not be iconified when they were mapped because the current_state variable was left uninitialzied. Initiailizing it to WithdrawnState (0) fixes this problem.
4939
4940         * configure: update the version number by running autoconf
4941
4942 2002-06-06  xor@zed  <xor@zed>
4943
4944         * CHANGELOG: add window-to-window and window-corner snapping.
4945
4946         * CHANGELOG:
4947         more sticky windows fix. bbkeys ended up thinkng an extra window was left when removing a sticky window. fixed! AT LAST
4948
4949 2002-06-05  xor@zed  <xor@zed>
4950
4951         * CHANGELOG:
4952         last two changes: windows starting sticky. focus te root window, not PointerRoot.
4953
4954         * configure.in: increment version for next release
4955
4956         * CHANGELOG:
4957         reset cascade when a workspace has no non-sticky windows left on it.
4958         ignore fully maximized windows while placing.
4959
4960         * doc/Makefile.am, data/Makefile.am, Makefile.am:
4961         syching with bb-cvs. rm .\#* on make dist-clean. nls updates.
4962
4963 2002-06-04  xor@zed  <xor@zed>
4964
4965         * data/README, README: documentation fixups
4966
4967         * data/README, README: documentation fixes
4968
4969         * CHANGELOG: GIVING UP ON STICKY FUCKING CHRIST AARRGGH
4970
4971 2002-06-03  xor@zed  <xor@zed>
4972
4973         * CHANGELOG:
4974         change cascade behavior so it resets when the workspace is emptied and so it starts in 1 placement.
4975
4976         * CHANGELOG: add fix for bsetroot's support of the esetroot atom
4977
4978         * CHANGELOG:
4979         save the current root menu position to an unlimited depth instead of the current 1.
4980
4981 2002-06-02  xor@zed  <xor@zed>
4982
4983         * CHANGELOG: last 2 buig fixes
4984
4985         * CHANGELOG: fix crash when mapping an iconified window
4986
4987 2002-05-29  xor@zed  <xor@zed>
4988
4989         * doc/openbox.1.in: put webpage in the man page. Also, a couple fixes.
4990
4991 2002-05-28  xor@zed  <xor@zed>
4992
4993         * configure.in: updated nls to use openbox.cat
4994
4995         * doc/.cvsignore, data/.cvsignore, .cvsignore:
4996         adding .cvsignore files to the repository to clean up the output whenever you commit some sort of cvs action
4997
4998         * configure.in:
4999         use config.h for configuration options instead of a bunch of -D's on the compile command lines
5000
5001 2002-05-26  cvs  <cvs@zed>
5002
5003         * configure, configure.in: increment version for next release
5004
5005         * doc/Makefile.in, data/Makefile.in, configure.in, Makefile.in, configure:
5006         incrementing version for next release
5007
5008         * CHANGELOG: better description of chages to sticky windows
5009
5010 2002-05-25  xor@zed  <xor@zed>
5011
5012         * bootstrap, configure.ac, configure.in:
5013         using configure.ac causes problems. switching back to configure.in
5014
5015 2002-05-24  xor@zed  <xor@zed>
5016
5017         * configure.in, stamp-h.in, BUGS, CodingStyle, Makefile.am, bootstrap, config.h.in, configure.ac:
5018         new root dir based on bb-cvs
5019
5020 2002-05-23  xor@zed  <xor@zed>
5021
5022         * CHANGELOG: fix for compiling with --disable-nls
5023
5024         * CHANGELOG: fix compiling with --disable-slit and --disable-nls
5025
5026         * CHANGELOG: fix compliling with --disable-slit
5027
5028         * CHANGELOG: merge the sticky window fix from 1.2.
5029
5030         * TODO: updated goals
5031
5032         * CHANGELOG: fixed sticky windows!
5033
5034 2002-05-16  xor@zed  <xor@zed>
5035
5036         * CHANGELOG, configure.in: change next target version to 2.0.0!
5037
5038         * configure.in:
5039         removing pendantic. thats just crazy. -Wall -W will suffice.
5040
5041         * bootstrap: adding --add-missing to automake call
5042
5043         * bootstrap:
5044         adding bootstrap which generates all the auto* files such as configure
5045
5046         * doc/Makefile.in, data/Makefile.in, configure, Makefile.in, aclocal.m4:
5047         removing auto-generated stuff from cvs
5048
5049         * BUGS: removed the fixed bug!
5050
5051         * doc/Makefile.in, data/Makefile.in, Makefile.in:
5052         using automake --foreign -i
5053
5054         * CHANGELOG:
5055         make a new autoRaiseDelay value take effect without having to restart
5056
5057         * CHANGELOG: make a new autoRaiseDelay value take effect on reconfigure
5058
5059         * CHANGELOG: fix loading autoRaiseDelay
5060
5061         * configure.in, configure: increment version for next release
5062
5063         * CHANGELOG: make autoRaiseDelay load
5064
5065         * configure.in, configure: increment version for next release
5066
5067         * ChangeLog, CHANGELOG: fix off-by-one window resizing bug
5068
5069         * CHANGELOG: typos
5070
5071         * aclocal.m4: readding aclocal. autoconf needs this thing
5072
5073         * ChangeLog: typos
5074
5075         * CHANGELOG: fix for slit direction menu not reconfiguring properly
5076
5077         * doc/Makefile.in, data/Makefile.in, Makefile.in, aclocal.m4:
5078         *** empty log message ***
5079
5080 2002-05-15  xor@zed  <xor@zed>
5081
5082         * CHANGELOG: moved menu from a rc file option to a command line option
5083
5084         * TODO: spelling error
5085
5086         * TODO: added future release goals to the TODO
5087
5088 2002-05-14  xor@zed  <xor@zed>
5089
5090         * CHANGELOG: update changelog.
5091         removed a redundant var from BaseDisplay.
5092
5093         * configure.in, configure:
5094         compile with -Wall -W -pendantic when --enable-debug is set.
5095
5096         * CHANGELOG: fix creating/destroying the titlebar buttons
5097
5098         * ChangeLog:
5099         fix titlebar button code so theyre created/destroyed properly
5100
5101 2002-05-13  xor@zed  <xor@zed>
5102
5103         * CHANGELOG: fix segfaut from uninitialized focused_screen pointer
5104
5105         * CHANGELOG, TODO: fix multiple-screen segfault.
5106
5107 2002-05-11  xor@zed  <xor@zed>
5108
5109         * CHANGELOG: make image dithering value load correctly
5110
5111         * configure.in, configure: increment version for next release
5112
5113         * CHANGELOG: make image dithering value load correctly
5114
5115 2002-05-10  xor@zed  <xor@zed>
5116
5117         * CHANGELOG, configure, configure.in:
5118         increment version for next release
5119
5120         * configure.in, CHANGELOG, configure:
5121         fixed problems introduced in the attempt to be gcc 3 compatible. also, better solution for gcc3.
5122
5123         * configure.in, configure:
5124         better gcc3 compat. using ostrstream again. and using namespace std;
5125         some focus changes. workspace contains a focused window instead of openbox class. this fixes a seg
5126
5127 2002-05-07  xor@zed  <xor@zed>
5128
5129         * configure.in, configure: increment version for the next release
5130
5131         * configure.in, configure: increment the version for the next release
5132
5133         * configure.in, configure: changed the version number
5134
5135         * configure: ran autoconf to regen configure
5136
5137         * doc/Makefile.in, data/Makefile.in, configure.in, Makefile.in, config.h.in, configure, CHANGELOG:
5138         gcc 3 compatibility, converted strstreams to stringstreams
5139
5140         * CHANGELOG: converted ostrstreams into ostringstreams
5141
5142         * configure: removed check for strstream
5143
5144         * configure.in, config.h.in:
5145         gcc3 compatibility. uses ostringstream instead of ostrstream
5146
5147         * doc/Makefile.in, data/Makefile.in, configure.in, configure, Makefile.in:
5148         check for sstream and strstream in configure
5149
5150 2002-04-30  xor@zed  <xor@zed>
5151
5152         * ChangeLog.bsetbg, ChangeLog-Blackbox, ChangeLog:
5153         removing old files that got merged in
5154
5155         * CHANGELOG: save the titlebarLayout in the default config
5156
5157         * CHANGELOG: save the titlebarLayout in the default config file
5158
5159 2002-04-29  xor@zed  <xor@zed>
5160
5161         * ChangeLog.bsetbg, configure.in, ChangeLog, ChangeLog-Blackbox, CHANGELOG:
5162         changelog fixes
5163
5164         * configure.in, ChangeLog.bsetbg, ChangeLog-Blackbox, CHANGELOG, ChangeLog:
5165         addded changelog entries for fixes
5166
5167         * ChangeLog, CHANGELOG: fix positioning of the window menu
5168
5169         * CHANGELOG:
5170         better logic when changing a window's decoration level, for choosing what elements of decoration get placed on the window.
5171
5172         * CHANGELOG: improved logic for redecorating windows
5173
5174         * ChangeLog: improved logic when redecorating a window
5175
5176 2002-04-28  xor@zed  <xor@zed>
5177
5178         * CHANGELOG: bsetroot supports transparent apps with root property
5179
5180         * CHANGELOG: added ClickMouse window placement policy
5181
5182         * CHANGELOG: added UnderMouse windwo placement.
5183
5184 2002-04-21  xor@zed  <xor@zed>
5185
5186         * ChangeLog: typo in Changelog
5187
5188         * data/Makefile.am, data/Makefile.in: fixed some uninstall issues
5189
5190         * data/Makefile.am, data/Makefile.in: fixed some uninstall problems
5191
5192 2002-04-21  woodblock  <woodblock@zed>
5193
5194         * CHANGELOG.bsetbg: *** empty log message ***
5195
5196         * CHANGELOG: tyops
5197
5198 2002-04-20  xor@zed  <xor@zed>
5199
5200         * CHANGELOG:
5201         added Changelog entry for the improved maximize-window code.
5202
5203 2002-04-19  xor@zed  <xor@zed>
5204
5205         * TODO: updated TODO to match current cvs status. yay progress!
5206
5207 2002-04-19  woodblock  <woodblock@zed>
5208
5209         * doc/bsetbg.1: added bsetbg makefile
5210
5211 2002-04-18  woodblock  <woodblock@zed>
5212
5213         * Makefile.in, data/Makefile.in, doc/Makefile.am, doc/Makefile.in:
5214         added new bsetbg manpage
5215
5216 2002-04-17  xor@zed  <xor@zed>
5217
5218         * CHANGELOG: configuration changes "done"!!
5219
5220         on start, the config file is read entirely off the disc, and missing values are assigned defaults.
5221         the config file is immediately written back to the disk to populate missing defaults in the file.
5222         any time a config option is changed the control, the config file is re-written with the change.
5223         choosing reconfig will reload the current config file on the disc.
5224         on shutdown, nothing is written to the config file.
5225
5226 2002-04-16  woodblock  <woodblock@zed>
5227
5228         * TODO: need translations for Hide Toolbar
5229
5230         * CHANGELOG:
5231         Added a runtime option for hiding the toolbar totally. Will be cleaner
5232         later. Stay tuned.
5233
5234 2002-04-16  xor@zed  <xor@zed>
5235
5236         * CHANGELOG, CHANGELOG.Blackbox, CHANGELOG.bsetbg, ChangeLog, ChangeLog-Blackbox, ChangeLog.bsetbg:
5237         renamed the Changelog files
5238         get the latest version of bsetbg from the blackbox cvs
5239
5240         * TODO, configure, configure.in:
5241         get rid of the STDC_HEADERS check... this failed on IRIX with MIPSpro, use checks for individual headers instead
5242
5243 2002-04-15  xor@zed  <xor@zed>
5244
5245         * Makefile.in, data/Makefile.in, doc/Makefile.in:
5246         apparently there were compiling problems with automake/autoconf. This should make those go away.
5247
5248 2002-04-14  colophon  <colophon@zed>
5249
5250         * README: added some missing punctuation
5251
5252 2002-04-14  xor@zed  <xor@zed>
5253
5254         * configure.in: changed version number to 0.99.1
5255
5256         * configure, configure.in:
5257         changed version number to 1.0.0. fixed a warning in BaseMenu from pointer->reference conversion
5258
5259         * ChangeLog:
5260         made shaded windows snap properly at their bottom, using their shaded height.
5261         window.getHeight() now returns the different/correct value when a window is shaded.
5262
5263         * ChangeLog:
5264         merged the changelog from the 0.99.0 (stable) branch (the code was previously merged)
5265
5266         * ChangeLog: added entry for new BestFit placement type
5267
5268         * AUTHORS: added first revision of the BestFit placement type.
5269         moved RowSmart placement type out of placeWindow() to its own function like bestFit. Will continue moving other placement types into their own functions.
5270
5271 2002-04-12  woodblock  <woodblock@zed>
5272
5273         * ChangeLog: added close redraw
5274
5275 2002-04-11  xor@zed  <xor@zed>
5276
5277         * CodingStyle: adding rules on how to code this project.
5278
5279         * data/Makefile.am, data/Makefile.in, data/README, data/README.menu, data/README.style, data/menu.in:
5280         New file.
5281
5282         * data/Makefile.am, data/Makefile.in, data/README, data/README.menu, data/README.style, data/menu.in:
5283         initial import. ready for the 0.99.0 stable branch.
5284
5285         * AUTHORS, BUGS, ChangeLog, ChangeLog-Blackbox, ChangeLog.bsetbg, INSTALL, LICENSE, Makefile.am, Makefile.in, README, README.bbtools, README.bsetbg, TODO, aclocal.m4, config.h.in, configure, configure.in, doc/Makefile.am, doc/Makefile.in, doc/bsetroot.1, doc/openbox.1.in, install-sh, missing, mkinstalldirs, stamp-h.in, version.h.in:
5286         New file.
5287
5288         * AUTHORS, BUGS, ChangeLog, ChangeLog-Blackbox, ChangeLog.bsetbg, INSTALL, LICENSE, Makefile.am, Makefile.in, README, README.bbtools, README.bsetbg, TODO, aclocal.m4, config.h.in, configure, configure.in, doc/Makefile.am, doc/Makefile.in, doc/bsetroot.1, doc/openbox.1.in, install-sh, missing, mkinstalldirs, stamp-h.in, version.h.in:
5289         initial import. ready for the 0.99.0 stable branch.
5290