X-Git-Url: https://git.xandkar.net/?p=khatus.git;a=blobdiff_plain;f=bin%2Fkhatus_gen_bar_make_status;h=7c34148ba05ddd5af8a036d7cc943f8bcf98498a;hp=00e55060b49b4693284cfa3094a0be8075533b91;hb=65034298ed16f62809953c9554c46b253564bf5f;hpb=e62110ca0e9df50acdd458df7ef19cc8c1a4b81b diff --git a/bin/khatus_gen_bar_make_status b/bin/khatus_gen_bar_make_status index 00e5506..7c34148 100755 --- a/bin/khatus_gen_bar_make_status +++ b/bin/khatus_gen_bar_make_status @@ -1,39 +1,74 @@ #! /usr/bin/awk -f BEGIN { - aliases["@energy"] = "bar_make_status_energy()" - aliases["@memory"] = "bar_make_status_mem()" - aliases["@processes"] = "bar_make_status_procs()" - aliases["@cpu"] = "bar_make_status_cpu()" - aliases["@disk"] = "bar_make_status_disk()" - aliases["@net"] = "bar_make_status_net()" - aliases["@bluetooth"] = "bar_make_status_bluetooth()" - aliases["@backlight"] = "bar_make_status_screen_brightness()" - aliases["@volume"] = "bar_make_status_volume()" - aliases["@mpd"] = "bar_make_status_mpd()" - aliases["@weather"] = "bar_make_status_weather()" - aliases["@datetime"] = "bar_make_status_datetime()" - out = "function bar_make_status( position, bar, sep, i, j) {\n" - n = split(Status_Bar, s, ",") - for (i=1; i<=n; i++) { - alias = s[i] - function_call = aliases[alias] + 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_pa_sink"] = "bar_make_status_volume_pulseaudio_sink(%d)" + params["@volume_pa_sink"] = 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) { - out = out " position[++i] = " function_call ";\n" + args_str = args_str ", " function_call } else { printf("Unexpected status bar component alias: \"%s\"\n", alias) \ > "/dev/stderr" exit(1) } } - out = out "\ - bar = \"\";\ - sep = \"\";\ - for (j = 1; j <= i; j++) {\ - bar = bar sep position[j];\ - sep = \" \";\ - }\ - return bar;\ - }"; + out = out " return sprintf(\"" Status_Fmt "\"" args_str ");\n}"; print out }