Quote: Originally Posted by
mrpeenut24 
nGhost is a built in to LinuxICE right? But it's not the wm, it's just a program? Does it support rear-view cameras? I believe it would be possible to just call an app like camorama or whatever, but is it built in (like in the Videos section, instead of the Apps section)? Also, when programs are called (built-in i.e. navit via GPS, and non-built-in via Apps), are they popped up in separate windows, managed by metacity? Or are they managed by nGhost?
I'm just unsure how the windows are managed. I'd really like it all to be handled by the front-end instead of via Gnome/Metacity.
nGhost within LinuxICE is the desktop. LinuxICE uses matchbox as it's window manager which forces applications to take fullscreen. nGhost does have the ability to do some window managing, although it isn't a window manager itself. LinuxICE also relies on icepanel to present a persistant set of controls that are always viewable no matter what window has focus. Icepanel also has controls in the LinuxICE skin to control window switching and launch the on screen keyboard.
What happens is this:
1) within the skin, a button is defined as an "ncmd" or nghost-command action type. For our example we'll say it's Navit.
2) user clicks the button and nGhost launches the application remembering it's PID and WindowID.
3) user returns back to nghost to play music or whatever.
4) when the user clicks the "Navit" button again, instead of relaunching the application, nGhost will attempt to bring Navit's window into focus.
I have found that not all window managers support the window managing technique that nGhost uses (which has been abstracted from wmctrl, and rewritten in c++). Also, some applications change their PID on startup (ie firefox), in which case, nGhost won't be able to keep track of it... This may be tweaked later to also query the windowID by either window name or process name in addition to the current pid lookup...
There is no default support rearview cam support in nghost/linuxice. there shouldn't be a problem getting it to work like it should with virtual no effort (besides getting it installed and launching it via icepanel/nghost).
probably more than you asked for hehe.