- # Defaults
- debug=0
- dir_bin="$HOME/bin"
- dir_logs=$(mktemp -d)
- file_pipe=$(mktemp)
- weather_station_id='KJFK'
- screen_brightness_device_name='acpi_video0'
- prefixes_of_net_interfaces_to_show='w' # comma-separated
- disk_space_device='/'
- disk_io_device='sda'
- 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
-
- # User-overrides
- # ---------------------------------------------------------------------
- # IMPORTANT:
- # In order for automatic value reporting, at startup, to work - ensure that
- # long option names match corresponding variable names!
- # ---------------------------------------------------------------------
- long_options=''
- long_options+='debug'
- long_options+=',dir_bin:'
- long_options+=',dir_logs:'
- long_options+=',file_pipe:'
- long_options+=',weather_station_id:'
- long_options+=',screen_brightness_device_name:'
- 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:'
- OPTS=$(
- getopt \
- -o 'd' \
- -l $long_options \
- -- "$@"
+ declare -A opts=(
+ ["--dir_bin"]="$HOME/bin"
+ ["--dir_perf_logs"]=''
+ ["--file_pipe"]=$(mktemp)
+ ["--weather_station_id"]='KJFK'
+ ["--screen_brightness_device_name"]='acpi_video0'
+ ["--wifi_interface"]=''
+ ["--disk_space_device"]='/'
+ ["--disk_io_device"]='sda'
+ ["--thermal_zone"]=0
+ ["--fan_path"]='/proc/acpi/ibm/fan'
+ ["--pulseaudio_sink"]='0'
+ ["--interval_datetime"]=1
+ ["--interval_procs"]=1
+ ["--interval_brightness"]=1
+ ["--interval_weather"]=$(( 30 * 60)) # 30 minutes
+ ["--interval_mpd"]=1
+ ["--interval_volume"]=1
+ ["--interval_bluetooth"]=1
+ ["--interval_net_wifi"]=1
+ ["--interval_net_io"]=1
+ ["--interval_disk_space"]=1
+ ["--interval_disk_io"]=1
+ ["--interval_loadavg"]=1
+ ["--interval_temp"]=1
+ ["--interval_fan"]=1
+ ["--interval_mem"]=1