Re-use AWK components
[khatus.git] / bin / khatus_gen_bar_make_status
CommitLineData
03c229bf
SK
1#! /usr/bin/awk -f
2
3BEGIN {
4 aliases["@energy"] = "bar_make_status_energy()"
5 aliases["@memory"] = "bar_make_status_mem()"
6 aliases["@processes"] = "bar_make_status_procs()"
7 aliases["@cpu"] = "bar_make_status_cpu()"
8 aliases["@disk"] = "bar_make_status_disk()"
9 aliases["@net"] = "bar_make_status_net()"
10 aliases["@bluetooth"] = "bar_make_status_bluetooth()"
11 aliases["@backlight"] = "bar_make_status_screen_brightness()"
12 aliases["@volume"] = "bar_make_status_volume()"
13 aliases["@mpd"] = "bar_make_status_mpd()"
14 aliases["@weather"] = "bar_make_status_weather()"
15 aliases["@datetime"] = "bar_make_status_datetime()"
16 out = "function bar_make_status( position, bar, sep, i, j) {\n"
17 n = split(Status_Bar, s, ",")
18 for (i=1; i<=n; i++) {
19 alias = s[i]
20 function_call = aliases[alias]
21 if (function_call) {
22 out = out " position[++i] = " function_call ";\n"
23 } else {
24 printf("Unexpected status bar component alias: \"%s\"\n", alias) \
25 > "/dev/stderr"
26 exit(1)
27 }
28 }
29 out = out "\
30 bar = \"\";\
31 sep = \"\";\
32 for (j = 1; j <= i; j++) {\
33 bar = bar sep position[j];\
34 sep = \" \";\
35 }\
36 return bar;\
37 }";
38 print out
39}
This page took 0.028374 seconds and 4 git commands to generate.