Unrestricted-system-ui

(Plugins)
(Inception method)
 
(15 intermediate revisions not shown)
Line 3: Line 3:
== How to install ==
== How to install ==
To install unrestricted-system-ui you will need to have [https://endno.de/~itsnotabigtruck/inception/ Inception] or an open mode kernel installed.
To install unrestricted-system-ui you will need to have [https://endno.de/~itsnotabigtruck/inception/ Inception] or an open mode kernel installed.
 +
 +
Note that in the instructions below ''wget'' is used to download packages. You can install it with apt-get like so:
 +
<source lang="bash">
 +
devel-su # enter root password
 +
apt-get install wget
 +
</source>
== PR1.3 ==
== PR1.3 ==
=== N9 Users ===
=== N9 Users ===
===== Inception method =====
===== Inception method =====
 +
<source lang="bash">
<source lang="bash">
-
wget http://mohammadag.xceleo.org/public/Harmattan/system-ui_1.3.2-1+0m8_armel.deb
+
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
/usr/sbin/incept system-ui_1.3.2-1+0m8_armel.deb #enter root pass
</source>
</source>
 +
 +
More info on [[Inception]]
===== Open mode method =====
===== Open mode method =====
<source lang="bash">
<source lang="bash">
devel-su #enter pass
devel-su #enter pass
-
wget http://mohammadag.xceleo.org/public/Harmattan/system-ui_1.3.2-1+0m8_armel.deb
+
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
export AEGIS_FIXED_ORIGIN=com.nokia.maemo
dpkg -i system-ui_1.3.2-1+0m8_armel.deb
dpkg -i system-ui_1.3.2-1+0m8_armel.deb
Line 27: Line 36:
===== Inception method =====
===== Inception method =====
<source lang="bash">
<source lang="bash">
-
wget http://mohammadag.xceleo.org/public/Harmattan/system-ui_1.2.24-2+0m7_armel.deb
+
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
/usr/sbin/incept system-ui_1.2.24-2+0m7_armel.deb #enter root pass
</source>
</source>
Line 34: Line 43:
<source lang="bash">
<source lang="bash">
devel-su #enter pass
devel-su #enter pass
-
wget http://mohammadag.xceleo.org/public/Harmattan/system-ui_1.2.24-2+0m7_armel.deb
+
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
export AEGIS_FIXED_ORIGIN=com.nokia.maemo
dpkg -i system-ui_1.2.24-2+0m7_armel.deb
dpkg -i system-ui_1.2.24-2+0m7_armel.deb
Line 42: Line 51:
===== Inception method =====
===== Inception method =====
<source lang="bash">
<source lang="bash">
-
wget http://mohammadag.xceleo.org/public/Harmattan/system-ui_1.2.23-1+0m7_armel.deb
+
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
/usr/sbin/incept system-ui_1.2.23-1+0m7_armel.deb #enter root pass
</source>
</source>
-
==== Open mode method ====
+
===== Open mode method =====
<source lang="bash">
<source lang="bash">
devel-su #enter pass
devel-su #enter pass
-
wget http://mohammadag.xceleo.org/public/Harmattan/system-ui_1.2.23-1+0m7_armel.deb
+
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
export AEGIS_FIXED_ORIGIN=com.nokia.maemo
dpkg -i system-ui_1.2.23-1+0m7_armel.deb
dpkg -i system-ui_1.2.23-1+0m7_armel.deb
Line 55: Line 64:
-
=== Removing the alarms plugin ===
+
== 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
Nokia seem to have included an unfinished applet that opens the clock app, to hide it, you may move the .desktop file
<source lang="bash">
<source lang="bash">
-
devel-su #etner root pass
+
devel-su #enter root pass
mv /usr/share/meegotouch/applicationextensions/statusindicatormenu-alarms.desktop /usr/share/meegotouch/applicationextensions/statusindicatormenu-alarms.disabled
mv /usr/share/meegotouch/applicationextensions/statusindicatormenu-alarms.desktop /usr/share/meegotouch/applicationextensions/statusindicatormenu-alarms.disabled
</source>
</source>
Line 64: Line 73:
To make it visible again:
To make it visible again:
<source lang="bash">
<source lang="bash">
-
devel-su #etner root pass
+
devel-su #enter root pass
mv /usr/share/meegotouch/applicationextensions/statusindicatormenu-alarms.disabled /usr/share/meegotouch/applicationextensions/statusindicatormenu-alarms.desktop
mv /usr/share/meegotouch/applicationextensions/statusindicatormenu-alarms.disabled /usr/share/meegotouch/applicationextensions/statusindicatormenu-alarms.desktop
</source>
</source>
 +
 +
== Enabling battery percentage in status area ==
 +
To enable battery percentage you'll need to set a gconf key:
 +
<source lang= "bash">
 +
gconftool-2 -s /desktop/meego/status_area/display_percentage -t bool true
 +
</source>
 +
To disable it, replace true with false in the previous command.
== Plugins ==
== Plugins ==
Here is a list of plugins currently available for unrestricted-system-ui:<br>
Here is a list of plugins currently available for unrestricted-system-ui:<br>
*[http://talk.maemo.org/showthread.php?p=1214014#post1214014 Brightness applet]<br>
*[http://talk.maemo.org/showthread.php?p=1214014#post1214014 Brightness applet]<br>
 +
*[http://talk.maemo.org/showthread.php?t=85165 Hacky Brightness Controller]<br>
*[http://talk.maemo.org/showthread.php?t=84725 MT-Toggles | A toggles platform ]<br>
*[http://talk.maemo.org/showthread.php?t=84725 MT-Toggles | A toggles platform ]<br>
*[http://talk.maemo.org/showthread.php?t=84912 Quick Status Updater]<br>
*[http://talk.maemo.org/showthread.php?t=84912 Quick Status Updater]<br>
*[http://talk.maemo.org/showthread.php?p=1237566#post1237566 Music Controls | A player controls platform]<br>
*[http://talk.maemo.org/showthread.php?p=1237566#post1237566 Music Controls | A player controls platform]<br>
 +
*[http://talk.maemo.org/showthread.php?t=85163 PresenceX | A online/offline availability widget]<br>
== Developers ==
== Developers ==
Line 116: Line 134:
=== As root ===
=== As root ===
<source lang="bash">
<source lang="bash">
-
/sbin/stop xsession/sysuid
+
/sbin/initctl restart xsession/sysuid
-
/sbin/start xsession/sysuid
+
</source>
</source>
Line 124: Line 141:
killall sysuid
killall sysuid
</source>
</source>
 +
 +
== 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.<br>
 +
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<br>
 +
To get out of safe mode, tap the applet and follow the on screen instructions.<br>
 +
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.<br>
 +
=== Technical details ===
 +
system-ui enters safe mode when it receives SIGSEGV or SIGABRT, it does this by writing two files to /tmp (system-ui-crashed and system-ui-crashed-again), the second file is a workaround to system-ui crashing at startup, 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.
 +
[[Category:N9]]

Latest revision as of 10:53, 23 February 2013

unrestricted-system-ui is a modified system-ui package that allows developers and users to load plugins the Harmattan status menu.

Contents

[hide]

[edit] How to install

To install unrestricted-system-ui you will need to have Inception or an open mode kernel installed.

Note that in the instructions below wget is used to download packages. You can install it with apt-get like so:

devel-su # enter root password
apt-get install wget

[edit] PR1.3

[edit] N9 Users

[edit] 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

More info on Inception

[edit] 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

[edit] N950 Users

As of the last edit, PR1.3 is not available for the N950.

[edit] PR1.2

[edit] N9 Users

[edit] 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
[edit] 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

[edit] N950 Users

[edit] 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
[edit] 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


[edit] 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

[edit] 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.

[edit] Plugins

Here is a list of plugins currently available for unrestricted-system-ui:

[edit] 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.

[edit] 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

[edit] 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.

[edit] As root

/sbin/initctl restart xsession/sysuid

[edit] As user

killall sysuid

[edit] 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.

[edit] Technical details

system-ui enters safe mode when it receives SIGSEGV or SIGABRT, it does this by writing two files to /tmp (system-ui-crashed and system-ui-crashed-again), the second file is a workaround to system-ui crashing at startup, 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.