Feature #281
closed
Default X.org interface should be administrative interface
Added by Hammel over 10 years ago.
Updated over 10 years ago.
Category:
04 - Root File System
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
- Target version changed from 1.0 - Atreides to 0.9.0
- Priority changed from Normal to Urgent
- Severity changed from 03 - Medium to 02 - High
I now have a configuration for Matchbox that is a good start, sans a nice theme.
- Left side panel for icon navigation (network configuration, users and USB)
- Bottom panel for a clock, right aligned (left aligned menu will go away).
- Icons for all navigation in a new opkg: piboxtheme (theme is TBD)
- 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.
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.
- % 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.
I've found two gtk themes that I like:
- MurrinaMirev2-lime (from Mire V2)
- 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.
- % 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.
- % Done changed from 40 to 60
Tested a rebuilt rootfs with the pmsui opkg. Some things I noted.
- /etc/matchbox/mbdock.session is referencing icons in /root instead of /usr/share/themes/PiboxMediaServer/matchbox/
- 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.
- 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).
- 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.
- 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.
Also available in: Atom
PDF