What do I need to do to configure my system to work on/with the app server and interface kit? I’d like to start helping but I don’t know how to start. Any pointers would be nice.
What do I need to do to configure my system to work on/with the app server and interface kit? I'd like to start helping but I don't know how to start. Any pointers would be nice.
The first thing to do would be to get hold of all the of the Subversion client for BeOS and get it set up such that you can check out the tree and then do so. Time to initially pull down the tree is quite long, but not bad afterward.
Add these 3 lines to your .profile in your home folder:
export COMPILE_FOR_R5=1
export RUN_WITHOUT_REGISTRAR=1
export DEBUG=1
Go to the app_server directory in Terminal, run jam, and wait a while. Before long, you will have a built, working, runnable app_server in trunk/distro folder hierarchy.
To be perfectly honest, though, the main need right now is in the individual controls. Write a little test app to test a control, such as, say, BScrollBar and make sure it works just like the BeBook says it should.
I hope that this helps you. Anything else you’d like to know?
–DarkWyrm
So the app server runs as a program? Do you use the command line to start apps in it? How does it work?
I don’t want to sound completly dumb, but I’d like to know the proper way so… When working on controls how do I set up so I know I’m using the haiku controls and libs instead of the Be ones? Is it just a matter of linking to them or are there any not so obvious tricks to it? Are there any existing scripts, frameworks, source files, or anything that might be helpful so I’m not reinventing the wheel?
Last thing, if I should focus on the controls is the status page for them up to date or do I need to kind of browse around to figure out the status?
Last thing, if I should focus on the controls is the status page for them up to date or do I need to kind of browse around to figure out the status?
I’m afraid you should “kind of browse around”.
The status page is… sorta up to date, but always better checking the sources directly.
I’ll do that then.
Jack, did you get an e-mail from me? I sent it back on the 6th. It was reguarding BNickNames source. I’d like to get a copy.
So the app server runs as a program? Do you use the command line to start apps in it? How does it work?I don’t want to sound completly dumb, but I’d like to know the proper way so… When working on controls how do I set up so I know I’m using the haiku controls and libs instead of the Be ones? Is it just a matter of linking to them or are there any not so obvious tricks to it? Are there any existing scripts, frameworks, source files, or anything that might be helpful so I’m not reinventing the wheel?
Last thing, if I should focus on the controls is the status page for them up to date or do I need to kind of browse around to figure out the status?
The app_server can run as a regular Be application, but it doesn’t have to. In fact, it can run as a regular app only under R5. That’s what the BUILD_FOR_R5 export is for.
Building an app to run under the Haiku server is pretty much a matter of compiling the code as usual, but linking them against the Haiku libraries. I’ve gotten, for example, ButtonWorld to run in the server by doing what I just described. The headers aren’t exactly the same, so BeIDE projects need some tweaking to build for Haiku. You can run them as usual from Tracker or Terminal.
Asking me or some of the other guys on the team are probably the best way to find out what’s working and what’s not. The two biggest offenders that I can think of right now are the BMenu-related classes and BScrollBar.
Anyway, developing controls isn’t too hard. Most of them you can just write the code for the class and link against libbe and BeIDE will use your code instead of what’s in libbe. BScrollBar is a little trickier to develop because its internal structure is several orders of magnitude different from R5’s. However, all the code that I wrote for it was done under R5 and not the server. What I personally do is create a BeIDE project, change all the access paths to point to the headers in my copy of the tree, remove libbe.so, and add whatever haiku libraries I need, including libopenbeos.so.
Using the app_server for general development and testing of controls isn’t a good idea because it’s still very unstable. Axel was just mentioning yesterday (or was it today?) that the mkhdimage script now includes prefs apps, some of which work, but most hang or crash the server – not because the prefs apps are bad, but because there’s still a lot of work to do on the server in the debugging department. HTH
–DarkWyrm