Class: Mynu

Inherits:
Object
  • Object
show all
Includes:
Dsl::Block
Defined in:
lib/mynu.rb,
lib/mynu/dsl.rb,
lib/mynu/menu.rb,
lib/mynu/support.rb,
lib/mynu/version.rb,
lib/mynu/dsl/block.rb,
lib/mynu/menu/menu_item.rb,
lib/mynu/support/system.rb,
lib/mynu/support/terminal.rb,
lib/mynu/menu/block_menu_item.rb

Defined Under Namespace

Modules: Dsl, Menu, Support, Version Classes: Receivable

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Dsl::Block

#add_item, #app, #item, #item_block, #menu, #open, #separator, #terminal

Constructor Details

#initialize(icon = nil, menu_title = 'Mynu') ⇒ Mynu

Prepare the application



27
28
29
30
31
32
33
34
35
36
37
38
39
40
# 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

Instance Attribute Details

#__appObject

the sharedApplication



17
18
19
# File 'lib/mynu.rb', line 17

def __app
  @__app
end

#__menuObject

menu container



19
20
21
# File 'lib/mynu.rb', line 19

def __menu
  @__menu
end

#__status_itemObject

the new bar icon



18
19
20
# File 'lib/mynu.rb', line 18

def __status_item
  @__status_item
end

#itemsObject

Returns the value of attribute items.



24
25
26
# File 'lib/mynu.rb', line 24

def items
  @items
end

Instance Method Details

#quit(sender) ⇒ Object



47
48
49
50
# File 'lib/mynu.rb', line 47

def quit(sender)
  puts "Quitting :: Mynu"
  @__app.terminate(self)
end

#runObject



42
43
44
45
# File 'lib/mynu.rb', line 42

def run
  @__status_item.setMenu loadMenu
  @__app.run
end