- show last refresh time in tooltip
- on error, keep retrying with increasing interval
- plasmafied tooltips
A few years ago, back in 2007 when I started using Linux as my primary operating system, I had a few itches to scratch because I missed my handy windows utility programs I’d become grown to. One of those utilities was TCPView which monitors incoming and outgoing TCP connections.
Hence, a new project was born: KonnectionMonitor. It’s goal was to mimic the TCPView utility on Linux/KDE.
Learning the /proc filesystem, I was amazed how easy it was to write such program. I’m not sure if it is the ideal way, but it works. Packaging seemed less easy though. Nowadays we have a fully fledged opensuse build service and kde-apps.org integrating with it which makes publishing your soft a lot easier. I already gained some experience packaging VocTrainer and Telemeter Plasmoid, so it was only a matter of finding time to package this oldy. It’s baptized with the kind of cheesy name KonnectionMonitor which suggests it is built for KDE, but currently there is no KDE dependency present, so feel free to use it bloatingly-free in other desktop environments.
One remark: if you know TCPView, you will currently miss the close connection command in KonnectionMonitor. I’ve looked into ways on how to implement this on linux and there is no obvious way to do that (there is no api function). The only solution coming close to that, is sniffing the network and sending a RST (reset) packet (which in turn involves some other low level network tricks to be able to send a valid packet to the right host). I’ve already started experimenting with libpcap. It should be doable, stay tuned.
How often did you just miss out on picking up the phone? Just extend the ring time.
For the common Belgian operators:
Base: *61* +32486191933 +32486191933**30#
Mobistar: **61*5555**30# (verified)
Proximus: **61*+32475151516**30# (verified)
I tried it on Mobistar, it works.
Most important improvements are:
- Auto refresh respecting server-side request throttling.
- Asynchronous webservice request prevent plasma from freezing (when webservice time-outs)
Keep in mind: the telenet webservice does not always work.
- added icon
- don’t let theme determine label color
- autorefresh option: takes ticket expiry into account
- deny refresh request when request is in progress
- don’t fetch at startup when configuration is needed
- gui feedback when refreshing
- show usage and next request time in tooltip
- on error, show webservice error message in tooltip
- refresh in separate thread: fixes plasma hang when webservice is out of service
The telemeter plasmoid works for some time now but when I tried to distribute it, I entered packaging hell and things got deferred.. until some guy reminded me about it in the comments.
I could explain how I eventually managed to work around the packaging issue, but I’ll save that for another post
Without further ado, Telemeter plasmoid v0.1 is released, go get it at kde-look.org!
v0.1 / 2011-04-06
- fetch telenet account usage from telemeter webservice using gsoap
- store credentials in plasmoid config or kde wallet
- click on plasmoid to trigger manual refresh (telemeter service protects itself by denying access when too many requests happen consecutively, the plasmoid currently does not prevent you from doing this)
- automatically refreshes at configurable interval
- use Plasma::Meter::AnalogMeter with custom svg for better text positioning