Some time ago raster added a ConnMan module to e17, but then the API broken during 0.5 transition and I rewrote that module. With ConnMan-1.0 the API was changed yet again and our module stopped working.
Lucas De Marchi took the task to revive the module and he is still finishing this task… let’s say Enlightenment’s internal widget set (e_widget) is something that can get everyone bored to death! Also the new ConnMan API requires an Agent interface to reply with passwords, usernames and other input that the manager may need. This code was not written before, so these new API and GUI must be written.
Until Lucas can finish his work I took a weekend to play with my favorite language: Python. I was away from Python-EFL for a while, so I was wanting to write some code using it. Python-DBus is super-simple (compare it to C!), so the EConnMan in Python-EFL was a nice thing to play.
We’ll cooperate efforts: E17 module will only provide the services list and allow to connect and disconnect. It will also provide an Agent, so we can provide passwords. Everything else that is related to configuration will be left to stand-alone “econnman” application. This standalone will do the tweaks and show details such as IP and MAC addresses, proxy, tethering and others.
In less than two days I had the base of the code I’m releasing now. It supports everything I need (IOW: it does not support VPN, Bluetooth-PAN or 3G/Cellular), but it’s easy to extend to support new features…. so patches are welcome!
My delay to have it released was that I wanted to improve theme (both default and detourious) so it look better, as you can see in the screenshots. It’s still not perfect, particularly the “Segment Control” used to show mutually exclusive options (DHCP, Static, Off) is damn ugly!
It also ships with an optional agent (–agent/-a command line option) that can be used until E17 gets a proper module with agent support.
- Tarball: http://packages.profusion.mobi/econnman/econnman-1.tar.gz
- Repository: http://svn.enlightenment.org/svn/e/trunk/econnman/
Some people want IPv6, Proxy and VPN support. Those are nice ideas, but I personally don’t need them. So I’d like some people that use them to step up and do the code… or at least push me to do them!
Some people want to rewrite it in C and while I can sponsor the idea, it will be much more work for no real gain. With a Python version working one can do the conversion easily, even the helper structures and callbacks can be known beforehand…