Themes

Hi, i want to try themes for haiku, it is possible?

2 Likes

Technically, yes. Decorators implement all the window decoration, and, at least at some point, Haiku had decorators that mimicked Windows 95, Mac OS classic and IIRC AmigaOS

It’s perfectly possible to write a new decorator (in code) and use it in Haiku, but i don’t know of anyone who’s actually made one not included with Haiku…

Note that this doesn’t theme any widgets (tabs, checkboxes etc). I believe a rewrite of the app_server would be required to implement that functionality.

Looncraz has made the OBOSDecor, a decorator implementing the interface originally planned for OpenBeOS.

For me it was nice, but actually i can’t find it. Anyone (or the author) has some link?

1 Like

Hi, here is what i got. Hope these mockups are what you are searching for.


















But I don’t know where to get the decorator from.
Guess it was build in into Zeta-OS.

I even could find the creator infos again from the images above: Stuart McCoy [ http://meltingcrayons.com/ ]. (Not sure you meant this ones.)

1 Like

The resulting GUI was this, but it was an Haiku decorator, i used it for a few time, but can’t find it anymore : /

I believe is very important for us get a way to use themes on haiku, dont need to be a super customizable Os but relieves and icons should can be changed for good of the popularity of that Os, people look and believe this project are no enough good or are very old, Haiku are not projecting his real potential because he aparent to be too old.

I don't know why everyone seems to think it looks old. See how after 20 years of rounded design and gradients, everyone is moving to all-flat square things. 20 years from now you will see the reverse move.

The slight gradients and slight rounding of Haiku's interface is I think a good balance between these two extremes. It allows good readability and doesn't waste space on screen. I'd say it looks traditional, but not old.

That being said, there is a theme manager for tweaking the user interface: http://dev.osdrawer.net/ projects/thememanager. This currently mostly change colors, but could be improved to change the decorator (for window borders) and control_look (for widgets).

the problem with this, is it makes it harder for applications to look good in all cases. Haiku applications often use custom widgets, which must adapt to the look of things around them. This is a lot of work for application developers, whereas it's much easier to test things against a single unified look and feel.

I don't know why everyone seems to think it looks old. See how after 20 years of rounded design and gradients, everyone is moving to all-flat square things. 20 years from now you will see the reverse move.

The slight gradients and slight rounding of Haiku's interface is I think a good balance between these two extremes. It allows good readability and doesn't waste space on screen. I'd say it looks traditional, but not old.

That being said, there is a theme manager for tweaking the user interface: http://dev.osdrawer.net/ projects/thememanager. This currently mostly change colors, but could be improved to change the decorator (for window borders) and control_look (for widgets).

the problem with this, is it makes it harder for applications to look good in all cases. Haiku applications often use custom widgets, which must adapt to the look of things around them. This is a lot of work for application developers, whereas it's much easier to test things against a single unified look and feel.

IMHO the decorator API could do with being expanded. From my knowledge, the decorator API just applies to the borders and “tabs” of application windows. Whilst this might seems great, creating a more “complete” theme, with widget theming (such as radio buttons, scrollbars etc) is really hard, if not impossible without fiddling with app-server code.

I’m sure it’s not going to be an easy task to expand the decorator API, but doing so would allow develops to customise their Haiku installation the way they want it. Now, i’m not suggesting Haiku ends up in the same situation as Linux Window Managers, where you end up with a bazillion different themes to choose from, but at least and expanded decorator API would allow more customisation of a Haiku installation.

But IMHO the Haiku theme ATM doesn’t feel that old. I’ll admit it’s not exactly cutting edge, but peel back the layers from the Windows 8 desktop, and you come back to Windows 95. IMHO the Haiku theme looks more like an early to mid 2000’s desktop, with its vectorised gradients and lashings of grey, but that’s not always a bad thing. It’s clean, uncluttered and space efficient, with no real distracting textures (such as Aero’s glass). Also, because of it’s simplicity, with no shadowing, transparency etc, it runs really well on VESA graphics, as there’s very little processing to do. This means that your computer can use its resources for rendering webpages, or video, instead of a transparent taskbar or window shadowing. A side-effect of this is that Haiku can also boot on otherwise ancient hardware without massive performance drops. This alone can only be a good thing.

Of course, it’s not impossible to “flatten” the Haiku theme, but is it really necessary? It might make Haiku look “hip” and “trendy”, but is it really a good use of developers time? Especially given that, as PulkoMandy said, trends quickly change in UI design. Remember in the early 2000’s when Be Inc released BeIA with it’s elliptical icons? Or the 90’s, when every OS had to have 3D gradients? Or even back in the 80’s when flat was king (mainly due to hardware limitations)? UI styles change a lot, but good design is good design, and the default Haiku theme is IMHO, very good design that will stand the test of time.

Of course, if you want to see a really dated interface, look at BeOS R5.

app_server has nothing to do with that. All it does is fill rectangles, draw gradients, and low-level stuff like that.

Most of the theming is done by replacing the BControlLook class, which takes care of the high level drawing ("draw a button frame", "draw a control label", etc). There is still some legacy code not using it in our sources, but it's not easy to spot until someone actually takes his text editor and writes a BControlLook replacement.

Every now and then we get complaints that the UI looks dated, sometimes we get mockups, but we never got a single person actually try to improve things. Once we have an alternate implementation of BControlLook, we will be able to develop a way to swap between the two, and identify the remaining problems in other classes.

ran into a good argument for themes today: https://pbs.twimg.com/media/B9tBcSiIEAAtGeI.png

BeOS had an app called “BeTheme”, which included several different plug in themes to change the look of the desktop. I tried it some time ago on a pre-package manager build, but it wouldn’t work. Since the stated goal of R1 is BeOS compatibility, couldn’t this be updated for Haiku?

yeah, a means to use sliders and such to change colors and menus to find sounds would be pretty great – something that hooks into BControlLook or could just generate a new one based on user selection. spinners, sliders and live previews are far less intimidating than the text of header files.

I don’t understand, preferences>appearance is already allowing that?

BeTheme was already updated for Haiku, get the current version at https://github.com/mmuman/HaikuThemeManager.

I was tired about Windows themes And wrote a lib that manages themes and controls. It not disturbs Windows os. It,s based on Cairo, but now is waiting on a drawer. Manage mĂşltiple themes.

1 Like

There are any control look?

Yes, just one for now: pkgman install haiku_extras.

It will only change the BMenu/BMenuItem look a bit. But its a good start to make full R5 look.

Last dais I had tested Haiku 32 bits over VMware and has some bugs.
1.- Control-C not copies or Control-V not paste.
2.- Rare mouse movement on borders of the screen.
etc…
But speaking of windows decorators, It’s easy to draw decorators with full window width size and with mac (modern) apearance using png files. With 30 or so png files I compose a complete theme that include window headers, windows buttons (max, min, restore), list and tab headers, check boxes, …and scrollbars.

I’m speaking of Windows os (windows 7, windows 10), but you can apply also to Haiku.
The window header buttons in Haiku are not ergonomic for me, they are at left and it would be better at right.
What is your opinion about use 3 buttons like in other OS ( maximize, minimize, restore)?

Just to make shure… :slight_smile:
You know that haiku defaul copy shortcut is alt+c and alt+v ist paste