65
moltenbar
Normal file → Executable file
65
moltenbar
Normal file → Executable file
@@ -1 +1,66 @@
|
||||
#!/usr/bin/env ruby
|
||||
|
||||
require 'yaml'
|
||||
|
||||
$queue = Queue.new
|
||||
$workers = []
|
||||
$panel_data = Hash.new("")
|
||||
|
||||
class ModBasic
|
||||
def mainloop()
|
||||
thread = Thread.new {
|
||||
self.data_loop()
|
||||
}
|
||||
|
||||
return thread
|
||||
end
|
||||
|
||||
def data_loop()
|
||||
while true do
|
||||
t = Time.new
|
||||
$panel_data[:dummy] = "#{t}: I am a dummy!"
|
||||
$queue << 1
|
||||
sleep(1)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
argv = ARGV
|
||||
while argv[0] != nil
|
||||
case argv[0]
|
||||
when "-h", "--help"
|
||||
puts "HELP"
|
||||
end
|
||||
|
||||
argv.shift()
|
||||
end
|
||||
|
||||
$config = YAML.load_file('./rc.yaml')
|
||||
|
||||
load './rc'
|
||||
|
||||
Dir["./mod/*"].each do |file|
|
||||
load file
|
||||
end
|
||||
|
||||
lemonbar_cmd = [
|
||||
"lemonbar",
|
||||
"-g", $config['geometry'],
|
||||
"-f", $config['fontspec'],
|
||||
"-n", $config['window_name'],
|
||||
"-a", $config['active_areas'],
|
||||
"-F", $config['colours']['fg'],
|
||||
"-B", $config['colours']['bg']
|
||||
]
|
||||
|
||||
puts "Launching lemonbar as: " + lemonbar_cmd.join(" ")
|
||||
|
||||
trap("SIGINT") { exit 0 }
|
||||
trap("SIGUSR1") { $queue << 1 }
|
||||
|
||||
IO.popen(lemonbar_cmd, "w") do |pipe|
|
||||
while true do
|
||||
data = $queue.pop
|
||||
pipe.puts draw()
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user