mirror of
https://github.com/xmonad/xmonad.git
synced 2025-05-19 08:30:21 -07:00
a few modifications to event-sending to make Tabbed layout work.
This commit is contained in:
parent
b97e8836e2
commit
c8b6388fb8
3
Main.hs
3
Main.hs
@ -186,6 +186,7 @@ handle e@(ButtonEvent {ev_window = w,ev_event_type = t,ev_button = b })
|
|||||||
else focus w
|
else focus w
|
||||||
-- If it's the root window, then it's something we
|
-- If it's the root window, then it's something we
|
||||||
-- grabbed in grabButtons. Otherwise, it's click-to-focus.
|
-- grabbed in grabButtons. Otherwise, it's click-to-focus.
|
||||||
|
sendMessage e -- Always send button events.
|
||||||
|
|
||||||
-- entered a normal window, makes this focused.
|
-- entered a normal window, makes this focused.
|
||||||
handle e@(CrossingEvent {ev_window = w, ev_event_type = t})
|
handle e@(CrossingEvent {ev_window = w, ev_event_type = t})
|
||||||
@ -225,5 +226,3 @@ handle e@(ConfigureRequestEvent {ev_window = w}) = withDisplay $ \dpy -> do
|
|||||||
handle (ConfigureEvent {ev_window = w}) = whenX (isRoot w) rescreen
|
handle (ConfigureEvent {ev_window = w}) = whenX (isRoot w) rescreen
|
||||||
|
|
||||||
handle e = sendMessage e -- trace (eventName e) -- ignoring
|
handle e = sendMessage e -- trace (eventName e) -- ignoring
|
||||||
|
|
||||||
instance Message Event
|
|
||||||
|
@ -123,7 +123,7 @@ kill = withDisplay $ \d -> withFocused $ \w -> do
|
|||||||
-- ---------------------------------------------------------------------
|
-- ---------------------------------------------------------------------
|
||||||
-- Managing windows
|
-- Managing windows
|
||||||
|
|
||||||
data ModifyWindows = ModifyWindows deriving Typeable
|
data ModifyWindows = ModifyWindows deriving ( Typeable, Eq )
|
||||||
instance Message ModifyWindows
|
instance Message ModifyWindows
|
||||||
|
|
||||||
-- | windows. Modify the current window list with a pure function, and refresh
|
-- | windows. Modify the current window list with a pure function, and refresh
|
||||||
@ -345,6 +345,8 @@ sendMessage a = do n <- (W.tag . W.workspace . W.current) `fmap` gets windowset
|
|||||||
whenJust ml' $ \l' -> do modify $ \s -> s { layouts = M.insert n (l',ls) (layouts s) }
|
whenJust ml' $ \l' -> do modify $ \s -> s { layouts = M.insert n (l',ls) (layouts s) }
|
||||||
refresh
|
refresh
|
||||||
|
|
||||||
|
instance Message Event
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Builtin layout algorithms:
|
-- Builtin layout algorithms:
|
||||||
--
|
--
|
||||||
@ -436,6 +438,7 @@ splitVerticallyBy f = (mirrorRect *** mirrorRect) . splitHorizontallyBy f . mirr
|
|||||||
-- function and refresh.
|
-- function and refresh.
|
||||||
layout :: ((Layout, [Layout]) -> (Layout, [Layout])) -> X ()
|
layout :: ((Layout, [Layout]) -> (Layout, [Layout])) -> X ()
|
||||||
layout f = do
|
layout f = do
|
||||||
|
sendMessage ModifyWindows
|
||||||
modify $ \s ->
|
modify $ \s ->
|
||||||
let n = W.tag . W.workspace . W.current . windowset $ s
|
let n = W.tag . W.workspace . W.current . windowset $ s
|
||||||
(Just fl) = M.lookup n $ layouts s
|
(Just fl) = M.lookup n $ layouts s
|
||||||
|
Loading…
x
Reference in New Issue
Block a user