Commit graph

78 commits

Author SHA1 Message Date
Dana Jansens
e0c1978c51 generalize the window managing process into window_manage, which handles dock apps and the like 2008-01-31 16:50:54 -05:00
Dana Jansens
a21840cbb7 make ob_debug use the g_log system, and make openbox log messages to..a log file ! this will help everyone since most people do not run openbox in a terminal.. 2008-01-31 12:54:51 -05:00
Dana Jansens
20b8fcfa33 Merge branch 'backport' into work
Conflicts:

	openbox/client.c
	openbox/config.c
	openbox/event.c
	openbox/extensions.c
	openbox/focus_cycle_indicator.c
	openbox/focus_cycle_popup.c
	openbox/menuframe.c
	openbox/moveresize.c
	openbox/openbox.c
	openbox/screen.c
	openbox/stacking.c
	openbox/startupnotify.c
2008-01-31 12:51:38 -05:00
Dana Jansens
d81c4be600 don't assert when you window_find(0)/dockapp_find(0), just return 0 2008-01-31 12:25:31 -05:00
Dana Jansens
73c9a0e06b make an obt_root() macro 2008-01-31 12:25:31 -05:00
Dana Jansens
29637976e6 make the window.h interface more consistent with the rest of openbox, hide the window_map behind some functions, and make obdockapps not obwindows anymore 2008-01-31 12:25:30 -05:00
Dana Jansens
be71b344fa only add borders and stuff to the dock's size if it is holding anything. otherwise it gets a non-zero size which messes with resistence/placement/etc 2008-01-26 01:17:56 -05:00
Dana Jansens
0fcf5ead0f make openbox use the obt prop.c/h stuff
holy search and replace batman
2008-01-20 01:36:54 -05:00
Dana Jansens
e2ddfaf9ff s/ob_display/obt_display/ and remove ob_display 2008-01-20 01:36:54 -05:00
Dana Jansens
452627a51c Move the main loop out into the libobt 2008-01-20 01:36:54 -05:00
Dana Jansens
df73dfa049 make the dock's hiding always have at least 1px on screen 2008-01-12 16:17:22 -05:00
Mikael Magnusson
556eb7b7fb ANSI function declarations, ie () -> (void) 2007-09-04 06:27:10 +02:00
Dana Jansens
3b4b52921a show a popup notification when switching desktops (also make all the config options export time in milliseconds not half milli half micro) 2007-08-03 20:40:13 -04:00
Dana Jansens
9005a02c5c don't propagate mouse button events on dock windows thru to the root window 2007-07-30 01:47:13 -04:00
Mikael Magnusson
77baf26a7f remove trailing whitespace 2007-07-17 02:48:16 +02:00
Mikael Magnusson
95c58160c1 80 cols in dock.c 2007-07-14 15:15:16 +02:00
Mikael Magnusson
355981bf14 use dock_get_area instead of accessing dock struct directly 2007-07-13 16:14:02 +02:00
Mikael Magnusson
fc32204f3c split out edge detecting code a bit so it is easy to add the dock area and do that too 2007-07-13 14:37:15 +02:00
Mikael Magnusson
3234a75083 change dock to use a Rect area instead of four ints 2007-07-13 14:21:39 +02:00
Dana Jansens
eb6a2e9c4b xinerama support like crazy for struts and everything else too. this probably crashes but its been way too long without a commit. 2007-06-13 11:15:51 +00:00
Dana Jansens
1514ce75b6 ignore the dock in placing as a last resort 2007-06-13 02:42:27 +00:00
Dana Jansens
8c05970840 fix how the dock is placed, its struts, and set a window type hint on it 2007-06-13 02:32:20 +00:00
Dana Jansens
9586e3bf14 plug memory leaks from the new strut code 2007-06-13 01:58:34 +00:00
Dana Jansens
d3c22b58cb use the osd theme stuff for the dock instead of active titlebar 2007-06-10 03:41:40 +00:00
Dana Jansens
4ff717355a don't listen to focus events in the dock, unless you're going to do it properly 2007-05-14 02:06:34 +00:00
Dana Jansens
eb7a3a0638 im just leaving the dock alone.. 2007-05-13 21:08:50 +00:00
Dana Jansens
7a39cb3e8d no strut for docks that autohide 2007-05-13 21:06:23 +00:00
Dana Jansens
7fddf2abc2 some focus fixes. always set the new focus when we fallback or else weird states appear. better handling of focusin's on clients that don't exist? 2007-05-13 20:35:44 +00:00
Dana Jansens
b63ad92cca give different border colors to active and inactive windows. adjust the xml theme format a little to make it BETTER. rawr. add some metadata standards too. 2007-05-11 22:18:43 +00:00
Dana Jansens
66d6e1120e small change to the render API. RrMinsize became RrMinSize. added RrMinWidth and RrMinHeight.
make focus/desktop popups wider based on the screen size with the old size as a minimum.
left-align the desktop dialog.. i think better dialogs would be nice. and to make them hide or something when you switch desktops while switching windows etc.
2007-05-02 00:35:22 +00:00
Dana Jansens
3595da62ca never mind on the hint idea, it was fun while it lasted. at least i know it is there now. 2007-04-24 01:16:33 +00:00
Dana Jansens
a488360f48 add the PointerMotionHintMask everywhere, we dont need every mouse event 2007-04-24 01:00:27 +00:00
Dana Jansens
2442cdfd85 1) translate all of openbox's output
2) update copyrights.
3) make release. ok that part not quite yet.
2007-04-23 17:56:35 +00:00
Dana Jansens
939fbcfd31 add a comparitor to timers. use this in event.c to let you remove timers from the queue selectively for delayed focus 2007-04-22 04:16:00 +00:00
Dana Jansens
ec304c9e43 scary commit..but here goes.
YOUR THEMES ARE NOW OFFICIALLY BROKEN.

Openbox has just moved it's theme format to an XML based one. The details of
this format can be found in data/themerc.xsd (and http://openbox.org/themerc.xsd

ALSO! This is very good and important and stuff! In the tools directory you
will find THEMETOXML ! This tool takes a themerc on stdin, and spits out
the same theme in theme.xml format. So this is all you need to do to update
your themes.

PLEASE NOTE: This themetoxml does _not_ install itself anywhere. It simply
builds and then lives out in its tools/themetoxml directory, and that's it. So
if you want to use it, that is where to find it.

In moving to the new XML format, a number of additions/changes to the theme
engine have been made. Themetoxml takes these into account and will set all
the new things appropriately to make your theme look the same as it always has.

New additions include..
* padding now has an horizontal and vertical component, instead of being one number
* menus can have different borders than windows (color and size)
* menu offset can now be negative. it's a little weird, but someone will want it no doubt
* fonts are no longer controled by the theme at all, however font shadowing is, and on that note..
* font shadows are now any color you want, not just black and white
* you can now set the shadow anywhere you can set the text's color, so you have more control, i.e. you can set shadow on active menu items but not inactive, or disabled, etc.
* every color now has an alpha channel. at the moment they don't do anything, besides the font shadow one, but it leaves room for future explorations. it is REALLY HIGHLY RECOMMENDED that you set the alpha to 255 all the time, until such time as it could be useful. otherwise one day your theme may turn awful for people.
* font colors are in the range 0-255, in case you were wondering, and they have to be specified in decimal
* if you'd like to change you font's you can do so in your configuration file. this is how it is going to stay. changing the font in the theme assumes too much about peoples eye sight and locality and stuff. it doesn't belong there, sorry. the system-wide default rc.xml includes the new font settings for your viewing pleasure, and ill drop an example of it below.
* shadows can now be positioned in any direction, they have both an x and a y offset which can be negative and positive. and offset of 0,0 will disable the shadow

This isn't a release or anything. If someone had some good ideas about the xml theme format, I'd like to hear them. But I don't think it will be changing much right now beyond where it is. I don't even know how the new functionality will play out for themers, so we'll see.

Whew.. I guess that's it. I'm not sure if I mentioned every little change or not, but oh well. Mileage may vary.. Please send any feedback.

Here's the font configuration example. Hopefully ObConf will let you set this real soon.

<theme>
...
  <font place="ActiveWindow">
    <name>arial,sans</name>
    <size>7</size>
    <weight>bold</weight>
    <slant>normal</slant>
  </font>
  <font place="InactiveWindow">
    <name>arial,sans</name>
    <size>7</size>
    <weight>bold</weight>
    <slant>normal</slant>
  </font>
  <font place="MenuTitle">
    <name>arial,sans</name>
    <size>8</size>
    <weight>bold</weight>
    <slant>normal</slant>
  </font>
  <font place="MenuItem">
    <name>arial,sans</name>
    <size>8</size>
    <weight>bold</weight>
    <slant>normal</slant>
  </font>
</theme>
2007-03-05 15:44:17 +00:00
Dana Jansens
78af5d15e9 this includes a number of things since my magnificent return....
1. some random compiling/style cleanups
2. some bigfixes
 - mislogic in per-window-settings and focusing new windows
 - use client_can_focus rather than checking variables for directional focus
 - MAYBE fix all those lock-ups forever. using event_curtime (a new variable) now instead of event_lasttime. event_lasttime is still used however when the event being processed did not have a time associated with it. this may or may not be a problem, and will be seen.
3. um.. i forget
4. oh yeah, 3rd party docks are now treated like the internal ob dock irt focus. that is, clicking on them won't pass them focus. this is going to be ratified as expected behavior in the wm-spec just now. if docks/panels want focus they can request it with _net_active_window, and then they can have all the focus they want! one day alt-tabbing around dock windows might be nice. but not until the ob dock is moved out into a separate application. going to have to add a wmapp selection and stuff for that though... ugly. who uses wmdockapps anymore !? someone must.. *sigh*
2007-03-02 02:23:00 +00:00
Mikael Magnusson
d9f14c1d01 update copyright step 2 2006-08-22 16:44:18 +00:00
Mikael Magnusson
653358c18d make the dock copy appearance from active window titles instead of inactive ones, this won't matter because nobody uses the dock 2006-08-18 19:57:14 +00:00
Mikael Magnusson
e1665d70b5 add showDelay to dock 2005-09-25 14:45:24 +00:00
Mikael Magnusson
4690af7f72 noStrut actually works now 2005-03-26 06:34:58 +00:00
Mikael Magnusson
335e8acbfc yay no tabs in the source 2004-03-21 01:03:00 +00:00
Dana Jansens
174de91c34 use g_[s]list_next/previous consistantly, and check for "it" instead of "it != NULL" consistantly. props to Logan again :) 2003-10-25 19:27:09 +00:00
Dana Jansens
b192784070 add <dock><moveButton> which can change which button combo is used to move dock apps around in the dock. The new default is A-Left instead of Middle, since soem dock apps use middle, assuming they can! 2003-09-26 07:59:06 +00:00
Dana Jansens
89d964d9fe hide the dock when reconfiguring otherwise the user has to move the mouse over it to make it hide the first time 2003-09-24 17:16:01 +00:00
Dana Jansens
22bf54526c rename dock/himeTimeout to dock/hideDelay in the config file 2003-09-21 19:31:45 +00:00
Dana Jansens
be79af11f6 dont save the appearance when reconfiguring!! that was a crash waiting to happen!!
also reset the border stuff on reconfigure
2003-09-21 18:19:11 +00:00
Dana Jansens
16f46c296d no tabs 2003-09-17 07:44:49 +00:00
Dana Jansens
c4e4760c41 add copyright headers, adjust --version output to include copyright, and --help output to not include version output. 2003-09-17 07:32:52 +00:00
Dana Jansens
c73bd381fe fix autohiding 2003-09-08 03:31:40 +00:00
Dana Jansens
596be5028e dont modify the time from the config parser 2003-09-08 03:18:04 +00:00