Hello! My name is Sebastian (you can meet me on IRC as dos1), and I'm leader of shr-settings project. My goal is to explain you our mission and tell you, how we will do it.

What is SHR Settings?

SHR Settings is a python-elementary based app, which is supposed to be modular. We want you to do your own modules to it, without messing up with core code. Right now, to display some module it's necessary to change one variable in launcher app, but dynamic loading of modules is on our TODO list.

Our team is tiny now - it has only three people. I'm a leader, because I started this app and uploaded first sources to svn on openmoko.opendevice.org (which is our polish community page). After that, yoyo and hiciu started to messing up with the code. yoyo firstly developed a GSM network selector (which was necessary for him to use his Neo in polish carrier "Play"), and hiciu introduces some pretty object style of modules. Now we are working together on shr-settings in SHR git repository.

So, what is there right now?

Thanks to yoyo, we have pretty and finger-usable categories list on main menu.

Thanks to the modular style, SHR Settings can use different launchers. We were thinking about using Toolbar on top (as in Illume configuration), and about starting only a specific module from command line (if someone wants to integrate our modules with Illume options).

Because of using Elementary for UI, shr-settings looks like whole Illume and others SHR apps, and it's finger usable. For example, turning on/off radios is done by toggles, like in elementary-alarm app or iPhone.

shr-settings is still work in progress. It's still missing some features, it's slow and sometimes implemented badly. Our primary nightmare are slow dbus requests, which are blocking whole UI. We will work on it, I promise :)

Ok, so now I will describe all SHR Settings modules, which are there now.

shr_gsm.py

GSM module now can turn off/on GSM antenna, display available GSM operator and connect to one of it (usable with roaming), and display modem information.

shr_sim.py

SIM module can display information about messages and contacts books on your SIM card, and clean.

(note: part of the SIM module is displayed on the first of GSM screens)

shr_bt.py

Bluetooth module can turn off/on BT antenna, visibility and start/stop bt services (spi, hci). We are planning to write some BT manager here - for sending or receiving files, connecting to PAM network, headsets or HID devices etc.

shr_wifi.py

WiFi module can turn off/on WiFi antenna. There is started some work about WiFi manager here - right now it is scanning networks and displaying button with names :)

shr_gprs.py

Right now it's doing nothing - only looking good ;)

shr_profiles.py

Here you can change active profile in frameworkd. We want to use hoversel instead of toggles in future, and implement some profile manager (changing ring tones, rules etc.)

shr_clock.py

This well-looking clock can provide you easy way to set actual time. Synchronize with... buttons can set correct time automatically. In future, we want to be able to set current date here too.

shr_pm.py

Power settings shows to you information about battery state and allows you to power off, restart of suspend your device.

shr_timeouts.py

Here you can set all frameworkd timeouts - for instance dimming, locking and suspending device. We want to implement easier way to simply disable/enable some timeout (now if you have 30 seconds in suspend, you must click 30 times on "-" button to turn it off).

shr_usb.py

This module is mysterious for SHR users now, because... Probably due to frameworkd bug it's not working. But when it's working, you are able to switch your Neo from device to host mode. In plans we want to implement setting powered mode in host, and ethernet, mass storage or maybe MTP device in device mode.

shr_services.py

Here you have listing of all services in /etc/init.d, which are used in some runlevels. You can stop or start it without playing with console.

Others (shr_test.py, shr_misc.py)

This is playground for our developers :)

And that's all! If you want to write your own module - look at module.py, shr_misc.py and shr_test.py. You should be able to understand, how shr-settings modules are working. And when you finish - commit, or if you don't have access/don't want to have access/something else - send it to me! My mail is seba.dos1@gmail.com. The same with patches - all work on shr-settings is welcomed.

What's next?

To sum up - our primary goal is to provide all basic functionality, mainly based on frameworkd dbus interface. Secondly, we want to make it faster. If you can help in something, we will be happy when you'll do it :) Happy hacking!