Editing Desktop Command Execution Widget scripts
Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.
Warning: This page is 31 kilobytes long; some browsers may have problems editing pages approaching or longer than 32kb. Please consider breaking the page into smaller sections.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 18: | Line 18: | ||
Some scripts may create multiple lines which are too long to be displayed on a single line. The widget will not wrap these. In order to wrap them you can use the fold command: | Some scripts may create multiple lines which are too long to be displayed on a single line. The widget will not wrap these. In order to wrap them you can use the fold command: | ||
- | command-that-produces-long-lines | fold -s -w | + | command-that-produces-long-lines | fold -s -w 80 |
The 80 in that instance is the maximum length of the line, which you can change. The -s option makes fold word wrap with spaces. More information is available from the [http://unixhelp.ed.ac.uk/CGI/man-cgi?fold fold man page]. | The 80 in that instance is the maximum length of the line, which you can change. The -s option makes fold word wrap with spaces. More information is available from the [http://unixhelp.ed.ac.uk/CGI/man-cgi?fold fold man page]. | ||
Line 155: | Line 155: | ||
wget -t 2 -T 3 -q -O - api.myiptest.com | awk -F "\"" '{print $4}' | wget -t 2 -T 3 -q -O - api.myiptest.com | awk -F "\"" '{print $4}' | ||
- | |||
- | |||
Output example: '''1.2.3.4''' | Output example: '''1.2.3.4''' | ||
Line 169: | Line 167: | ||
Output example: '''1.2.3.4 (ISP @ City, CountryCode)''' | Output example: '''1.2.3.4 (ISP @ City, CountryCode)''' | ||
+ | |||
====Internal (LAN)==== | ====Internal (LAN)==== | ||
Line 196: | Line 195: | ||
df -h /home/user/MyDocs | awk '/My/ {print $4}' | df -h /home/user/MyDocs | awk '/My/ {print $4}' | ||
+ | |||
====Internal memory for application data (2GB /home) percentage used==== | ====Internal memory for application data (2GB /home) percentage used==== | ||
Line 252: | Line 252: | ||
awk -v var=$(awk '{sum+=$2}; END {print sum};' /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state) '{arr[$3]=$2}{for (i in arr) {print $1/1000 " mhz " int(arr[i]*100/var)"%"}}' /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state | awk -v var=$(awk '{sum+=$2}; END {print sum};' /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state) '{arr[$3]=$2}{for (i in arr) {print $1/1000 " mhz " int(arr[i]*100/var)"%"}}' /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state | ||
- | |||
- | |||
- | |||
- | |||
===Memory usage=== | ===Memory usage=== | ||
Line 641: | Line 637: | ||
Warning: Consult forums before you try this, because currently DCEW executes some (all?) commands at startup. This will be optional in next version. Making a reboot button on current DCEW version could result in endless reboot loop. | Warning: Consult forums before you try this, because currently DCEW executes some (all?) commands at startup. This will be optional in next version. Making a reboot button on current DCEW version could result in endless reboot loop. | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
===FM transmitter=== | ===FM transmitter=== | ||
Line 780: | Line 758: | ||
== Scripts to pull data from remote web sites == | == Scripts to pull data from remote web sites == | ||
- | |||
=== Transport for London - Live Bus Departures === | === Transport for London - Live Bus Departures === | ||
- | |||
- | |||
Transport for London recently launched a mobile Web interface to their live bus departures information, and it's pretty good, but it can be a pain navigating to the bus stop that you want. This script uses DCEW to display data from multiple local bus stops, and to switch between them (by iterating over a list of them) on touching the widget. | Transport for London recently launched a mobile Web interface to their live bus departures information, and it's pretty good, but it can be a pain navigating to the bus stop that you want. This script uses DCEW to display data from multiple local bus stops, and to switch between them (by iterating over a list of them) on touching the widget. | ||
Line 813: | Line 788: | ||
lynx -dump -nolist http://m.countdown.tfl.gov.uk/arrivals/$THISTIME | grep -A10 "Buses dep" | sed -e "s/^ //g" | grep [a-z] | egrep -v "(Refresh|See\ map|Buses\ departing)" | lynx -dump -nolist http://m.countdown.tfl.gov.uk/arrivals/$THISTIME | grep -A10 "Buses dep" | sed -e "s/^ //g" | grep [a-z] | egrep -v "(Refresh|See\ map|Buses\ departing)" | ||
- | |||
- | |||
This second script, designed to be used with an additional DCEW on the same screen as the first, changes the list of bus stops associated with the script above and displays the place name with which they are associated. So, using this second widget, I can switch the first widget between the list of bus stops that I require in one place, and the list that I require in another. This limits the length of any individual list and will eventually let me access four or five lists of stops according to where I happen to be. | This second script, designed to be used with an additional DCEW on the same screen as the first, changes the list of bus stops associated with the script above and displays the place name with which they are associated. So, using this second widget, I can switch the first widget between the list of bus stops that I require in one place, and the list that I require in another. This limits the length of any individual list and will eventually let me access four or five lists of stops according to where I happen to be. | ||
Line 843: | Line 816: | ||
chmod 777 /tmp/.bus_stops | chmod 777 /tmp/.bus_stops | ||
echo $THISTIME | sed -e s/_/\ /g | echo $THISTIME | sed -e s/_/\ /g | ||
- | |||
- | |||
This third script combines the functionality for both of the above widgets from a single script, to be installed as e.g. /usr/local/bin/countdown, and moves the bus stop configuration from variables to flat files, arranged by placename. It also adds some command-line functionality (not yet widgetised), which enables you to configure a given placename from the 5-digit code of a single bus stop. | This third script combines the functionality for both of the above widgets from a single script, to be installed as e.g. /usr/local/bin/countdown, and moves the bus stop configuration from variables to flat files, arranged by placename. It also adds some command-line functionality (not yet widgetised), which enables you to configure a given placename from the 5-digit code of a single bus stop. | ||
Line 851: | Line 822: | ||
case $1 in | case $1 in | ||
+ | |||
"--display") | "--display") | ||
- | + | BUS_STOPS="50713 48598 53221 74407" | |
- | + | ||
- | + | ||
if [ -r "/tmp/.bus_stops" ]; then | if [ -r "/tmp/.bus_stops" ]; then | ||
BUS_STOPS=`cat /tmp/.bus_stops`; | BUS_STOPS=`cat /tmp/.bus_stops`; | ||
else | else | ||
- | |||
echo $BUS_STOPS > /tmp/.bus_stops; | echo $BUS_STOPS > /tmp/.bus_stops; | ||
chmod 777 /tmp/.bus_stops | chmod 777 /tmp/.bus_stops | ||
Line 871: | Line 840: | ||
if [ "$LOOP" -gt "$STOPCOUNT" ]; then | if [ "$LOOP" -gt "$STOPCOUNT" ]; then | ||
LOOP=1; | LOOP=1; | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
fi; | fi; | ||
echo $LOOP >/tmp/.countdown | echo $LOOP >/tmp/.countdown | ||
chmod 777 /tmp/.countdown | chmod 777 /tmp/.countdown | ||
- | + | THISTIME=`echo $BUS_STOPS | cut -d" " -f $LOOP`; | |
- | + | lynx -dump -nolist http://m.countdown.tfl.gov.uk/arrivals/$THISTIME | grep -A10 "Buses dep" | sed -e "s/^ //g" | grep [a-z] | egrep -v "(Refresh|See\ map|Buses\ departing)" | sed -e "s/Bus stop code //g" | fold | |
- | + | ||
- | lynx | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
;; | ;; | ||
"--switch") | "--switch") | ||
- | |||
- | |||
- | |||
- | |||
BUS_STOPS=`ls /home/user/countdown/places`; | BUS_STOPS=`ls /home/user/countdown/places`; | ||
LOOP=0 | LOOP=0 | ||
Line 915: | Line 867: | ||
chmod 777 /tmp/.countdown | chmod 777 /tmp/.countdown | ||
echo $THISTIME | sed -e s/_/\ /g | echo $THISTIME | sed -e s/_/\ /g | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
;; | ;; | ||
Line 936: | Line 873: | ||
FILE=`echo "$2" | sed -e "s/ /_/g"`; | FILE=`echo "$2" | sed -e "s/ /_/g"`; | ||
cat /tmp/.bus_stops > /home/user/countdown/places/$FILE | cat /tmp/.bus_stops > /home/user/countdown/places/$FILE | ||
- | chown | + | chown user /home/user/countdown/places/$FILE |
;; | ;; | ||
Line 942: | Line 879: | ||
lynx -dump http://m.countdown.tfl.gov.uk/stopsNearStop/$2 | grep /arrivals/ | cut -d / -f 5 | while read stop; do out="$out $stop"; echo $out > /tmp/.out; done; | lynx -dump http://m.countdown.tfl.gov.uk/stopsNearStop/$2 | grep /arrivals/ | cut -d / -f 5 | while read stop; do out="$out $stop"; echo $out > /tmp/.out; done; | ||
cat /tmp/.out > /tmp/.bus_stops | cat /tmp/.out > /tmp/.bus_stops | ||
+ | cat /tmp/.bus_stops | ||
if [ ! -z "$3" ]; then | if [ ! -z "$3" ]; then | ||
Line 947: | Line 885: | ||
fi | fi | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
;; | ;; | ||
Learn more about Contributing to the wiki.