Postfix interval_[in|out]_* with "p"
[khatus.git] / bin / khatus
index 99e1628..d29755d 100755 (executable)
@@ -653,7 +653,7 @@ spawn() {
 main() {
     # Defaults
     debug=0
-    dir_data="$HOME/.khatus"
+    dir_data=$(mktemp -d)
     weather_station_id='KJFK'
     screen_brightness_device_name='acpi_video0'
     prefixes_of_net_interfaces_to_show='w'  # comma-separated
@@ -662,16 +662,52 @@ main() {
     thermal_zone=0
     fan_path='/proc/acpi/ibm/fan'
 
+    interval_inp_datetime=1
+    interval_inp_brightness=1
+    interval_inp_weather=$(( 30 * 60))  # 30 minutes
+    interval_inp_mpd_state=1
+    interval_inp_mpd_song=1
+    interval_inp_volume=1
+    interval_inp_bluetooth=5
+    interval_inp_net_wifi=5
+    interval_inp_net_io=1
+    interval_inp_disk_space=5
+    interval_inp_disk_io=1
+    interval_inp_loadavg=1
+    interval_inp_temp=1
+    interval_inp_fan=1
+    interval_inp_mem=1
+    interval_inp_energy=1
+    interval_outp_bar=1
+
     # User-overrides
     long_options=''
     long_options+='debug'
-    long_options+=',data-dir:'
-    long_options+=',weather-station:'
-    long_options+=',screen-device:'
+    long_options+=',data_dir:'
+    long_options+=',weather_station:'
+    long_options+=',screen_device:'
     long_options+=',prefixes_of_net_interfaces_to_show:'
     long_options+=',disk_space_device:'
+    long_options+=',disk_io_device:'
     long_options+=',thermal_zone:'
     long_options+=',fan_path:'
+    long_options+=',interval_inp_datetime:'
+    long_options+=',interval_inp_brightness:'
+    long_options+=',interval_inp_weather:'
+    long_options+=',interval_inp_mpd_state:'
+    long_options+=',interval_inp_mpd_song:'
+    long_options+=',interval_inp_volume:'
+    long_options+=',interval_inp_bluetooth:'
+    long_options+=',interval_inp_net_wifi:'
+    long_options+=',interval_inp_net_io:'
+    long_options+=',interval_inp_disk_space:'
+    long_options+=',interval_inp_disk_io:'
+    long_options+=',interval_inp_loadavg:'
+    long_options+=',interval_inp_temp:'
+    long_options+=',interval_inp_fan:'
+    long_options+=',interval_inp_mem:'
+    long_options+=',interval_inp_energy:'
+    long_options+=',interval_outp_bar:'
     OPTS=$(
         getopt \
             -o 'd' \
@@ -686,15 +722,15 @@ main() {
                 debug=1
                 shift
                 ;;
-            --data-dir)
+            --data_dir)
                 dir_data="$2"
                 shift 2
                 ;;
-            --weather-station)
+            --weather_station)
                 weather_station_id="$2"
                 shift 2
                 ;;
-            --screen-device)
+            --screen_device)
                 screen_brightness_device_name="$2"
                 shift 2
                 ;;
@@ -718,6 +754,74 @@ main() {
                 fan_path="$2"
                 shift 2
                 ;;
+            --interval_inp_datetime)
+                interval_inp_datetime="$2"
+                shift 2
+                ;;
+            --interval_inp_brightness)
+                interval_inp_brightness="$2"
+                shift 2
+                ;;
+            --interval_inp_weather)
+                interval_inp_weather="$2"
+                shift 2
+                ;;
+            --interval_inp_mpd_state)
+                interval_inp_mpd_state="$2"
+                shift 2
+                ;;
+            --interval_inp_mpd_song)
+                interval_inp_mpd_song="$2"
+                shift 2
+                ;;
+            --interval_inp_volume)
+                interval_inp_volume="$2"
+                shift 2
+                ;;
+            --interval_inp_bluetooth)
+                interval_inp_bluetooth="$2"
+                shift 2
+                ;;
+            --interval_inp_net_wifi)
+                interval_inp_net_wifi="$2"
+                shift 2
+                ;;
+            --interval_inp_net_io)
+                interval_inp_net_io="$2"
+                shift 2
+                ;;
+            --interval_inp_disk_space)
+                interval_inp_disk_space="$2"
+                shift 2
+                ;;
+            --interval_inp_disk_io)
+                interval_inp_disk_io="$2"
+                shift 2
+                ;;
+            --interval_inp_loadavg)
+                interval_inp_loadavg="$2"
+                shift 2
+                ;;
+            --interval_inp_temp)
+                interval_inp_temp="$2"
+                shift 2
+                ;;
+            --interval_inp_fan)
+                interval_inp_fan="$2"
+                shift 2
+                ;;
+            --interval_inp_mem)
+                interval_inp_mem="$2"
+                shift 2
+                ;;
+            --interval_inp_energy)
+                interval_inp_energy="$2"
+                shift 2
+                ;;
+            --interval_outp_bar)
+                interval_outp_bar="$2"
+                shift 2
+                ;;
             --)
                 shift
                 break
@@ -763,23 +867,23 @@ main() {
     cmd_produce_fan="produce_fan $fan_path"
 
     # TODO: Redirect each worker's stderr to a dedicated log file
-    spawn produce_datetime                 "$pipe" 'in:DATE_TIME' 1
-    spawn "$cmd_produce_screen_brightness" "$pipe" 'in:SCREEN_BRIGHTNESS' 1
-    spawn "$cmd_produce_weather"           "$pipe" 'in:WEATHER'   $(( 30 * 60 ))
-    spawn produce_mpd_state                "$pipe" 'in:MPD_STATE' 1
-    spawn produce_mpd_song                 "$pipe" 'in:MPD_SONG'  1
-    spawn produce_volume                   "$pipe" 'in:VOLUME'    1
-    spawn produce_bluetooth_power          "$pipe" 'in:BLUETOOTH_POWER' 5
-    spawn produce_net_wifi_status          "$pipe" 'in:NET_WIFI_STATUS' 5
-    spawn produce_net_addr_io              "$pipe" 'in:NET_ADDR_IO' 1
-    spawn "$cmd_produce_disk_space"        "$pipe" 'in:DISK_SPACE' 1
-    spawn "$cmd_produce_disk_io"           "$pipe" 'in:DISK_IO' 1
-    spawn produce_loadavg                  "$pipe" 'in:LOAD_AVG' 1
-    spawn "$cmd_produce_temperature"       "$pipe" 'in:TEMPERATURE' 1
-    spawn "$cmd_produce_fan"               "$pipe" 'in:FAN' 1
-    spawn produce_memory                   "$pipe" 'in:MEMORY' 1
-    spawn produce_energy                   "$pipe" 'in:ENERGY' 1
-    spawn produce_bar_req                  "$pipe" 'out:BAR'      1
+    spawn produce_datetime                 "$pipe" 'in:DATE_TIME' $interval_inp_datetime
+    spawn "$cmd_produce_screen_brightness" "$pipe" 'in:SCREEN_BRIGHTNESS' $interval_inp_brightness
+    spawn "$cmd_produce_weather"           "$pipe" 'in:WEATHER' $interval_inp_weather
+    spawn produce_mpd_state                "$pipe" 'in:MPD_STATE' $interval_inp_mpd_state
+    spawn produce_mpd_song                 "$pipe" 'in:MPD_SONG' $interval_inp_mpd_song
+    spawn produce_volume                   "$pipe" 'in:VOLUME' $interval_inp_volume
+    spawn produce_bluetooth_power          "$pipe" 'in:BLUETOOTH_POWER' $interval_inp_bluetooth
+    spawn produce_net_wifi_status          "$pipe" 'in:NET_WIFI_STATUS' $interval_inp_net_wifi
+    spawn produce_net_addr_io              "$pipe" 'in:NET_ADDR_IO' $interval_inp_net_io
+    spawn "$cmd_produce_disk_space"        "$pipe" 'in:DISK_SPACE' $interval_inp_disk_space
+    spawn "$cmd_produce_disk_io"           "$pipe" 'in:DISK_IO' $interval_inp_disk_io
+    spawn produce_loadavg                  "$pipe" 'in:LOAD_AVG' $interval_inp_loadavg
+    spawn "$cmd_produce_temperature"       "$pipe" 'in:TEMPERATURE' $interval_inp_temp
+    spawn "$cmd_produce_fan"               "$pipe" 'in:FAN' $interval_inp_fan
+    spawn produce_memory                   "$pipe" 'in:MEMORY' $interval_inp_mem
+    spawn produce_energy                   "$pipe" 'in:ENERGY' $interval_inp_energy
+    spawn produce_bar_req                  "$pipe" 'out:BAR' $interval_outp_bar
 
     consume \
       "$pipe" \
This page took 0.042031 seconds and 4 git commands to generate.