Code: Select all
[indent=4]
/* Build with valac --pkg gtk+-2.0 yourfile.gs */
uses
Gtk
init
Gtk.init (ref args)
var test = new StatusIconTest ()
test.show_all ()
Gtk.main ()
class StatusIconTest : Window
trayicon : StatusIcon
menu : Menu
init
title = "StatusIcon"
window_position = WindowPosition.CENTER
set_resizable(false)
destroy += exit_app
var label = new Label("Look the house in your taskbar !!!")
var hbox = new HBox (false, 0)
hbox.pack_start (label, false, true, 0)
add (hbox)
/* Create tray icon */
trayicon = new StatusIcon.from_stock(STOCK_HOME)
trayicon.set_tooltip_text ("Hello, i'm a tooltip !")
trayicon.set_visible(true)
trayicon.activate += icon_clicked
create_menu()
/* Create menu */
def private create_menu ()
menu = new Menu()
var menuItem = new ImageMenuItem.from_stock(STOCK_ABOUT, null)
menuItem.activate += about_clicked
menu.append(menuItem)
var menuItem2 = new ImageMenuItem.from_stock(STOCK_QUIT, null)
menuItem2.activate += exit_app
menu.append(menuItem2)
menu.show_all()
trayicon.popup_menu += def (button, time)
show_popup(button, time)
/* Show popup menu */
def private show_popup (button : uint, time : uint)
menu.popup(null, null, null, button, time)
def private icon_clicked ()
print("I know you have clicked on the icon !!")
def private about_clicked ()
var about = new AboutDialog ()
about.set_version("1.0")
about.set_program_name("Simple StatusIcon Test")
about.set_comments("This is a Simple StatusIcon Test")
about.set_copyright("Nicolas alias nikobordx")
about.run()
about.hide()
def private exit_app ()
Gtk.main_quit()
Nicolas.