[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openmoko-shr-devel
Subject:    [Shr-devel] [Blog] SHR Settings
From:       seba.dos1 () gmail ! com (Johny Tenfinger)
Date:       2009-01-25 20:57:33
Message-ID: c30e08170901251257j6de4ae55vef23c8ba607d9014 () mail ! gmail ! com
[Download RAW message or body]

This is a content of blog entry at
http://blog.shr-project.org/2009/01/shr-settings.html

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.

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 at 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
(http://shr-project.org/trac/wiki/Draft:SHRSettingsApp). Happy
hacking!


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic