|Work continues on the BeOS/Zeta port of Lgi... it now compiles and links. Yay 'liblgi.so'! So now I've got a little test harness setup to bring various bits of functionality back online. The main window and application objects are working. I'm just getting the menus laid out in the right location.
It is nice to see that the days of hacking on the BeOS port have really had a profound effect on my design of Lgi. Some of the function names are direct descendents of BeOS class methods. And it's always cute to see pages of code on Linux or Windows replaced with "one liners" on BeOS. Because BeOS did it right in the first place. A lot of things in the BeOS port of Lgi will just make a lot more sense than on the other systems. Like Mime Types for instance. On Linux and Windows they were a hack added to the OS after it was designed and gee it shows. But on BeOS it's an intrinsic part of the OS. And Lgi likes things typed with Mime Types too, so in some respects, Lgi's "native" platform is BeOS. In that it's own internal ideas about how things should work is the same as BeOS's design and on other platforms it's always trying to match the simplicity and cleanliness of BeOS. Although never quite getting there because OS always gets in the way.
A few things I've noticed back in the land of BeOS. The term window gives absolutely no response when an executable has a missing library. On Linux you get a "libxyz.so is missing", Zeta dumps you straight back to the prompt with no error message. bdb is still as clunky as ever, but I'll live.