Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'amazing'
- CONFIG = File.expand_path("~/.awesomerc")
- list = {}
- screen, statusbar = nil, nil
- File.readlines(CONFIG).each do |line|
- case line
- when /^\s*screen .*(\d+)/
- screen = $1.to_i
- list[screen] = {}
- when /^\s*statusbar[" ]*([^" ]+)/
- statusbar = $1
- list[screen][statusbar] = []
- when /^\s*(?:graph|iconbox|progressbar|textbox)[" ]*([^" ]+)/
- list[screen][statusbar] << $1
- end
- end
- list.each do |screen, statusbars|
- statusbars.each do |statusbar, widgets|
- puts "awesome {"
- puts " set :screen => %s" % screen unless screen == 0
- puts " set :statusbar => %s" % statusbar.inspect unless statusbar == "mystatusbar"
- puts if screen != 0 || statusbar != "mystatusbar"
- widgets.each do |widget|
- puts " widget(%s) {" % widget.inspect
- if Amazing::Widgets.constants.include? widget.camel_case
- puts " set :module => :%s" % widget
- puts " set :interval => 1"
- Amazing::Widgets.const_get(widget.camel_case).options.each do |option, data|
- puts " set %s => %s" % [option.inspect, data[:default].inspect]
- end
- else
- puts " set :module => :noop"
- puts " set :interval => 1"
- end
- puts " }"
- puts unless widget == widgets.last
- end
- puts "}"
- end
- end
Add Comment
Please, Sign In to add comment