Commit graph

40 commits

Author SHA1 Message Date
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
43d0f79057 fonts are no longer loaded from the theme file. instead, they are created by the application and passed in while creating/loading a theme 2007-03-04 07:12:34 +00:00
Mikael Magnusson
d9f14c1d01 update copyright step 2 2006-08-22 16:44:18 +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
4460548ca0 wrap public headers in G_BEGIN/END_DECLS 2003-09-25 22:48:04 +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
96f9db0d0c api cleanups for render/theme.h 2003-09-17 06:21:35 +00:00
Dana Jansens
dcc433926c code style 2003-09-14 06:42:57 +00:00
Dana Jansens
5d658c98e2 add app_(un)hilite_fg, which is never parentrelative 2003-09-12 05:56:57 +00:00
Dana Jansens
49a73ce15c add support for a default icon, but no icon has been made yet. 2003-09-12 01:11:33 +00:00
Dana Jansens
a72371b41f bigtime theme changes. bigtime. 2003-09-08 18:38:52 +00:00
Dana Jansens
aeef656993 add menu.bullet.selected.imageColor 2003-09-02 18:52:24 +00:00
Dana Jansens
06252b3076 rename back the app_selected appearances to app_hilite 2003-09-01 16:37:21 +00:00
Dana Jansens
f33bbca9e6 couple more xrdb theme format cleanups:
window.focus.font -> window.label.focus.font
window.unfocus.font -> window.label.unfocus.font
window.justify -> window.label.justify
menu.frame.* -> menu.items.*
menu.hilite.* -> menu.selected.*
*.picColor -> *.imageColor
2003-09-01 07:03:04 +00:00
Dana Jansens
f97e7133d4 allow handlewidth of 0, which sets show_handle to false 2003-08-30 19:02:10 +00:00
Dana Jansens
c34ef4028e half way through the changes to new menu code/design. hot shit. static menus work, on to plugins next. 2003-08-28 02:10:23 +00:00
Dana Jansens
faeadd74d4 make focus and unfocus fonts for window titles. change 'xftfont' to 'font' in the themes. 2003-08-22 06:14:20 +00:00
Scott Moynes
a4f023cf3a Some fixes and new bugs. Someone else can do the menus because it is
clear no one gives a fuck what I think and no one else wants a window
manager that doesn't suck the same balls as every other window manager.
2003-08-11 21:19:17 +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
f407b5d80f add pressed bitmaps. rename stick bitmaps to desk 2003-08-01 18:11:13 +00:00
Dana Jansens
2b72e5d01c add toggled textuers for titlebar buttons 2003-08-01 17:58:48 +00:00
Dana Jansens
d4170da07e renamed the _t bitmaps, and added disabled and hover bitmaps 2003-08-01 07:02:57 +00:00
Dana Jansens
54ad34a039 move the titlebar layout from the theme to the rc file 2003-07-30 16:25:08 +00:00
Dana Jansens
632b2af7a8 fix mem leaks/crashes 2003-07-27 19:57:38 +00:00
Dana Jansens
2eb5721416 add pressed colors for buttons 2003-07-27 19:39:02 +00:00
Dana Jansens
ea6258ce0f add a menuOverlap property to themes, and use it in the submenu placement 2003-07-22 16:14:42 +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
527af7664a add the themes path to the struct. make the name never include a path 2003-06-28 16:52:17 +00:00
Dana Jansens
a12e73cf37 read fonts and titlebar layout from theme files 2003-06-26 01:29:45 +00:00
Dana Jansens
c100b72c5d more namespacing with Rr* 2003-06-21 02:26:50 +00:00
Dana Jansens
dbe2851b91 more namespacing to Rr* 2003-06-21 02:15:13 +00:00
Dana Jansens
bd59576748 rename color_rgb to RrColor 2003-06-21 01:56:14 +00:00
Dana Jansens
b1f5555218 put the render theme into a struct 2003-06-21 01:53:26 +00:00
Dana Jansens
3f32dfa87e this is going to break the kernel/ building.
lots of modifications to the render API, prefixing everything, making proper
names for everything. the structures are not hidden/opaque yet, but the naming scheme of the public API works much better now.
2003-06-20 07:58:51 +00:00
Dana Jansens
cd12a2eae5 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. 2003-06-20 02:17:23 +00:00
Dana Jansens
f26f23de50 all my changes while i was offline.
better alt-tabbing. better transient handling. i dont even know. lots of fucking cool shit so WATCH the FUCK OUT.
2003-05-09 16:57:17 +00:00
Dana Jansens
1c3689d0c7 load menu style stuff 2003-04-15 18:05:58 +00:00
Dana Jansens
5cf61ee023 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. 2003-04-13 07:18:28 +00:00