![]() |
[Announce] Queen BeeCon Widget: Super powerful and customizable Widget Generation Engine - Official Thread
Hi, Folks.
Based on an idea and widget by cpscotti ("Desktop Command Execution Widget" R E S P E C T & Kudos, Dude!) and due to personal needs, I forked developments towards: http://i.imgur.com/5YbFw.pngQueen BeeCon Widgethttp://i.imgur.com/5YbFw.png AT FULL POWER! http://i.imgur.com/Khwoi.png http://i41.tinypic.com/12375g8.png http://i49.tinypic.com/2e2qb9t.png Queen BeeCon Widget 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:
Snippets are normal text/graphic boxes with fixed background color and images which is not influenced by the executed Command Exit Status. See WIKI Enjoy, No!No!No!Yes! |
Queen BeeCon Widget: Features List & Known Issues
|
Queen BeeCon Widget: Now-Brewing, Change Log & TODO list
|
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
I find this app to be both cool and a little confusing, but I suspect thats because Its so comprehensive. Purely as a way of monitoring items at a glance however its great, though perhaps a little space consuming on the desktop.
|
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
Here is the Normal version of the "Rootfs(%):" command:
Code:
df | awk '$1 == "rootfs" {print $5}' Code:
df | awk 'BEGIN { FS="[ %]+" } $1 == "rootfs" { print $5 "%"; if ($5 < 90) exit 0; else if ($5 < 95) exit 1; else exit 2 }' Exit Status 0 (Green Beecon) for less the 90% rootfs file system full Exit Status 1 (Yellow Beecon) for less the 95% rootfs file system full Exit Status 2 (Red Beecon) for 95% or more rootfs file system full http://i45.tinypic.com/1zjhvc.png http://i48.tinypic.com/2cyje5i.png http://i47.tinypic.com/1625lyd.png |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
Quote:
|
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
It's a cool idea, but I think a more elegant way to do this is to stick to the half transparent black rectangle like the one in the original desktop command execution widget..
It would also save up on space. |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
Quote:
Code:
ping -q -c 3 server1 | awk 'BEGIN { FS="[ \/]+"; rt=0 } $1 == "round-trip" { rt=1; print $6 "\n" $7 "\n" $8 "\n(ms)"; if ($8 < 100) exit 0; else if ($8 < 200) exit 1; else exit 2 } END { if ( rt == 0 ) exit -1 }' Exit Status 0 (Green Beecon) for round-trip max below 100ms Exit Status 1 (Yellow Beecon) for round-trip max between 100 and 200 ms Exit Status 2 (Red Beecon) for round-trip max above 200ms Exit Status -1 (Grey Beecon) for server1 unresponsiveness http://i49.tinypic.com/23uc5s3.png http://i45.tinypic.com/2zeiauh.png http://i49.tinypic.com/30hpnr6.png http://i45.tinypic.com/2ev82l5.png |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
Quote:
I discussed about this matter with cpscotti, the current maintainer of DCEW, before I went public. We both agreed with the fact that both tools can have supporters and admirers especially if we move the topic into the "elegance" vs. "versatility" vs. "simplicity" vs. "practicality" vs. "completeness" vs. "complexity" vs. "beautifulness" vs. "coolness" vs. "hackishness" debate. Due to my personal needs, for home and for work, I dedicated two, out of the four desktops, to monitoring widgets and I rely more on a visual/chromatic experience than on a plain textual feedback. Furthermore, on the todo list there is also an open mind in developing a graphic architecture with far more freedom for the end-users to design and plug in their favourite visual "geometry", being that basic shapes or multi-area/clickable icons with alpha channel. Thank you for your feedback. Bye. |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
http://i46.tinypic.com/ege1sh.jpg
And now... let's get ready for the 2010 MLB season... Before using this Beecon make sure you have "wget" package installed: Start X-Terminal and type: Code:
Nokia-N900-51-1:/home/user/MyDocs# wget Code:
apt-get install wget Code:
wget -q -O - http://m.mlb.com/scores/`date +%Y%m%d`/ | awk 'BEGIN{t="NYY";m=0}/<td>.+<\/td>/{split(gensub(/<[^>]*>/,"","g"),a);if(a[1]!=t && a[3]!=t && a[4]!=t)next;m=1;if(a[2]=="vs."){print a[1] "\n" a[3] "\n" a[4],a[5];exit 1}print a[1],a[2] "\n" a[4],a[5] "\n" a[6];if((a[4]==t&&a[5]>a[2])||(a[1]==t&&a[2]>a[5]))exit 0;if(a[5]==a[2])exit 1;else exit 2}END{if(m==0){print "No\nMatch!\n";exit 1}}' Code:
t="NYY" ATL, LAD, NYY, TOR, FLA, NYM, BOS, BAL, CIN, WSH, SD, PHI, SF, PIT, CHC, HOU, CLE, CWS, DET, KC, MIL, STL TB, TEX, MIN, OAK, LAA, SEA, COL, ARI. Set update interval as you like and enjoy... Beecon will return: Exit Status 0 (Green Beecon) if team is winning Exit Status 1 (Yellow Beecon) if match is tied up or no match for the day or match starting later on Exit Status 2 (Red Beecon) if team is losing the match http://i49.tinypic.com/wciudv.png http://i49.tinypic.com/nyg41w.png http://i45.tinypic.com/24b589i.png http://i47.tinypic.com/j7ep2v.png http://i49.tinypic.com/wbywb7.png http://i47.tinypic.com/15ge1k.png |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
Hi,
I don't think my use cases will fit the "Queeen Beecon" approach, but I must thank you none the less for bringing its ancestor "Desktop Command Execution" to my attention. I don't know how I managed to miss it, but the idea behind both widgets is incredibly useful ! |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
Quote:
Proxy support in N900 Maemo (don't know for previous versions) is far from being perfect and comfortable to handle. While testing the previous Beecon behind our company's firewall, hildon-home/desktop got frozen because of the wget command trying to access internet resources while being blocked by our firewall. Only way to unfreeze it was to kill both the shell script spawned by Beecon, awk and wget hung processes. UPDATE 201002251730{Don't know why wget hung itself like this in endless timeout but} Setting -t 1 -T 3 options prevents wget from hanging and getting stuck for more then -T 3 seconds even if connection or proxy problems arise!!! However set -T <secs> according to the foreseen size of the web content to be fetched I figured out a way to programmatically retrieve the proxy settings both for HTTP and for HTTPS from the internal MicroB browser configuration file: /home/user/.mozilla/microb/prefs.js File holds several values related to proxy settings: Code:
user_pref("network.proxy.http", "my.proxy.pri"); http://i47.tinypic.com/3582csk.png In order for wget to properly work behind a proxy, two environment variables must be set in this way: Code:
export http_proxy=http://my.proxy.pri:3128/ Code:
`awk 'BEGIN {FS="[\(\", ;\)]+"}/proxy\.http"/{hx=$3}/proxy\.http_port"/{hp=$3}/proxy\.type"/{pt=$3}/proxy\.ssl"/{sx=$3}/proxy\.ssl_port"/{sp=$3}END{if(pt==0)exit;print "export http_proxy=http://" hx ":" hp "\/ export https_proxy=http://" sx ":" sp "\/"}' /home/user/.mozilla/microb/prefs.js` Code:
`awk 'BEGIN {FS="[\(\", ;\)]+"}/proxy\.http"/{hx=$3}/proxy\.http_port"/{hp=$3}/proxy\.type"/{pt=$3}/proxy\.ssl"/{sx=$3}/proxy\.ssl_port"/{sp=$3}END{if(pt==0)exit;print "export http_proxy=http://" hx ":" hp "\/ export https_proxy=http://" sx ":" sp "\/"}' /home/user/.mozilla/microb/prefs.js`;wget -t 1 -T 3 -O - http://m.mlb.com/scores/`date +%Y%m%d`/ | awk 'BEGIN{t="NYY";m=0}/<td>.+<\/td>/{split(gensub(/<[^>]*>/,"","g"),a);if(a[1]!=t && a[3]!=t && a[4]!=t)next;m=1;if(a[2]=="vs."){print a[1] "\n" a[3] "\n" a[4],a[5];exit 1}print a[1],a[2] "\n" a[4],a[5] "\n" a[6];if((a[4]==t&&a[5]>a[2])||(a[1]==t&&a[2]>a[5]))exit 0;if(a[5]==a[2])exit 1;else exit 2}END{if(m==0){print "No\nMatch!\n";exit 1}}' Code:
# cat /usr/sbin/pxy.sh Code:
chmod 755 /usr/sbin/pxy.sh Code:
`pxy.sh` ; wget -t 1 -T 3 -O - http://m.mlb.com/scores/`date +%Y%m%d`/ | awk 'BEGIN{t="NYY";m=0}/<td>.+<\/td>/{split(gensub(/<[^>]*>/,"","g"),a);if(a[1]!=t && a[3]!=t && a[4]!=t)next;m=1;if(a[2]=="vs."){print a[1] "\n" a[3] "\n" a[4],a[5];exit 1}print a[1],a[2] "\n" a[4],a[5] "\n" a[6];if((a[4]==t&&a[5]>a[2])||(a[1]==t&&a[2]>a[5]))exit 0;if(a[5]==a[2])exit 1;else exit 2}END{if(m==0){print "No\nMatch!\n";exit 1}}' |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
queen-beecon (0.0.3) uploaded to autobuilder a few minutes ago ... should be in devel for download shortly...
* 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 |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
http://i50.tinypic.com/8yb23a.png
GMail New Messages Notifier Beecon Following Beecon retrieves number of unread messages in specified Gmail Inbox. Substitute <username> and <password> with your personal account information. Code:
wget -t 1 -T 3 -q -O - https://<username>:<password>@mail.google.com/mail/feed/atom --no-check-certificate | awk 'BEGIN{m=2}/<fullcount>.+<\/fullcount>/{gsub(/<[^>]*>/,"",$0);print $1 " New";if($1>0)m=1;else m=0}END{exit m}' Exit Status 0 (Green Beecon) for 0 New Mails Exit Status 1 (Yellow Beecon) for >0 New Mails Exit Status 2 (Red Beecon) for problems fetching Mails Exit Status -1 (Grey Beecon) for System problems For PROXY/WGET related info have a look at THIS post Ciao, No!No!No!Yes! |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
|
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
queen-beecon (0.1.0) now in extras-devel ... same usual relevant advices! :)
* 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) |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
1 Attachment(s)
queen-beecon (0.1.1) now in extras-devel ... same usual relevant advices! :)
* 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 And some goodies... http://i50.tinypic.com/15mcmsk.png attached to the post for use as status icon with Beecons. |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
Quote:
|
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
Quote:
I'm sorry I still haven't studied how to package icons/images inside .deb and to extract them in relevant directory at .deb install time. If you can point me to some tutorial for doing this, please do... however this issue is in my TODO list but with low priority. To use this icons you have just to extract them in the ~/.queen_beecon_dir directory and directly refer to them in the settings (if no pathname is specified then QBW looks inside that) I'm mostly working on solving widget issues and testing core functionalities. I'd also like to come out with some ways to export/import whole Beecons (basic parameters and possibly icons/images)... to more easily share them once assembled and tested. (I'm also aware of potential security concerns with respect to this matter). Ciao, No!No!No!Yes! |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
Queen Beecon Widget 0.1.1 has now been promoted to extra testing.
|
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
Uhm...
Just a preview of how 0.1.3 is gonna look like... http://i49.tinypic.com/2jfg3tt.png Sometimes ... you win... http://i48.tinypic.com/ke7khd.png Sometimes ... you lose... http://i47.tinypic.com/2vn4bc9.png And sometimes ... it just ... rains!!! Now only your fantasy and artistic skill are your boundaries ... :D As soon as I can have some sleep ... I'll try to prepare a tutorial about how I made MLBeecon. Ciao, No!No!No!Yes! |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
... and Hot Stove for www.tvrage.com TV Series Beecon in the brewery!!!
http://i46.tinypic.com/2iu7pfn.png Still internal testing for 0.1.3... Change Log: * 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 |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
Icons galore ... to play smooth!!! :cool:
http://i41.tinypic.com/9bdgfn.png A nice set of tools ... to play rough!!! :eek: http://i40.tinypic.com/m8kbad.png |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
WARNING! Feel free to play with this software, but be aware that this is software under development. For further info please READ THIS!!!
0.1.3 now in extras-devel ... stick with this ... as it is the most stable of all around. Don't bother with 0.1.1 in extras-testing as it has been demoted for too much instability. As I promised I just need some spare time to write a little tutorial for the MLBeecon or the TV Rage Beecon ... stay tuned. |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
Beecon for Italian Serie A Soccer League
http://i41.tinypic.com/119wgnt.png In code, replace f="JUVENTUS" with f="<your team>" Code:
wget -t 1 -T 3 -q -O - "http://mobile.gazzetta.it/calcio/ultimi_risultati.jsp?nC=serieA&cC=1320" | awk 'BEGIN { FS="[<>\"]";f="JUVENTUS";r=-1;}$3=="giornata" { print "<big><span foreground=\"cyan\" size=\"x-large\"><b>Serie A [" $11 "]</b></span></big>";next;}$5=="text-decoration:none" {gsub(/ /,"",$7) rs = $7 " " $9;if(index($7,f)!=0){rs = "<span foreground=\"blue\"><b>" rs "</b></span>";split($7,t,"[ -]+");split($9,s,"[ -]+");if ((t[1]==f && s[1]>s[2])||(t[2]==f && s[2]>s[1])) r=0;else {if(s[1]==s[2]) r=1;else r=2;}}print rs;next;}END{exit r}' |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
And now in 0.1.4 version still in internal testing ... the possibility to have Minimized/Standby Beecons which are ready to be activated and maximized with just a click on the sleeping beecon icon!!!
|
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
|
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
queen-beecon (0.1.4) now in extras-devel
* 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 and a preview of what is now possible!!! Milan (Italy) Ringroad Live Traffic Beecon http://i44.tinypic.com/e6408y.png Also available for ROME, TURIN, FLORENCE, NAPLES, BOLOGNA! Beecon Export soon available! Credits go to the cited Companies, Organizations, Product, Services. Please report if any contents is neither appropriate nor allowed to be published and it will be removed within short time span. |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
Wow this app is sure growing up fast :)
|
Queen BeeCon Widget: Import of Beecon Exported Instance Data
http://i46.tinypic.com/1zn04fm.pngQueen BeeCon Widgethttp://i46.tinypic.com/1zn04fm.png
[HowTo] Import Procedure for Beecon Exported Instance Data Make sure you have already copied into your phone's clipboard the Beecon Exported Instance Data
And now proceed with instance specific post-import steps!!! |
Queen BeeCon Widget: [HowTo] Copy Exported Instance Data to Phone's Clipboard
http://i46.tinypic.com/1zn04fm.pngQueen BeeCon Widgethttp://i46.tinypic.com/1zn04fm.png
[HowTo] Copy Exported Instance Data to Phone's Clipboard Best way (to me): Just use N900 Microb Browser to open page with Exported Instance Data and Copy to clipboard according to this simple procedure: http://i41.tinypic.com/2lkplxj.png http://i42.tinypic.com/rtkljn.png Then proceed with Instance Advanced Settings Dialog operations. |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
|
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
Is there a possibility of different scripts for showing the information on the beecon and updating it? Like, say, I have a VPN status script which shows on the beecon, but if I click it, it changes the status. Or I have a FM transmitter status which shows on the beecon, but if I click it, it changes the status. This would be greatly useful.
|
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
Quote:
Your script can handle statuses persistence... for example (and in metalanguage) the script could perform like this: Code:
Beecon pressed Everything depends on the amount of persistence logic or complexity you can handle via your script/command. |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
Quote:
Namely, the problem is that, to show the status, you have to update. And sometimes you just don't want that; for example, when I reconfigure anything on the desktop, it reinitializes all widgets, and the script on Desktop Command Execution toggles my FM transmitter again, which I didn't want. Or when I reboot, it does the same thing - it toggles - I had to add some logic to verify from /proc/uptime whether 100 seconds have passed so that it could update only after that. That's why I am asking for such a feature on Queen Beecon itself. It would ve very useful to me. |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
Quote:
http://i39.tinypic.com/eiwjms.png But help me model your use case...
Quote:
|
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
Quote:
However, due to the nature of my script a small problem still rests. Since the update script is also the script that shows state, I can't get it activated on reboot because it will toggle the FM transmitter. And if I don't get it activated, it will show "Not updated" on the widget. The script is this one: Code:
result=$( /usr/bin/fmtx_client -p$( /usr/bin/fmtx_client | /bin/grep -q '^state=enabled' ; echo $? ) | /usr/bin/awk -F '=' '($1=="state") {print $2}' ); echo $result; [ $result = "enabled" ]
Cheers, Cláudio (Patola) EDIT: BTW, I noticed a small bug. When entering the text in the input line, sometimes it capitalizes the first letter of some word. With the unix shell being case-sensitive, this results in the script failing. I've noticed that there are programs which do not capitalize any letter, maybe you need to set a flag or something in the input box properties. |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
Quote:
other suggestion: why don't you just set "enable on startup" and programmatically skip first run from within your script like: Code:
if [! -f /tmp/1st_run ] Quote:
Thanks to querty12 tip this has already been changed in 0.1.5 still in internal testing on my N900 |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
I made some test last night and it seems to me that when fmtx switches on the radio, and no sound is sent through it, after a while the FM radio gets automatically switched off.
I believe it is not easy for Beecon to track this kind of behaviour unless continuously polling with very short rest time... being a real Battery squeezer. |
Re: [Announce] Queen BeeCon Widget: Customizable and flexible monitoring tool.
Yes, that's why I think the click script and update content script should be different! My "show" script could just get the battery status from fmtx_client polling every x minutes, while my "update" script could change it to what I want.
And thanks for the response, I'll try for the time being using the temporary file but I'd really prefer the feature of separate scripts. |
All times are GMT. The time now is 11:47. |
vBulletin® Version 3.8.8