cli_monitor vs launcher vs launchpad

Jörg-Christian Böhme joerg at ...518...
Fri Aug 18 14:31:11 CEST 2017

My setup/environment:
- Source:
   Branch: staging
   commit 17f3b559735027bcbde233ebacbb1f9d173a566c
   Date:   Thu Aug 3 09:44:17 2017 -0500
- Target-genode-System:    
   nova x86_64
- Host-System:    
   genode-x86-gcc (GCC) 6.3.0
   Ubuntu 17.04    
   QEMU emulator version 2.8.0(Debian 1:2.8+dfsg-3ubuntu2.3)


I try to understand the difference between cli_monitor, launcher, launchpad
and qt-launchpad.

I looked into the source code and I understand following:

- app/cli_monitor is the command line version to start child processes. It
  exists in the low-level OS components repo.
- app/launcher is the UI version of cli_monitor and uses some headers from
  cli_monitor. It exists in the gems repo.

- app/launchpad is the UI version to start child processes. Launchpad is
  not using the cli_monitor headers. It exists in the demo repo.
- app/qt5/qt_launchpad is the Qt version of launchpad. It uses
  lib/launchpad from demo repo. It exists in the libports repo.

Both cli_monitor headers and lib/launchpad using the Genode::Child and
Genode::Child_policy API to managed the child compoments as described in 
section 8.17.2. Child management [1].

What I see between the cli_monitor/launcher and launchpad approach, that 
the configuration of the subsystems is different. But is there even more 
differences ?

May I asked, what are the future plans of these "launchers"?
Cli_monitor is in the OS repo and sounds like the API is what I should use
to implement some "own" launchers.
Launch app in gems repo, as what I understand from the email from Norman 
(see Friday, 4. August 2017 11:56:38 CEST from Norman Feske) this is 
Launchpad is in the demo repo and what I see in the git commit history, 
this is also the older approach to "launch" subsystems in genode, or?

Here some background information, why I asked...
I will use genode as a desktop system and for such a use case I need
something to launch applications. I notice, that genode is currently 
implementing a package management and it sounds like for me, in the
future I need a launcher that are flexible enough to start an application
after I installed a package in genode :-) ... but step by step.

I'm a C++ developer and using STL/boost etc. but for UI I use Qt/QML. The
idea, I will try to develope a launcher in Qt/QML (I know there is a
launchpad in Qt ... but not in QML). 
I still try to find out, which approach is the best: Use the lib/launchpad
or cli_monitor API or develope from scratch as described in 
section 8.17.2. Child management [1].
Maybe I will still using the current aprroaches (launchpad etc.), it 
depends on the email reply :-)



More information about the users mailing list