Queen BeeCon Widget

= Overview and Description =



Queen BeeCon Widget (See Talk Thread) is a highly customizable and flexible widget-based multi-instance monitoring, alerting and interactive tool for Maemo 5 Fremantle and the N900.

The Widget is based on the execution of external Shell/OS Commands which can be either as simple as one-liner statements or as complex as articulated shell scripts, which, for example, fetch, parse and aggregate contents retreived from the system, other applications or the Internet.

There are two basic Widget types, Beecons and Snippets:

Beecons are small hexagonal cells whose background color or associated image/icon changes according to the executed Command Exit Status.

Beecons can handle virtually unlimited Command Exit Status:


 * <0 Normally notifying system errors in esecuting the script/command
 * 0 Returned when script/command successfully completes
 * 1 Used to report a warning condition
 * 2 If script/command needs to notify some application error conditions
 * <=126 Other exit status which can be handled for displaying user defined icons/images

Beecons can be either clustered/tiled to represent logically grouped beecons (or "BeeHives" :D ) or stacked to logically connect a parent to children Beecons.

Snippets are normal text/graphic boxes with fixed background color and images which is not influenced by the executed Command Exit Status.

Current Status in Maemo Repositories
(v0.1.4 extras-devel / v0.1.4 extras-testing)

= Features List =


 * Widget can be multi-instantiated, disabled and minimized on desktop (click on minimized icon on desktop will wakeup and maximize instance)
 * Possibility to define multiple commands and command labels to be displayed inside the Widget
 * Different types of Widget layouts and behaviours (currently Beecons and Snippets)
 * Possibility to hide the background Canvas both for Beecons and Snippets
 * Possibility to use icons/images instead of text both for Beecons/Snippets command title and output (with high positioning, zooming/scaling 5%-200%-FitToWidget versatility) ;)
 * It is possible to indipendently show or hide both snippet's images/texts and beecon images/texts . This way you can have two images and two text placeholders on widget, for more flexibility in graphic layout
 * Independent images/icons for Command Exit Statuses >=3 can also been specified. The display of this extended statuses is driven by Command Exit Status . Useful, for example, for displaying different icons according to percentages values returned by command.
 * Possibility to use different icons/images for Beecon's status output instead of just specific background color (Ex. 0=green led, 1=yellow led, 2=red led) (with high positioning versatility) ;)
 * Nice gummy "button-press"-like visual feedback using Gradient fill
 * Widget relies also on a private general purpose directories "~/.queen_beecon_dir/" & "..../MyDocs/.images/queen_beecon_dir/" as images/icons/etc. immediate storage. For easier population via USB of BLUETOOTH File Services.
 * Widget texts can be formatted through Pango Markup Language
 * Widget Size can be customized (Width: 10-800, Height: 10-420) and position can be fine tuned (X,Y +/- 5pix); Tweaking /usr/share/hildon-desktop/transitions.ini may also help. (snap_grid_size = 1 & snap_to_grid_while_move = 1)
 * Background color for Beecons can be customized for each 4 Command Exit Statuses
 * Background color for Snippets can be customized
 * Font Color of both command label and results can be configured
 * Position and Visibility of both command label and results can be configured (Hidden, Top L, Top C, Top R, Center L, Center, Center R, Bottom L, Bottom C, Bottom R)
 * Font Face of both command label and results can be configured (Nokia Sans, NewCourier, NewTimes, Monospace, Nokia Sans Cn, Nokia Sans Maps, Nokia Sans SemiBold, Sans, Serif, SwissA, Tanseek Pro Arabic, Univers OTS Arabic)
 * Font Style of both command label and results can be configured (Regular, Italic, Bold, Italic Bold)
 * Text Justification of both command label and results can be configured (Left, Center, Right, Fill)
 * Font Size of both command label and results can be configured (8->48)
 * Command execution can be triggered optionally on widget startup, by manual pressing on Widget, by desktop switching , by periodic updates (0=Manual, 30s, 1m, 5m, 30m, 1h, 6h, 12h, 1d)
 * Command execution can be subject to network connection status.
 * Tool includes a powerful Advanced Maintenance Dialog Box for command development and testing (TestDrive mode to display raw output of predefined or user-defined commands)
 * Advanced Maintenance Dialog Box includes extended functionalities like: instance export/import w/ checksum, command export/import w/ checksum, command update with current Test Drive buffer, clipboard operations.
 * A set of basic Images/Icons for Snippets and Beecon Statuses is included inside the distribution package and installed inside canonical hildon hicolor 48x48 directory
 * For Web and Proxy related issue please have a look to THIS post.

Icons in Package


= Settings and Tools =

Advanced Settings and Tools



 * Section A: (Command TestDrive)


 * 1) This is the list of Stored Commands that you can Test Drive; upon entering the dialog box, [1] & [6] are initialized with current Instance command.
 * 2) Use this button to Test Drive the command currently typed in [6]
 * 3) This button will update current instance command with the content of [6] (use it when command is working and thoroughly tested)
 * 4) Will copy to clipboard the command currently in [6]
 * 5) Will paste the clipboard into [6]
 * 6) Read-Write text field; this is the "command input buffer", it is used as extended Test Drive tool for troubleshooting commands with issues
 * 7) Read-Only text field; will display the Exit Status & Output of the command in [6] executed by pressing button [2]


 * Section B: (Commands/Beecons Import/Export processing)


 * 8) Button will export the command currently in [6]. Result of the export will be stored into [14] text buffer
 * 9) Button will import the command currently in [14].
 * 10) Will paste the clipboard into [14]
 * 11) Will copy to clipboard the [14] text buffer
 * 12) Button will import the Beecon/Snippet Instance Data currently in [14]; useful for restoring Beecons of for importing Beecons created by others.
 * 13) Button will export the Beecon/Snippet Instance Data for the current instance. Result of the export will be stored into [14] text buffer; useful for backup of Beecons of for exporting Beecons to others.
 * 14) Read-Write text field; used for temporarily processing export/import of commands and Beecon/Snippet Instance Data

= Known Issues =


 * TBD

= Now-Brewing =

queen-beecon (0.1.5)


 * PR 1.2 Compatibility
 * Major & Minor Bugfixing

= Change Log =

queen-beecon (0.1.4)
 * New: Implementation of Widget Instance disabling and minimizing on desktop (click on minimized icon on desktop will wakeup and maximize instance)
 * New: Implementation of image/icon scaling function for all images used (Zoom In/Out from 5% to 200% or Fit to Widget Width/Height)
 * Bugfixing: In Advanced Maintenance Dialog Box several bugfixes for Import/Export commands and instances,

queen-beecon (0.1.3)
 * New: Added possibility to show or hide both snippet's image/text and beecon image/text. This way you can have two images and two text placeholders on widget, for more flexibility in graphic layout
 * New: Added supplementary images/icons directory storage "~/Mydocs/.images/queen_beecon_dir". If images/icons without path are not found here then they are searched in "~/.queen_beecon_dir". For easier population via USB of BLUETOOTH File Services.
 * New: Added functions in Advanced Maintenance Dialog Box: instance export/import w/ checksum, command export/import w/ checksum, command update with current Test Drive buffer, clipboard operations
 * New: Added some confirmation dialogs for critical operations and some notification messages
 * New: Added possibility to use different images/icons for Command Exit Statuses >=3 . Basically the Exit Status value will be appended to a fixed image filename and relevant image will be loaded (ex. "queen-beecon-status.png.3" ... 4 ... 5 ...)
 * New: Basic Images/Icons for Snippets and Beecon Statuses incorporated into .deb package and installed inside canonical hildon hicolor 48x48 directory
 * Bugfixing: Fixed size and positioning of controls in Advanced Maintenance Dialog Box
 * Bugfixing: Removed directory purge in "rmnobraco.sh" script
 * Bugfixing: Checked and removed some memory leaks and resources deallocation (were causing hildon-home desktop to crash on instance disposal)
 * Changed: Restyle and lots of optimization in Settings Dialog Box UI layout
 * Changed: Widget's fill gradients when background is enabled
 * Changed: Restyle in Advanced Maintenance Dialog Box interface, now more functional and user friendly
 * Changed: When opening Advanced Maintenance Dialog Box, command in current instance is automatically copied to the TestDrive command text box
 * Changed: Advanced Maintenance Dialog Box changed font to Monospace Bold for the three text views for inproved visibility

queen-beecon (0.1.2)
 * New: Implemented Pango Markup Language support for both Command Title and Output Results text (Description HERE)
 * New: Basic implementation of Advanced Maintenance Dialog Box (For future use like export/import ...)
 * New: Advanced Maintenance Dialog Box: TestDrive mode (to display raw output of predefined or user-defined commands)
 * Changed: Had to change description in debian "control" file (Testers Karma-- me for this)
 * Changed: Changed logic in settings dialog box, now it doesn't redraw unless strictly necessary and just content and controls which need it. Also quicker transition to main settings when back from child dialog boxes.

queen-beecon (0.1.1)
 * Changed: Visual feedback for widget pressure is now also provided for Canvas-less beecons and snippets (button down canvas is displayed when pressed)
 * Changed: Changed default size for newly created instances (50px=>100px)
 * Changed: Housekeeping for dead/disposed instances is now run on each instance initialization and on class termination (should be more accurate now)
 * Bugfixing: Writing/Reading configuration file inconsistencies fixed
 * Bugfixing: Correction in images (status/results/title) hide/show logic. If images displayed and then commented out, they kept showing! - FIXED

queen-beecon (0.1.0)
 * WARNING! Architecture and readibility of code has been heavily revised for implementing the new functionalities...
 * WARNING! Please bear with possible regressions and report bugs to the Maintainer
 * New: Implemented the possibility to hide the background Canvas both for Beecons and Snippets
 * New: Implemented the possibility to use different icons/images for Beecon's status output instead of just specific background color (Ex. 0=green led, 1=yellow led, 2=red led) (with high positioning versatility)
 * New: Implemented the possibility to use icons/images instead of text both for Beecons/Snippets command title and output (with high positioning versatility)
 * New: Implemented creation and management of private general purpose directory "~/.queen_beecon_dir" for widget (images/icons/etc.)
 * New: Implemented "Update on widget Startup" option for every instance
 * New: Implemented basic management/deletion of dead/disposed instances configurations data from config file
 * New: Added button "Save & Run" settings dialog which saves settings and contextually triggers command execution
 * Changed: Widget Layout is now nicer with better gummy "button-press" like visual feedback using Gradient fill
 * Changed: Button Save in settings dialog does not trigger a command execution any more
 * Changed: Now command do not get updated after getting back from settings dialog (even after "save"); relevant event only drives updates (manual, timer, desktop, network)

queen-beecon (0.0.3)
 * Bugfixing for widget resize(dimensions) and positioning
 * Bugfixing for general network related behaviours and content update, even after settings change
 * Bugfixing for Command Edit and blank command selector after returning from command edit dialog
 * Changed Exit Code output for command from !?0000xxxx to !?xxxx
 * Changed Command Output is returned, if any, even if Exit Code less then 0

queen-beecon (0.0.2)
 * First Extras-devel release

queen-beecon (0.0.1)
 * Initial Basic Queen BeeCon Implementation

= TODO list =


 * Bugfixing and Improving Stability
 * Instance Import/Export optimization and simplification

= HOW-TOs =

Backup all Widget Instances
Apply Export/Save/Backup Procedure for Beecon Instance Data for every Widget Instance you want to Backup

Save content (Beecons' Images) of directories: /home/user/.queen_beecon_dir /home/user/MyDocs/.images/queen_beecon_dir/

Restore all Widget Instances
Apply Import/Load/Restore Procedure for Beecon Exported Instance Data for every Widget Instance you want to Restore

Restore content (Beecons' Images) of directories: /home/user/.queen_beecon_dir /home/user/MyDocs/.images/queen_beecon_dir/

Import/Load/Restore Procedure for Beecon Exported Instance Data
See HERE

Export/Save/Backup Procedure for Beecon Instance Data
See HERE

Copy Exported Instance Data from Browser to Phone's Clipboard
See HERE

Reset Queen Beecon Widget to Default Configuration
Open up X-Terminal or SSH/Putty into N900 and issue the following commands: sudo gainroot (only if you are not already root) rm /home/user/.queen_beecon killall hildon-home

Completely remove Queen Beecon Widget from your N900
sudo gainroot (only if you are not already root) dpkg -P queen-beecon rm /home/user/.queen_beecon rm -r /home/user/.queen_beecon_dir rm -r /home/user/MyDocs/.images/queen_beecon_dir/
 * Open up X-Terminal (or SSH/Putty into N900) and issue the following command

= Easter Eggs =

Magic Word for bypassing Export/Import Instance Data CheckSum protection


'''Use the Source ... Luke! ;)''' or ask politely!!!

= Troubleshooting =

Startup
If you are having issues at widget startup because of improper "Update on Widget/System Startup" settings:

sudo gainroot (only if you are not already root) vi /home/user/.queen_beecon
 * Open up X-Terminal (or SSH/Putty into N900) and issue the following commands:


 * find updOnStartup=true (all instances supposed to be culprits)


 * Set it to false (updOnStartup=false)


 * Save file

killall hildon-home
 * Immediately issue:


 * hildon-home will automatically restart and widgets won't run any more at startup

"No Output" is displayed inside Widget instead of expected output
If you are using Pango Markup Language Tags as output from your scripts, make sure all Tags are correctly written/spelled and terminated.

Beecon seems to hang when fetching data or accessing the Internet/Network
Please have a look to THIS post for Timeout and Proxy related issues.

= Published Beecons, Scripts & Commands =

Today Schedules for TVRage.com Favourites TV Serials


The Beecon will also provide a small miniature if your most favourite Show is aired on the day.

N900 Hard Sleep Mode


The Beecon will put the N900 into Hard Sleep Mode. When pressed, it'll perform the following actions: Set WIFI OFF, Change phone network mode to GSM, Shutdown all network connections, Blank the screen, Lock device

European Soccer Leagues Live Results and Next Matches Beecon


The Beecon will also be able to highlight the match of your favourite Team and display a Green ball if it is winning, Yellow ball if match is tied, Red ball if team is losing, White ball if match is still not currently being played.

World Cup 2010 South Africa - Live Results, News and Next Matches


The Beecon will also provide the most recent WC2010 news and will be able to highlight the match of your favourite Team and display, behind mascot, a Green ball if it is winning, Yellow ball if match is tied, Red ball if team is losing, White ball if match is still not currently being played.

Naive Dice Roller


The Beecon will show a dice that you'll be able to roll by clicking on it.

World Day & Night Zones


The Beecon will display a map of the world and current position of the Sun, indicating which parts of the Earth are in day and which are in night.

European Accuweather Meteo


The Beecon will display the meteo graphs provided by Accuweather.com for Western Europe

MRTG The Multi Router Traffic Grapher


The Beecon will display the graphs provided by the uber-famous MRTG - The Multi Router Traffic Grapher

GMail: New Mail Notifier Beecon


The Beecon will display an empty mailbox icon or a yellow full mailbox icon and the number of new unread messages of the specified GMail account

Italian Ringroads (Tangenziali) Live Traffic Beecon


The Beecon is configured to display Live Traffic graphic status of Milan Ringroads System. Other major cities in Italy are also available: ROME, TURIN, FLORENCE, NAPLES, BOLOGNA!

MLB Major League Baseball Matches of the Day (+tutorial/walkthrough)


The Beecon will display near Real Time MLB Major League Baseball Matches results. The Widget is also capable of showing different icons/images/emoticons according to the result of a Favourite Team.

Scripts & Commands
Desktop Command Execution Widget scripts Warning: This are scripts for Desktop Command Execution Widget; Queen Beecon Widget has extended functionalities so it might be needed to tweak scripts or commands a little bit for both cosmetic and functional improvements.