Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bar_applet("todo", 100) do |wmii, bar|
- bar.min_width = -10
- todo_file = wmii.plugin_config["erikh:todo"]["filename"] || File.join(ENV["HOME"], ".todo")
- terminal_program = wmii.plugin_config["standard"]["x-terminal-emulator"] || "xterm"
- editor = wmii.plugin_config["erikh:todo"]["editor"] || "xterm -e #{ENV["EDITOR"]}" || "xterm -e #{ENV["VISUAL"]}" || "xterm -e vi"
- todo_offset = 0
- change_todo = lambda do |increment|
- if increment
- todo_offset += increment
- todo_offset = 0 if todo_offset < 0
- end
- todo = nil
- while todo_offset > -1
- begin
- todo = File.open(todo_file) { |f| f.read.split(/\n/)[todo_offset].strip }
- break if todo.length > 0
- rescue Exception
- end
- todo_offset -= 1
- end
- if todo_offset == -1 and todo.length == 0
- todo_offset = 0
- todo = "Nothing"
- end
- bar.data = "To Do: \##{todo_offset}: #{todo}"
- end
- Thread.new do
- loop do
- change_todo[nil]
- sleep 3
- end
- end
- bar.on_click(MOUSE_BUTTON_LEFT) do
- system "ssid #{editor} #{todo_file} &"
- end
- bar.on_click(MOUSE_SCROLL_UP) do
- change_todo[-1]
- end
- bar.on_click(MOUSE_SCROLL_DOWN) do
- change_todo[1]
- end
- end
Add Comment
Please, Sign In to add comment