Using another window manager


I am interested in the possibility of using another window manager on Haiku.
Is there an easy way to do this? (I am particularly fond of Openbox)



No, this isn’t easily possible. You may have noticed we don’t use X11 as our graphics system. Our closest equivalent is the app_server, and it manages windows itself. Porting anything else would require a rewrite of the window manager, and a lot of changes in app_server to allow plugging it.

Moreover, this is against what we are trying to do: the goal for Haiku is to have a coherent operating system, making it possible for applications to rely on the existing features. In the case of the window manager, for example, applications can make use of Stack&Tile to make windows more manageable. They can also rely on the behavior of the window manager when it comes to focusig windows, showing them on the right workspace, and so on. This makes writing (and testing) applications simpler.

By the way - what is the status of set decor? Will there be an API or SDK for window decors?

At least, could you add to Haiku’s native window manager some of Openbox’s features? For instance, configurability and extensibility.

That's not the goal of Haiku. Our rule is "sane defaults, not maximal configurability". For Haiku to introduce a configurable option, there must be a strong disagreement between devs on how things should work. This is how we got optional focus follows mouse, and modifiable window border colors.

More options means more cases to test for applications. You know how that goes on Linux: your app must render properly with dozens f different GTK or Qt themes, might behave differently when the window manager is compositing, and can't rely on the window manager allowing some features (for example having a window resize itself isn't possible because of tiling window managers).

On Haiku we have a standard window manager applications can rely on. This allows the applications to pin window to workspaces, stack windows together programatically, make sure alerts and other modal boxes show up at the right place (above the window that triggered them), etc. As soon as you start ading configurability, apps will have to be tested in more different cases, and will have to handle them all.

hell if you want to make a fork of and port it over be our guest. they have cywergin for windows so you would have to do something like that first and then port x and the desktop evionments. XD

In my opinion, porting other graphics stacks, window managers and desktop environments is anathema to the goal of Haiku and many of her developers and long time users! While I agree that Haiku should be able to be configured to the users liking, it only makes sense to limit those options to include only those that are in line with the overall goals of R1 and beyond.

If you desire to configure Haiku beyond what she is designed to do, then go ahead and do it! Haiku is Open Source and no one is going to stop you from adding as much bling as you want. Just don’t expect the devs to help you. If you want to install X11 and Gnome and whatever, go ahead! Just don’t expect a flawless or even a good experience!

Linux’s greatest strength is also its collective greatest weakness! Endless choice and up the butt configurability is great for those who have the time and skill to manage the hodgepodge that is the Linux system. But if you want a stable and consistant UX, then Linux is not it. While I run Linux on all of my computers, I sometimes miss the consistancy of Windows! Yes, Windows is a royal pain in the but, but at least it is consistantly painfull with a consistant UI and UX.

So yes, if you want to make Haiku look like Windows, Mac, or Linux, great! Just be willing to deal with bugs and breakages along the way. And don’t expect your work to be included into haiku. However, I do believe some sane desktop and icon themes would be good, just leave them as an optional package.

Actually, I think the more interesting idea might be the opposite of the original poster’s thought. I could get along with a Haiku styled GUI that was generalized and ported to other operating systems I use, like FreeBSD. I know that the GUI on Haiku is deeply rooted (a little like Windows) - so the idea is probably not very economical. Still - it would be very cool!