--- /dev/null
+#! /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
+}