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 33 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 100
+
  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}'
-
or another one, as api.myiptest.com sometimes is down
 
-
wget -t 2 -T 3 -q -O - checkip.dyndns.com | awk -F ": " '{print $2}' | awk -F "</" '{print $1}'
 
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
-
 
-
The same, but without unused lines
 
-
 
-
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 | grep -v " 0%"
 
===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.
-
====A much safer way====
 
-
write a file with the following content
 
-
 
-
  #!/bin/sh
 
-
  zenity --question --title="reboot?" --text="are you sure ?"
 
-
  if [ $? -eq 0 ]; then
 
-
  echo "reboot" | sudo gainroot | echo ""
 
-
  fi
 
-
 
-
save it to '''/bin/ask-reboot'''
 
-
then execute :
 
-
  chmod +x ask-reboot
 
-
 
-
now add a new command widget with the command '''"ask-reboot"''' .
 
-
 
-
make sure you uncheck the folowing check boxes
 
-
* update on boot
 
-
* update when switched to desktop
 
===FM transmitter===
===FM transmitter===
Line 844: Line 822:
  echo $THISTIME | sed -e s/_/\ /g
  echo $THISTIME | sed -e s/_/\ /g
-
==== Multiple lists of multiple stops with file-based configuration ====
+
==== Display departures for multiple lists of multiple stops with file-based configuration ====
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 829:
   
   
  case $1 in
  case $1 in
 +
  "--display")
  "--display")
-
# This mode is used by the main DCEW to display information about a bus stop.
 
  echo "........................................................................................................................";
  echo "........................................................................................................................";
-
 
   
   
  if [ -r "/tmp/.bus_stops" ]; then
  if [ -r "/tmp/.bus_stops" ]; then
Line 871: Line 848:
  if [ "$LOOP" -gt "$STOPCOUNT" ]; then
  if [ "$LOOP" -gt "$STOPCOUNT" ]; then
   LOOP=1;
   LOOP=1;
-
fi;
 
-
THISTIME=`echo $BUS_STOPS | cut -d" " -f $LOOP`;
 
-
LOCKED="";
 
-
if [ -r "/tmp/.countdownlock" ] && [ -r "/tmp/.laststop" ]; then
 
-
THISTIME=`cat /tmp/.laststop`;
 
-
LOOP=`cat /tmp/.countdown`;
 
-
LOCKED="- LOCKED";
 
  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 -connect_timeout=3 -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|Route)" | sed -e "s/Bus stop code //g" | fold -w 53
-
+
-
  lynx -connect_timeout=10 -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|Route)" | sed -e "s/Bus stop code //g" | fold -w 53
+
  echo "........................................................................................................................";
  echo "........................................................................................................................";
-
  echo "Stop $LOOP of $STOPCOUNT in `cat /tmp/.lastplace` ($THISTIME) $LOCKED";
+
  echo "Stop $LOOP of $STOPCOUNT in `cat /tmp/.lastplace` ($THISTIME)";
  echo $THISTIME > /tmp/.laststop
  echo $THISTIME > /tmp/.laststop
  chmod 777 /tmp/.laststop
  chmod 777 /tmp/.laststop
Line 892: Line 860:
   
   
  "--switch")
  "--switch")
-
# This mode can be used by a second DCEW to switch between lists of stops by place name
 
-
if [ -r "/tmp/.countdownlock" ] && [ -r "/tmp/.laststop" ]; then
 
-
rm -f /tmp/.countdownlock;
 
-
fi;
 
  BUS_STOPS=`ls /home/user/countdown/places`;
  BUS_STOPS=`ls /home/user/countdown/places`;
  LOOP=0
  LOOP=0
Line 917: Line 881:
  echo $THISTIME | sed -e s/_/\ /g > /tmp/.lastplace
  echo $THISTIME | sed -e s/_/\ /g > /tmp/.lastplace
  chmod 777 /tmp/.lastplace
  chmod 777 /tmp/.lastplace
-
;;
 
-
 
-
"--lock")
 
-
# This mode can be used by a third DCEW to lock the --display option to refresh only the current stop.
 
-
# Touch it again to have the --display option return to paging through stops in the local area.
 
-
if [ -r "/tmp/.countdownlock" ]; then
 
-
rm -f /tmp/.countdownlock
 
-
echo "next stop"
 
-
else
 
-
touch /tmp/.countdownlock
 
-
echo "refresh this stop"
 
-
fi
 
-
 
  ;;
  ;;
   
   
Line 983: Line 934:
  ;;
  ;;
   
   
-
  "--edit-place")
+
 
-
sed -i "s/  / /g" /home/user/countdown/places/`cat /tmp/.lastplace|sed -e "s/ /_/g"`
+
-
leafpad /home/user/countdown/places/`cat /tmp/.lastplace|sed -e "s/ /_/g"`
+
-
cp /home/user/countdown/places/`cat /tmp/.lastplace|sed -e "s/ /_/g"` /tmp/.bus_stops
+
-
echo ""
+
-
;;
+
   
   
  esac
  esac
 +

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)