gtk-0.11.1: demo/statusicon/StatusIcon.hs
-- Simple StatusIcon example
import Graphics.UI.Gtk
import qualified Graphics.UI.Gtk.Display.StatusIcon as I
main = do
initGUI
icon <- statusIconNewFromStock stockQuit
statusIconSetVisible icon True
statusIconSetTooltip icon "This is a test"
menu <- mkmenu icon
I.onPopupMenu icon $ \b a -> do
widgetShowAll menu
print (b,a)
menuPopup menu $ maybe Nothing (\b' -> Just (b',a)) b
I.onActivate icon $ do
putStrLn "'activate' signal triggered"
mainGUI
mkmenu s = do
m <- menuNew
mapM_ (mkitem m) [("Let's blink!",statusIconSetBlinking s True)
,("Let's stop blink!",statusIconSetBlinking s False)
,("Quit",mainQuit)]
return m
where
mkitem menu (label,act) =
do i <- menuItemNewWithLabel label
menuShellAppend menu i
i `onActivateLeaf` act