Ncurses отлично подходит для консольных приложений, и вы можете найти для него привязки для многих языков (или просто использовать сценарии оболочки). Есть даже проклятый гтк (http://zemljanka.sourceforge.net/cursed/), хотя я думаю, что работа над ним прекратилась довольно давно.
Вы не упомянули свою платформу, но для OS / X есть отличное небольшое приложение под названием Geektool (http://projects.tynsoe.org/en/geektool/)), которое позволяет вам выводить сценарии на рабочий стол. Я использую небольшой скрипт ruby для генерации моего список топ процессов:
puts %x{uptime}
IO.popen("ps aruxl") { |readme|
pslist = readme.to_a
pslist.shift # remove header line
pslist.each_with_index { |i,index|
ps = i.split
psh = { user: ps[0], pid: ps[1], pcpu: ps[2], pmem: ps[3],
vsz: ps[4], rss: ps[5], tty: ps[6], stat: ps[7],
time: ps[8], uid: ps[9], ppid: ps[10], cpu: ps[11], pri: ps[12],
nice: ps[13], wchan: ps[14], cmd: ps[16..ps.size].join(" ") }
printf("%-6s %-6s %-6s %s", "PID:", "%CPU:", "%Mem", "Command\n") if index == 0
printf("%-6d %-6.1f %-6.1f %s\n",
psh[:pid].to_i, psh[:pcpu].to_f, psh[:pmem].to_f, psh[:cmd]) if index < 10
}
}
(Возможно, это могло бы быть и лучше, но это был первый сценарий ruby, который я когда-либо писал, и, поскольку он работает, я никогда не пересматривал его, чтобы улучшить его - и он не требует ввода. В любом случае, это может помочь дать вам некоторые идеи)