Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 677c1b5134368504c2e447757584d19e > files > 578

ghc-gtk-devel-0.11.2-5.fc14.i686.rpm

-- 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