diff options
Diffstat (limited to '')
-rw-r--r-- | Invisible.hs | 5 | ||||
-rw-r--r-- | Tabbed.hs | 8 |
2 files changed, 7 insertions, 6 deletions
diff --git a/Invisible.hs b/Invisible.hs index 8a5295c..91659c5 100644 --- a/Invisible.hs +++ b/Invisible.hs @@ -17,6 +17,7 @@ module XMonadContrib.Invisible ( -- $usage Invisible (..) , whenIJust + , fromIMaybe ) where -- $usage @@ -41,3 +42,7 @@ instance (Functor m, Monad m) => Functor (Invisible m) where whenIJust :: (Monad m) => Invisible Maybe a -> (a -> m ()) -> m () whenIJust (I (Just x)) f = f x whenIJust (I Nothing) _ = return () + +fromIMaybe :: a -> Invisible Maybe a -> a +fromIMaybe _ (I (Just x)) = x +fromIMaybe a (I Nothing) = a @@ -137,7 +137,7 @@ handleMess _ _ = return Nothing handleEvent :: Invisible Maybe Shrinker -> TConf -> TabState -> Event -> X () -- button press handleEvent ishr conf (TabState {tabsWindows = tws, scr = screen, fontS = fs }) - (ButtonEvent {ev_window = thisw, ev_subwindow = thisbw, ev_event_type = t }) + (ButtonEvent {ev_window = thisw, ev_subwindow = thisbw, ev_event_type = t }) | t == buttonPress, tl <- map fst tws, thisw `elem` tl || thisbw `elem` tl = do focus (fromJust $ lookup thisw tws) updateTab ishr conf fs width (thisw, fromJust $ lookup thisw tws) @@ -145,7 +145,7 @@ handleEvent ishr conf (TabState {tabsWindows = tws, scr = screen, width = rect_width screen`div` fromIntegral (length tws) handleEvent ishr conf (TabState {tabsWindows = tws, scr = screen, fontS = fs }) - (AnyEvent {ev_window = thisw, ev_event_type = t }) + (AnyEvent {ev_window = thisw, ev_event_type = t }) -- expose | thisw `elem` (map fst tws) && t == expose = do updateTab ishr conf fs width (thisw, fromJust $ lookup thisw tws) @@ -206,7 +206,3 @@ shrinkWhile sh p x = sw $ sh x shrinkText :: Shrinker shrinkText "" = [""] shrinkText cs = cs : shrinkText (init cs) - -fromIMaybe :: a -> Invisible Maybe a -> a -fromIMaybe _ (I (Just x)) = x -fromIMaybe a (I Nothing) = a |