Improve overview and experiment naming
[khatus.git] / x2 / src / awk / exe / gen_bar_make_status.awk
diff --git a/x2/src/awk/exe/gen_bar_make_status.awk b/x2/src/awk/exe/gen_bar_make_status.awk
new file mode 100644 (file)
index 0000000..63b5e5b
--- /dev/null
@@ -0,0 +1,74 @@
+#! /usr/bin/awk -f
+
+BEGIN {
+    aliases["@energy_percent"]      = "bar_make_status_energy_percent()"
+    aliases["@energy_direction"]    = "bar_make_status_energy_direction()"
+
+    aliases["@memory_percent"]      = "bar_make_status_mem_percent()"
+
+    aliases["@processes_count_all"] = "bar_make_status_procs_count_all()"
+    aliases["@processes_count_r"]   = "bar_make_status_procs_count_r()"
+    aliases["@processes_count_d"]   = "bar_make_status_procs_count_d()"
+    aliases["@processes_count_t"]   = "bar_make_status_procs_count_t()"
+    aliases["@processes_count_i"]   = "bar_make_status_procs_count_i()"
+    aliases["@processes_count_z"]   = "bar_make_status_procs_count_z()"
+
+    aliases["@cpu_loadavg"]         = "bar_make_status_cpu_loadavg()"
+    aliases["@cpu_temp"]            = "bar_make_status_cpu_temperature()"
+    aliases["@cpu_fan_speed"]       = "bar_make_status_cpu_fan_speed()"
+
+    aliases["@disk_space"]          = "bar_make_status_disk_space()"
+    aliases["@disk_io_w"]           = "bar_make_status_disk_io_w()"
+    aliases["@disk_io_r"]           = "bar_make_status_disk_io_r()"
+
+    aliases["@net_addr"]            = "bar_make_status_net_addr(\"%s\")"
+     params["@net_addr"]            = 1
+    aliases["@net_io_w"]            = "bar_make_status_net_io_w(\"%s\")"
+     params["@net_io_w"]            = 1
+    aliases["@net_io_r"]            = "bar_make_status_net_io_r(\"%s\")"
+     params["@net_io_r"]            = 1
+    aliases["@net_wifi"]            = "bar_make_status_net_wifi(\"%s\")"
+     params["@net_wifi"]            = 1
+
+    aliases["@bluetooth_power"]     = "bar_make_status_bluetooth_power()"
+
+    aliases["@backlight_percent"]   = "bar_make_status_backlight_percent()"
+
+    aliases["@volume"]              = "bar_make_status_volume_alsa_device(%d)"
+     params["@volume"]              = 1
+
+    aliases["@mpd"]                 = "bar_make_status_mpd()"
+
+    aliases["@weather_temp_f"]      = "bar_make_status_weather_temp_f()"
+
+    aliases["@datetime"]            = "bar_make_status_datetime()"
+
+    out = "function bar_make_status() {\n"
+    n_args = split(Status_Args, args_arr, ",")
+    for (i=1; i<=n_args; i++) {
+        arg = args_arr[i]
+        split(arg, arg_parts, ":")
+        alias = arg_parts[1]
+        n_expected_params = params[alias]
+        if (n_expected_params == 0) {
+            function_call = aliases[alias]
+        } else if (n_expected_params == 1) {
+            function_call = sprintf(aliases[alias], arg_parts[2])
+        } else {
+            printf(\
+                "Unsupported number of params: %d in %s\n",
+                n_expected_params, alias) \
+                > "/dev/stderr"
+            exit(1)
+        }
+        if (function_call) {
+            args_str = args_str ", " function_call
+        } else {
+            printf("Unexpected status bar component alias: \"%s\"\n", alias) \
+                > "/dev/stderr"
+            exit(1)
+        }
+    }
+    out = out "    return sprintf(\"" Status_Fmt "\"" args_str ");\n}";
+    print out
+}
This page took 0.0278350000000001 seconds and 4 git commands to generate.