Advanced SystemUI

SystemUI replacement for the Nokia N8x0 tablets
asui project page

Buttons Widgets Keys Status Bar Applet Flashlight Alarm Popup Clock
Themes Services Charging Settings Testing DBus

Replaces the SystemUI menu (opened with power button) with a fullscreen app containing large finger friendly buttons. It also adds many more features not available in SystemUI, including features from advanced-backlight, advanced-power, load-applet and switch on BT. Those apps use 10-15 megs of memory, Advanced SystemUI uses less than 3 megs.

Warnings and anything that could be draining the battery faster is colored with red.

Buttons/widgets with a blue marker in the lower left corner can be pressed, this marker is disabled by default. Buttons/widgets with an orange marker in the upper left corner can be long pressed to access a secondary function. A long press takes one second and is highlighted orange when ready to be released.

Buttons ignore all taps while they are blue and 500ms after. The lock button, slider step buttons and slider dragging do not use this feature. This prevents activating and then deactivating hardware or a service when accidentally pressing it twice. Other buttons can still be pressed while one is performing its action and they will be processed when it is finished.

Secure button is disabled by default but can be enabled via the user interface section in the ASUI settings app. ASUI will automatically lock the device if enabled in control panel, regardless of the secure button visibility. The device will autolock after the screen has been off for the timeout period. Make sure this is disabled in the control panel if you don't want it. The keypad will timeout for 30 seconds after every three failed attempts The secure keypad shifts around the screen to prevent smudge detection and deter robots that brute force the code. :)

Optional Telescope Keys
The fullscreen and volume hardware keys can be used to invoke user-defined actions in Telescope's window thumbnail view. Edit /etc/telescope.keys and add these three lines:

press(F6): shell(/usr/bin/asui show)
press(F7): shell(/usr/bin/asui right)
press(F8): shell(/usr/bin/asui left)

And then run /etc/init.d/telescope-svc restart as root to restart it. The fullscreen key (F6) will now map ASUI and the volume keys (F7 and F8) will rotate the screen left or right.



Status Bar Applet
The power button applet provides an on-screen button to open ASUI without using the hardware power button. Open ASUI Settings and uncheck the show battery status under the battery section to transform the battery applet into the power button applet.

normal pressed

The battery applet opens ASUI like the power button applet but also shows the battery level and charging status. The power button icon is displayed until the applet has queried battery status and capacity from ASUI. Battery levels are 100-89%, 88-77%, 76-65%, 64-53%, 52-41%, 40-29%, 28-17% (yellow), 16-5% (red) and 4-0% (red). Charging icons are animated and switch to the solid green icon when completely charged and still on charger.

chargedcharging battery level

Drain rate is shown as an arrow above the battery icon and indicates current power usage of the device. The arrow is green and pointing downward when charging. The arrow points up when draining and changes color based on rate: <150 mA (gray: greater than 10 hours), <214 mA (yellow: 7-10 hours), <375 mA (orange: 4-7 hours), >=375 mA (red: less than 4 hours).

charging draining

BME requests might block indefinitely causing statusbar and desktop applets to freeze. You will need to use ASUI to kill hildon-desktop and then open control panel - panels - status bar, and click OK to restore applets. Disable drain indicator in settings if this is a problem.

CPU usage is shown below the battery or power icons and updates every 2.5 seconds.




WiFi and bluetooth status is shown on either side of the battery icon. WiFi icon disappears when in flight mode, is gray when disconnected and white when connected. WiFi icon will cycle between gray and white when connecting or disconnecting. Bluetooth icon disappears when off, turns white when on and blue when connected. A small indicator appears above the bluetooth icon when in discoverable mode.

wifi bluetooth bluetooth visible

Low battery warning sound and notification is sent at 16%, 10% and 4%. Very low battery warning sound and notification is sent upon receiving the low battery signal, before device shutsdown.

Menu/Launcher Icon
The default Diablo5 icon used for the application menu and Telescope launcher uses six squares and fills the entire statusbar button. The icon below only has four squares and has 7 pixels of padding on each side. Download the icon to /usr/share/icons/Diablo5/40x40/hildon, run chmod 644 /usr/share/icons/Diablo5/40x40/hildon/qgn_grid_tasknavigator_others.png, run gtk-update-icon-cache -f /usr/share/icons/Diablo5 and then reboot or restart the menu/launcher statusbar applet. This doesn't overwrite any Diablo5 files and will survive upgrades of the theme.

>>


Flashlight
The fullscreen hardware button changes screen to solid white and full brightness. Press it again to turn off. The display will not blank while flashlight is active.


Alarm
ASUI will open an alarm dialog when it receives the signal from alarmd. If the screen is off or locked it will be turned on and unlocked while the alarm is sounding but relocks when closed.

If the screen won't dim or blank it could be caused by alarmd keeping it on. Use the service section in ASUI settings to restart Alarm Dispatcher and then Machine Control Entity. If that doesn't work try stopping Alarm Dispatcher, restart Machine Control Entity and then start Alarm Dispatcher.


Popup Clock
When enabled, a small clock window with battery status will appear briefly when the screen is turned on. It can also be shown each time ASUI is mapped or never while ASUI is mapped except when secure keypad is active. Tapping the popup window will close it early and tapping outside the window when ASUI is mapped will also close the popup.

Taps outside the clock window while ASUI is not mapped will be sent to the visible app and will not close the popup.


Themes
User-defined color themes can be selected in the user interface section of the settings. Two color sets are supported for ALS auto-switching or just to have two themes available for quick manuall switching. Look at the /etc/asui-themes/default.bw file for information on writing your own. Custom themes should be placed in /home/user/.asui-themes/.


Services
Groups of services can be stopped when not needed and reduce memory usage. The total resident size (in megabytes) for all running services is displayed in the lower right corner of each group. Groups that are stopped but still show used memory contain some services that can't be stopped.

All services in this group are running, tap to stop
All services in this group have been stopped, tap to start
Some services in this group are running but not all, tapping the green square will attempt to start all and tapping the gray square will stop them

If double tap is enabled then services require a double tap to start or stop but only require a single tap when in their yellow state.

Service Management
The settings app can start, stop and restart Advanced SystemUI or SystemUI and also control which one starts at boot. It also displays a list of all installed services and allows them to be disabled at boot, started, stopped and restarted. Important system services are grayed out to prevent them from being disabled and resulting in an unbootable system.


Charging while shutdown
The service is started with a minimal interface when the device is shutdown but connected to the charger. Only battery status, temperature and clock is displayed and the touchscreen and hardware buttons are not usable. Holding down the power button will boot the device and disconnecting the charger will turn it back off as it does without ASUI installed.


Settings
The secondary widget page (swipe along button bar or press home key) has a button to open the settings app. Changing a setting sends a signal to ASUI so it can reconfigure itself immediately. You can also use gconf-editor to change the settings in the /apps/asui directory but do not modify anything in the /apps/asui_state directory. You will need to manually restart ASUI or run asui reload after using gconf-editor.

Volume and brightness hardware keys are only available from the main screen when the scrollers are visible. Rotation will not work from the process viewer when bound to the up/down keys since they are used to scroll the list.


Testing
The asui command must be run as root and automates the process of downloading, running and installing test and debug builds. Run it without any arguments to see a list of available commands. The first group of commands do not require root access.

Syntax: asui <command>

The test builds contain bug fixes and new features not yet available in the released packages. The debug builds are the same as the testing builds but also contain debugging symbols and they generate timestamped log files (in the /root directory) useful for pinpointing bugs. If you find a reproducible bug, install the debug build, wait for the bug to happen and then send me the log file.

	Run: asui dd ; asui id
	Wait for bug... send log
	Run: asui r

The bug might also have been fixed in a testing build and you can just run asui dt ; asui it to switch over to it.

ASUI Settings (GTK)
The config button on the secondary widget page launches an external GTK app to configure ASUI's settings. Test versions of this app can be downloaded, run and installed with the asui convenience script. ASUI will always launch the downloaded copy over the installed copy so you should use the asui ps command to purge the test binary if you don't want to install it. Installing the test binary will automatically purge it.


DBus