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