Commit graph

63 commits

Author SHA1 Message Date
Dana Jansens
7aae8cc526 Set up work for making a 3.5 prerelease.
Set version stuff to 3.5.0-rc1.
Copy the CHANGELOG from 3.4-working.
Rename the obt-4.0 and obrender-4.0 pkgconfig stuff to obt-3.5 and obrender-3.5
Rename the "render" directory to "obrender" so that the public headers can be
  installed in <obrender/*>
2009-12-21 14:08:34 -05:00
Dana Jansens
ea435b99a8 Introducing the icon cache.
If an icon is the same as one in the cache, then it uses that one.
icons of different sizes (from the same client) are linked together into
one, and resizes of icons are cached and linked to all the various sizes.
so you only need one icon in memory for all your terminals now. ya!
2008-02-14 11:44:28 +01: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
6be65a7ddd we alloc theme elements for every window frame, but really it is unneccesary 2008-01-27 02:53:26 -05:00
Dana Jansens
e2ddfaf9ff s/ob_display/obt_display/ and remove ob_display 2008-01-20 01:36:54 -05:00
Dana Jansens
82438c21ec add resize corners to the bottom corners of the inner client border 2007-08-04 11:38:01 -04:00
Mikael Magnusson
77baf26a7f remove trailing whitespace 2007-07-17 02:48:16 +02:00
Dana Jansens
44bc0dab88 no un-needed rendering 2007-06-13 12:37:52 +00:00
Dana Jansens
ef8bd3947d delay re-rendering the frame while it is being iconify-animated until the animation finishes (avoid it flashing to unfocused) 2007-06-10 03:58:02 +00:00
Dana Jansens
8861b44cc8 don't use the title separator color for shaded windows 2007-06-03 19:48:43 +00:00
Dana Jansens
439d2c62fa remove the title separator width thing.
add a separate color for the title separator
2007-06-02 21:19:49 +00:00
Dana Jansens
c4eaa94385 put an alpha channel in the rgba texture 2007-05-29 03:22:55 +00:00
Dana Jansens
56b01b73a8 have the clientpadding color show during resize, and no flashing on unmap. we win ! 2007-05-28 22:46:28 +00:00
Dana Jansens
a1511e4655 get rid of the "inner" window 2007-05-28 22:18:32 +00:00
Mikael Magnusson
37aaf4c1e4 merge r6815 from 3.4-working (!) 'fix positioning of tlt, top and trt resize elements. thanks mulberry' 2007-05-24 21:39:23 +00:00
Dana Jansens
8262e1ba66 fix frame rendering to match layout fixes 2007-05-22 17:55:46 +00:00
Dana Jansens
1b7c2dac9e draw the handle without borders 2007-05-20 06:45:02 +00:00
Dana Jansens
0353b979c6 construct the titlebar without borders 2007-05-20 05:39:16 +00:00
Dana Jansens
cf5c75420a stop using a border for the outer frame window. step 1 of borderless-ness. now transparent windows dont look so terrible, yay 2007-05-20 04:44:00 +00:00
Dana Jansens
b26635fe99 add Left and Right contexts for resizing 2007-05-19 21:39:40 +00:00
Dana Jansens
5eba6007e7 change the "handle" context to "bottom". add a "top" context. make the top
and bottom contexts resize vertically in the default config file.
2007-05-12 17:54:55 +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
193ca2197a further work to r6205. make the disabled titlebar buttons hide if they won't move other buttons around by doing so. 2007-05-09 03:41:48 +00:00
Dana Jansens
d0013c0861 add a window between the frame and the plate for drawing the client border. this way when the client window disappears, nothing gets rendered underneath it. 2007-04-23 23:21:47 +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
5fb30e4488 add toggled-pressed and toggled-hover button states to themes. also rename toggled to be toggled-unpressed 2007-03-28 03:32:46 +00:00
Dana Jansens
f658ec961e animate presses on toggled titlebar buttons 2007-03-16 01:33:47 +00:00
Dana Jansens
96abc207f2 one more fix.. oops :) 2007-03-08 03:32:29 +00:00
Dana Jansens
976eb4c511 fix rendering of the new top corner resize handles 2007-03-08 03:31:42 +00:00
Dana Jansens
56307d6077 a) remove the top_grip_height business from the theme
b) make the focus indicator based on border width and padding, not the handle height
c) add 2 more windows for the top corners for resizing, much easier to find them now. also base their width on padding, not the handle height or other weird things
2007-03-08 01:26:03 +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
Mikael Magnusson
d9f14c1d01 update copyright step 2 2006-08-22 16:44:18 +00:00
Mikael Magnusson
69a4abe1d0 make the framerender_frame() code a bit less crazy 2005-07-14 20:46:31 +00:00
Mikael Magnusson
b10b0000db revert the pressed toggled thing for a while 2005-07-14 20:41:24 +00:00
Mikael Magnusson
5c95d2ffea correctly show pressed state when pressing toggled buttons, bug #2311 2005-07-14 13:02:39 +00:00
Dana Jansens
740c5b2a20 consistant glib type usage 2003-10-15 03:59:35 +00:00
Dana Jansens
dee3d68c22 try grab an icon even when there are none 2003-09-28 06:34:31 +00:00
Dana Jansens
f6ba1f27b9 halfway through client changes but...
should fix crashes irt actions in the action queue for clients that have been destroyed. now those actions are skipped or performed without a client as possible.
2003-09-28 06:31:00 +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
a72371b41f bigtime theme changes. bigtime. 2003-09-08 18:38:52 +00:00
Dana Jansens
420cbea6cc xflush after rendering 2003-09-07 19:04:25 +00:00
Dana Jansens
084c66a32a clear the window after setting the background color, this isnt implicit 2003-08-10 03:31:18 +00:00
Dana Jansens
2494762dbf a couple frame layout bugfixes hidden inside all this.. wee
fixes for maximizing windows:
 - when you toggledecor, it will reconfigure once, but the new constraints from the decor changes would not be in effect when the window was resized to the contranits. fixed by calling frame_adjust_area first thing ni client_configure_fulll with fake=TRUE which will recalc all the frame geometry without resizing/redrawing anything in the frame. this way the decor can take effect in the geometries.
 - when maxed horizontally, make the client fill the screen, but dont do this by just making it wider than the screen, fit it to the screen and adjust the titlebar/handle as appropriate to keep it all on the screen.
 - when maxed horizontally and vertically, remove the handle from the decorations
2003-08-05 10:31:20 +00:00
Dana Jansens
9ba3f7d0fd give the plate the same background color as its border 2003-08-03 17:11:07 +00:00
Dana Jansens
960a7f0184 invisible resizing areas/grips in the top corners of the window 2003-08-02 06:20:31 +00:00
Dana Jansens
2b72e5d01c add toggled textuers for titlebar buttons 2003-08-01 17:58:48 +00:00
Dana Jansens
742106511f hover theme elements for window titlebar buttons 2003-07-28 19:21:45 +00:00
Dana Jansens
81af5a8b0c 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.
when a window cant be resized, its handle is not removed but its grips are.

change allowing the user to disable individual decorations as that is overkill,
instead allow a toggle through the client.decorate boolean.
2003-07-10 23:27:02 +00:00
Dana Jansens
122d55fbad prefixing and capitalizing the StackLayer -> ObStackingLayer enum.
less includes in headers for less rebuilding on changes
2003-07-10 17:03:05 +00:00