# 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")
