Project

General

Profile

Actions

Feature #383

closed

Switch to appmgr run default app and drop matchbox panel

Added by Hammel about 7 years ago. Updated almost 7 years ago.

Status:
Closed
Priority:
Immediate
Assignee:
Category:
04 - Applications
Target version:
Start date:
09 Sep 2014
Due date:
% Done:

100%

Estimated time:
Severity:
01 - Critical

Description

A default application could be the launcher, similar in display to the Android or Netflix interfaces.

This application should allow for customization that is accessible to application installs.


Files

launcher.png (134 KB) launcher.png Hammel, 12 Oct 2014 14:58
Actions #1

Updated by Hammel about 7 years ago

  • Category changed from 04 - Root File System to 04 - Applications
Actions #2

Updated by Hammel about 7 years ago

  • Priority changed from High to Immediate
Actions #3

Updated by Hammel about 7 years ago

This requires that all apps exit when done and that appmgr recognize when the app exits and start up the default app.

Actions #4

Updated by Hammel about 7 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 10

Before doing this I need to define a format for the Application Description file. This file holds information provided by the application at installation time. The information could be installed in the control file of the opkg but I decided not to overload that file, especially since opkg doesn't unpack that file from the package. So installation will require the Application Description file.

The format for this file will be XML. This is because it will be fairly easy to ignore unsupported data and the PiBox Dev Platform already has libxml2 installed.

There are some examples of similar files available on the net: What I know I need:
  1. Application Name
  2. Author
  3. Contact (who to contact in case of problems)
  4. Command (including command line args)
  5. Icon (for application selection)
  6. Splash image (for application information)
  7. Description

Any field that's missing means the application is ignored. The AppManager should run all applications as an unprivileged user except for special cases (there are always special cases, like the network configuration tool). There should be system applications and custom applications, where the system applications can run with special privileges.

I don't want to make this too complex. It should just work and be very restrictive to avoid custom applications that can muck up the system.

Actions #5

Updated by Hammel about 7 years ago

I've implemented a basic launcher that shows icons, splash images and descriptive text. See attached image. It still needs to have a key defined for ACCEPT which will pass the configured command to the appmgr. I need to decide if the appmgr will launch apps over the launcher or manage the launcher just like any other app.

Actions #6

Updated by Hammel about 7 years ago

Can't seem to load images right now. I'll try again later.

Actions #7

Updated by Hammel about 7 years ago

Actions #8

Updated by Hammel about 7 years ago

  • % Done changed from 10 to 70

This is essentially complete. I need to make sure the opkg is built correctly and I need to test it to see what happens if there are no app description files.

Other than that, it seems ready to test on the media server.

Then I need to remove the panel from pmsui and decide on how this app will get started: by xinitrc or by appMgr.

Actions #9

Updated by Hammel about 7 years ago

  • % Done changed from 70 to 60

Launcher had some problems on the target board that didn't show up on my desktop. Apparently Cairo isn't happy with non-square PNGs on ARM but is okay with them on Intel. But that's fixed now.

So the launcher is running correctly. Time to figure out how to start it via the appMgr.

Actions #10

Updated by Hammel about 7 years ago

The easiest way to do this would be to have pmsui/src/config/etc/X11/desktop.sh test for launcher after it starts appmgr. If launcher is found, use appmgr.sh to tell appmgr to start launcher. If launcher is not found then mbdock.session- (which is the existing mbdock.session renamed in pmsui) should be linked to mbdock.session so the panel will be used instead. That gives me a fallback until I'm satisfied with launcher's integration with the entire desktop.

Actions #11

Updated by Hammel about 7 years ago

  • Severity changed from 03 - Medium to 01 - Critical
Actions #12

Updated by Hammel almost 7 years ago

Now that I know how to get X started without a required restart to get keyboards working I can drop the X.org restart button.

In fact, I can have just the following app icons:
1. Network Config (via launcher)
2. System Config (date, time, etc.) (via launcher)
3. VideoFE (via VideoFE)
4. Terminal (via launcher)
5. Reboot (via launcher)

Eventually I'll have other icons: TV, Music, Photos, etc.

The launcher should have have a 2x3 layout for the current 5 apps. And launcher's config file should have a preferred location element added so I can order them better.

Actions #13

Updated by Hammel almost 7 years ago

  • Status changed from In Progress to Closed
  • % Done changed from 60 to 100

pmsui xinitrc cleaned up to remove matchbox-panel and background image. This goes with cleanup of init scripts to fix the X-restart-to-fix-keyboard input.

appmgr has been updated to run the new launcher app by default. The launcher app is also committed and works well.

This issue is therefore complete. Closing.

Actions

Also available in: Atom PDF