# vim: ft=ruby class GPU < Worker require 'open3' def mainloop() while true do Open3.popen2("nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader") {|i,o,t| gpu_temp = o.gets.to_i if gpu_temp > @my_config['temp_crit'].to_i fg_colour = "crit_colour" elsif gpu_temp > @my_config['temp_warn'].to_i fg_colour = "warn_colour" else fg_colour = "ok_colour" end rstr = "%%{FC{%s}}%s%%{F-}" % [ fg_colour, gpu_temp ] self.write(rstr) } sleep(1) end end end Modules.add("gpu", "GPU")