class Mynu

Attributes

__app[RW]
__menu[RW]
__status_item[RW]
items[RW]

Public Class Methods

new(icon = nil, menu_title = 'Mynu') click to toggle source

Prepare the application

# File lib/mynu.rb, line 27
def initialize(icon = nil, menu_title = 'Mynu')
  @__app = NSApplication.sharedApplication

  icon = File.join(File.dirname(__FILE__), '..', 'lib') + '/mynu/assets/logo.png' if icon.nil?

  @__status_item = status_bar.statusItemWithLength(NSVariableStatusItemLength)
  @__status_item.setImage NSImage.new.initWithContentsOfFile(icon)

  @__menu = Menu.new
  @__menu.initWithTitle menu_title
  @__menu.setAutoenablesItems false

  @items = []
end

Public Instance Methods

quit(sender) click to toggle source
# File lib/mynu.rb, line 47
def quit(sender)
  puts "Quitting :: Mynu"
  @__app.terminate(self)
end
run() click to toggle source
# File lib/mynu.rb, line 42
def run
  @__status_item.setMenu loadMenu
  @__app.run
end

Protected Instance Methods

loadMenu() click to toggle source
# File lib/mynu.rb, line 58
def loadMenu
  @items.each do |item|
    @__menu.addItem item
  end

  quit = Menu::MenuItem.new
  quit.title = 'Quit'
  quit.action = 'quit:'
  quit.target = self
  @__menu.addItem quit

  @__menu
end
status_bar() click to toggle source
# File lib/mynu.rb, line 54
def status_bar
  NSStatusBar.systemStatusBar
end