Informer for the XOSD notification system for X11.
You can install the ruby-bindings with:
gem install xosd.
Create a new instance, valid options are in DEFAULT. In the background a new thread will be running that checks the QUEUE and processes all messages that are being sent to it. This is done to make output nicer and readable.
# File lib/ramaze/log/xosd.rb, line 53 def initialize(options = {}) @options = DEFAULT.merge(options) super(@options[:lines]) @options.each do |key, value| next if IGNORE.include?(key) value = @options[:font_size] if key == :font send("#{key}=", value) end Thread.new(self) do |xosd| loop do items = [] lines = xosd.options[:lines] items << QUEUE.shift until QUEUE.empty? or items.size >= lines unless items.empty? # pad up with empty lines to avoid dragging around old messages. items << [:info, ' '] until items.size >= lines items.each_with_index do |(tag, message), i| xosd.color = xosd.options[:colors][tag.to_sym] xosd.display(message, i) end end sleep xosd.options[:timeout] end end end
Pushes all messages it gets on the QUEUE for further processing.
# File lib/ramaze/log/xosd.rb, line 87 def log(tag, *messages) messages.each do |message| QUEUE << [tag, message] end end
Generated with the Darkfish Rdoc Generator 2.