1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
-- Simple StatusIcon example
import Graphics.UI.Gtk
main = do
initGUI
icon <- statusIconNewFromStock stockQuit
statusIconSetVisible icon True
statusIconSetTooltipText icon $ Just "This is a test"
menu <- mkmenu icon
on icon statusIconPopupMenu $ \b a -> do
widgetShowAll menu
print (b,a)
menuPopup menu $ maybe Nothing (\b' -> Just (b',a)) b
on icon statusIconActivate $ do
putStrLn "'activate' signal triggered"
mainGUI
mkmenu s = do
m <- menuNew
mapM_ (mkitem m) [("Quit",mainQuit)]
return m
where
mkitem menu (label,act) =
do i <- menuItemNewWithLabel label
menuShellAppend menu i
on i menuItemActivated act
|