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 modules it's necessary to change one variable in the 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 the first source files to svn on openmoko.opendevice.org (which is our polish community page). After that, yoyo and hiciu started messing 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 introduced some pretty object modules system. 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 the top (as in Illume configuration), and about starting only a specific module from the command line (if someone wants to integrate our modules with Illume options).
Because we're using Elementary for UI, shr-settings looks like all Illume and other SHR apps, and it's finger usable. For example, turning on/off radios is done by toggles, like in elementary-alarm app or on the iPhone.
shr-settings is still work in progress. It's still missing some features; it's slow and sometimes implemented badly. Our primary nightmare is 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
The GSM module now can turn off/on GSM antenna, display available GSM operator and connect to one of them (useful with roaming), and display modem information.
shr_sim.py
The SIM module can display information about messages and contact books on your SIM card, and clean all entries from them.
(note: part of the SIM module is displayed on the first of GSM screens)
shr_bt.py
The 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
The WiFi module can turn off/on WiFi antenna. We have only started work on the WiFi manager - 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 widget instead of toggles in future, and implement some profile manager (changing ring tones, rules etc.)
shr_clock.py
This good-looking clock can provide you an easy way to set actual time. Synchronize with... buttons can set correct time automatically. In future, we want to be able to set the 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 an 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 future 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 the 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 :) You can give your thoughts on trac. Happy hacking!