Hi All,

This email will be rather long - it pertains to the weather plugin for
LXPanel.

A bit of a summary:

I put together a custom widget which shows the current weather
conditions for a configured location. The functionality has been wrapped
in an LXPanel plugin [3] or a standalone application [4] [4.1] (which
provides the LXPanel plugin library, in case the functionality is not
accepted upstream, but the plugin is deemed useful).

I would appreciate the community's feedback and would like to ask for
the plugin to be included in mainline LXPanel source.

Some background and details:

I looked through a couple implementations of a weather applet [1] and
[2] just to get an idea of what type information people would like to
get from a weather app. I ended up using the Yahoo! Weather service as
in [2] (it seems to be relatively accurate, but due to multiple server
locations, the forecast for a given location on one server may be more
up-to-date than on another server - a few minute delay).

Given that LXDE is a lightweight desktop, I tried to make everything as
efficient as possible and not use 'bulky' dependencies. The only
additional dependency, other than the standard glib/gtk+ libraries, is
libxml2. It is used to retrieve (using the nanoHTTP client) and parse
the location and forecast information as made available by Yahoo!.
I realize there are purists out there who might say even that is too
much for LXPanel, so, in addition to the weather plugin [3], I used the
same backend implementation to create a standalone weather application
[4] [4.1].

Link [3] also contains an initial version of the Polish translation for
the dialogs and messages as seen in the applet.

While the applet/plugin uses the LXPanel configuration file and layout,
the application uses a glib-style key-value group file (created in
$HOME/.config/lxweather/ and named 'config').

I meant (and still do want) to document the interactions between the
user and the application, but for now, screenshots will have to do.
This [5] is what the plugin looks like once a location is configured.
Similarly, this [6] is what the application shows (the only difference
being that the app does NOT have the current temperature listed next to
the icon).

The configuration dialog is available through a right-click [7]. Current
conditions can be seen by left-clicking on the icon/widget [8].

I tested the application and plugin on a Fedora 16_64 LXDE spin and the
plugin itself on a Lubuntu 12.04 VM. While I think I fixed the most
pressing bugs, I would appreciate any help with reviewing the code and
letting either myself, or, if the plugin is accepted to LXPanel
upstream, the list know if there are any issues with it.

Thanks, and best wishes.

Good luck as the maintainer of LXPanel, Henry!

Piotr

[1]: http://git.xfce.org/panel-plugins/xfce4-weather-plugin/
[2]: https://github.com/simon04/gnome-shell-extension-weather
[3]: https://github.com/psipika/lxpanel.git weather_plugin-dev branch
[4]: https://github.com/psipika/lxweather.git
[4.1]: While the application will show forecast for multiple locations,
at this time it is only possible to add/remove locations through the
configuration file. It's a TODO item...
[5]: http://img35.imageshack.us/img35/8615/pluginwithtooltip.png
[6]: http://img842.imageshack.us/img842/676/applicationwithtooltip.png
[7]: http://img820.imageshack.us/img820/7350/weatherpreferences.png
[8]: http://img94.imageshack.us/img94/7154/currentconditions.png

Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS
and more. Get SQL Server skills now (including 2012) with LearnDevNow -
200+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only - learn more at:
http://p.sf.net/sfu/learnmore_122512
_______________________________________________
Lxde-list mailing list
Lxde-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxde-list

Reply via email to