class Notiffany::Notifier::Tmux::Notification

Wraps a notification with it’s options

def _message_for(title, message)

def _message_for(title, message)
  message_format = _value_for(:message_format)
  formatted_message = message.split("\n").join(separator)
  format(message_format, title, formatted_message)
end

def _value_for(field)

def _value_for(field)
  format = "#{type}_#{field}".to_sym
  default = options["default_#{field}".to_sym]
  options.fetch(format, default)
end

def colorize(locations)

def colorize(locations)
  locations.each do |location|
    client.set(location, color)
  end
end

def display_message(title, message)

def display_message(title, message)
  message = _message_for(title, message)
  client.display_time = options[:timeout] * 1000
  client.message_fg = message_color
  client.message_bg = color
  client.display_message(message)
end

def display_title(title, message)

def display_title(title, message)
  title_format = _value_for(:title_format)
  teaser_message = message.split("\n").first
  display_title = format(title_format, title, teaser_message)
  client.title = display_title
end

def initialize(type, options)

def initialize(type, options)
  @type = type
  @options = options
  @color = options[type.to_sym] || options[:default]
  @separator = options[:line_separator]
  @message_color = _value_for(:message_color)
  @client = Client.new(options[:display_on_all_clients] ? :all : nil)
end