Unrestricted-system-ui
unrestricted-system-ui is a modified system-ui package that allows developers and users to load plugins the Harmattan status menu.
Contents |
How to install
To install unrestricted-system-ui you will need to have Inception or an open mode kernel installed.
PR1.3
N9 Users
Inception method
wget http://mohammadag.xceleo.org/public/Harmattan/system-ui_1.3.2-1+0m8_armel.deb -O system-ui_1.3.2-1+0m8_armel.deb /usr/sbin/incept system-ui_1.3.2-1+0m8_armel.deb #enter root pass
Open mode method
devel-su #enter pass wget http://mohammadag.xceleo.org/public/Harmattan/system-ui_1.3.2-1+0m8_armel.deb -O system-ui_1.3.2-1+0m8_armel.deb export AEGIS_FIXED_ORIGIN=com.nokia.maemo dpkg -i system-ui_1.3.2-1+0m8_armel.deb
N950 Users
As of the last edit, PR1.3 is not available for the N950.
PR1.2
N9 Users
Inception method
wget http://mohammadag.xceleo.org/public/Harmattan/system-ui_1.2.24-2+0m7_armel.deb -O system-ui_1.2.24-2+0m7_armel.deb /usr/sbin/incept system-ui_1.2.24-2+0m7_armel.deb #enter root pass
Open mode method
devel-su #enter pass wget http://mohammadag.xceleo.org/public/Harmattan/system-ui_1.2.24-2+0m7_armel.deb -O system-ui_1.2.24-2+0m7_armel.deb export AEGIS_FIXED_ORIGIN=com.nokia.maemo dpkg -i system-ui_1.2.24-2+0m7_armel.deb
N950 Users
Inception method
wget http://mohammadag.xceleo.org/public/Harmattan/system-ui_1.2.23-1+0m7_armel.deb -O system-ui_1.2.23-1+0m7_armel.deb /usr/sbin/incept system-ui_1.2.23-1+0m7_armel.deb #enter root pass
Open mode method
devel-su #enter pass wget http://mohammadag.xceleo.org/public/Harmattan/system-ui_1.2.23-1+0m7_armel.deb -O system-ui_1.2.23-1+0m7_armel.deb export AEGIS_FIXED_ORIGIN=com.nokia.maemo dpkg -i system-ui_1.2.23-1+0m7_armel.deb
Removing the alarms plugin
Nokia seem to have included an unfinished applet that opens the clock app, to hide it, you may move the .desktop file
devel-su #enter root pass mv /usr/share/meegotouch/applicationextensions/statusindicatormenu-alarms.desktop /usr/share/meegotouch/applicationextensions/statusindicatormenu-alarms.disabled
To make it visible again:
devel-su #enter root pass mv /usr/share/meegotouch/applicationextensions/statusindicatormenu-alarms.disabled /usr/share/meegotouch/applicationextensions/statusindicatormenu-alarms.desktop
Enabling battery percentage in status area
To enable battery percentage you'll need to set a gconf key:
gconftool-2 -s /desktop/meego/status_area/display_percentage -t bool true
To disable it, replace true with false in the previous command.
Plugins
Here is a list of plugins currently available for unrestricted-system-ui:
- Brightness applet
- Hacky Brightness Controller
- MT-Toggles | A toggles platform
- Quick Status Updater
- Music Controls | A player controls platform
- PresenceX | A online/offline availability widget
Developers
Developers who plan to make status menu plugins should have unrestricted-system-ui in their debian/control Depends: line, this is to prevent user confusion and make it easier for the developer to support the user.
Plugins need to be installed in /usr/lib/meegotouch/applicationextensions/
.desktop files for the plugins need to be installed in /usr/share/meegotouch/applicationextensions
Please follow this naming scheme so it's easier for the user to distinguish plugins.
For the lib: libstatusindicatormenu-foobar.so
For the desktop file: statusindicatormenu-foobar.desktop
where foobar can be replaced with anything.
Here's a sample .desktop file
[Desktop Entry] Type=X-MeeGoApplicationExtension Name=Foo Bar Status menu plugin [X-MeeGoApplicationExtension] Interface=com.meego.core.MStatusIndicatorMenuExtensionInterface/1.0 Extension=libstatusindicatormenu-foobar.so
You will need to restart the status menu in postinst and postrm. Refer to the section below (as root) for how to do that.
Rearranging status menu plugins
As of the latest version, unrestricted-system-ui allows you to rearrange items in the status menu through a config file.
The file is /etc/status-menu-items-order.conf
Items that aren't in the file will be loaded in alphabatical order.
After modifying the file with your favorite text editor, you'll need to restart the status menu (see below)
.desktop file names can be found with
for files in $(ls /usr/share/meegotouch/applicationextensions/statusindicatormenu-*desktop); do basename "$files"; done
Restarting the status menu
At certain times, you may want to restart the status menu. Please be aware that restarting it successively may result in a reboot (by dsme/watchdog). You can restart the applet as user or root, the method to do that differs for each user.
As root
/sbin/initctl restart xsession/sysuid
As user
killall sysuid
Safe Mode
As of 25.07.2012, unrestricted-system-ui has a safe mode feature, this prevents your device from going into a boot loop, caused for example, by a faulty plugin.
This feature had some bugs, a reboot would cause it to show up because system-ui crashes once every startup (thanks to Nokia), this was fixed in a version released on 03.08.2012
To get out of safe mode, tap the applet and follow the on screen instructions.
If trying to exit safe mode fails the first time, try to uninstall plugins you've recently installed and exit safe mode again. Keep doing this until safe mode doesn't come back.
[Technical details]: system-ui enters safe mode when it receives SIGSEGV or SIGABRT, it does this by writing a file to /tmp (system-ui-crashed and system-ui-crashed-again), if the first file exists when system-ui crashes, the second one will be created. unrestricted-system-ui checks for the second file at startup, if it exists, it restores Nokia's limitation while allowing another applet, the safe mode one, to show. To exit safe mode, the applet deletes both files and kills system-ui to restart it.