wmii/cmd/wmiiloop.awk

36 lines
507 B
Awk

#!AWKPATH -f
BEGIN {
arg[1] = "Nop"
body = "";
writekeys = "wmiir write /keys"
print "IFS=''"
}
function addevent() {
if(arg[1] == "Key")
keys[arg[2]] = 1;
var = arg[1] "s"
print var "=\"$" var " " arg[2] "\""
gsub("[^a-zA-Z_0-9]", "_", arg[2]);
if(body != "")
print arg[1] "_" arg[2] "() {" body "\n}"
}
/^(Event|Key|Action)[ \t]/ {
addevent()
split($0, arg)
body = ""
}
/^[ \t]/ {
body = body"\n"$0
}
END {
addevent()
for(key in keys)
print key | writekeys;
close(writekeys);
}