Project

General

Profile

Actions

Feature #281

closed

Default X.org interface should be administrative interface

Added by Hammel over 7 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Urgent
Assignee:
Category:
04 - Root File System
Target version:
Start date:
02 Mar 2014
Due date:
% Done:

100%

Estimated time:
Severity:
02 - High

Description

The default X.org interface should be a general administrative interface. It should include:

1. Adding users
2. Setting up network configuration
2.1 Wifi
2.2 HostAP
3. Configuring new USB devices

This will be a complex problem because:
1. It requires a display manager for user logins
2. It currently can't run from the browser interface with Javascript because we don't have a native browser working yet (see RM #172)
3. It isn't clear what UI toolset should be used for this: js+web server, GTK+, nodejs, etc.

If I can't get the browser working it's possible I could get node.js with an X11 interface running. nodejs is supported in Buildroot 2013.11 but it's unclear how much of my existing Javascript from the web interface would have to be rewritten. Then again, the fastest way with little ramp-up is to just extend bui-network-config or create an environment where it's just one of the possible tools available.


Files

mbdock.session (251 Bytes) mbdock.session left side panel configuration Hammel, 12 Apr 2014 13:22
mbdock.session.2 (44 Bytes) mbdock.session.2 bottom side panel configuration Hammel, 12 Apr 2014 13:22
xinitrc (269 Bytes) xinitrc Startup applications (current config, but likely to change) Hammel, 12 Apr 2014 13:22
IconNetwork.png (6.35 KB) IconNetwork.png Network Icon Hammel, 12 Apr 2014 13:22
IconUSB.png (5.5 KB) IconUSB.png USB configuration icon Hammel, 12 Apr 2014 13:22
IconUser.png (5.67 KB) IconUser.png User configuration icon Hammel, 12 Apr 2014 13:22
Actions #1

Updated by Hammel over 7 years ago

  • Target version changed from 1.0 - Atreides to 0.9.0

Targeting for 0.9.0.

Actions #2

Updated by Hammel over 7 years ago

  • Priority changed from Normal to Urgent
  • Severity changed from 03 - Medium to 02 - High
Actions #3

Updated by Hammel over 7 years ago

I now have a configuration for Matchbox that is a good start, sans a nice theme.
  1. Left side panel for icon navigation (network configuration, users and USB)
  2. Bottom panel for a clock, right aligned (left aligned menu will go away).
  3. Icons for all navigation in a new opkg: piboxtheme (theme is TBD)
  4. xinitrc that launches bui-network-config

The left side navigation should launch its application and then kill the one that was running. This will reduce the load on the board and keep application display smoothly switching from one application to another. It might be useful to has a daemon handling the switching between applications, which would make it easier to create my own desktop paradigm.

Attached are the relevant files. Here are the icons I created for this configuration.

Network Icon
USB configuration icon
User configuration icon

Actions #4

Updated by Hammel over 7 years ago

I've cleaned it up a bit and added a Cycle icon which will be used to restart X (needed sometimes to get keyboard input working) and the computer.

Some links for setting up GTK+ themes:

Also refer to the Matchbox issue (RM #306).

Place an existing theme under /root/.themes and try it, just to see what I get. Or try this. Or this. Or this.

Actions #5

Updated by Hammel over 7 years ago

  • % Done changed from 20 to 30

Got GTK+ 2.0 themes working. All that's required is to point /root/.gtkrc to the theme's gtkrc file. If pixmaps can't be found then you add

pixmap_path "/path/to/themename/gtk/"

to the top of the file.

I also have to add the following to the S90UI init script

export GTK2_RC_FILES=/root/.gtkrc

Now I just need to decide on a gtk theme and put it into an opkg.

Actions #6

Updated by Hammel over 7 years ago

I've found two gtk themes that I like:
  1. MurrinaMirev2-lime (from Mire V2)
  2. CarbonGold

The MurrinaMire theme is one single gtkrc file and serves as a useful starting point for creating my own theme (it even has green accents). I've already discovered how to increase the font size and how to integrate existing fonts on the system (like RPi Userland's Vera.ttf) that the X server doesn't pick up automatically.

The CarbonGold theme is far more artistic but might be overkill. I really just want a nice dark theme where the UI components stand out and are reasonably sized on up to a 20" monitor.

I have a working theme that I'm going to put into an opkg.

Actions #7

Updated by Hammel over 7 years ago

  • % Done changed from 30 to 40

I've reverted the main tree to blackbox (PiBox Development Platform) and created an opkg for PiBox Media Server. Now I need to test both to make sure they work correctly. I'll have to start with a complete rebuild of the rootfs, then add the opkg.

After that is done I'll need to create UIs for managing users and USB devices. The latter will grab info from lsusb and then show which ones have drivers specified for them. The result will be an update to /etc/usbhandler.conf, or possibly a secondary file on the SD card that usbhandler.sh will also need to parse.

Actions #8

Updated by Hammel over 7 years ago

  • % Done changed from 40 to 60
Tested a rebuilt rootfs with the pmsui opkg. Some things I noted.
  1. /etc/matchbox/mbdock.session is referencing icons in /root instead of /usr/share/themes/PiboxMediaServer/matchbox/
  2. S90UI needs to copy /etc/matchbox/mbdock.session* to /root/.matchbox on startup. This requires a test for a handler script in S90UI that will be run if found. The handler script will copy these files every time to prevent accidental muck up of the ones in /root/.matchbox.
  3. The opkg does chown on some files/dirs but this causes an error to be printed saying those don't exist (even though they do exist).
  4. The xinitrc is not being backed up by the opkg installation script.

Other than that, things seem in pretty good shape. The PiBox Dev Platform comes up in the default blackbox config and the opkg (after minor tweaks) takes it into the PMS config.

Actions #9

Updated by Hammel over 7 years ago

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

All fixes to opkg and the dev platform are tested, checked in and pushed upstream.

This issue can be closed.

Actions

Also available in: Atom PDF