mirror of
https://github.com/xmonad/xmonad.git
synced 2025-08-04 22:21:56 -07:00
Ignore window entries while moving windows. This should fix all the focus preservation problems.
This commit is contained in:
@@ -51,6 +51,16 @@ refresh = do
|
|||||||
Wide -> vtile (tileFraction fl) sc $ W.index n ws
|
Wide -> vtile (tileFraction fl) sc $ W.index n ws
|
||||||
whenJust (W.peekStack n ws) (io . raiseWindow d)
|
whenJust (W.peekStack n ws) (io . raiseWindow d)
|
||||||
whenJust (W.peek ws) setFocus
|
whenJust (W.peek ws) setFocus
|
||||||
|
clearEnterEvents
|
||||||
|
|
||||||
|
-- | clearEnterEvents. Remove all window entry events from the event queue.
|
||||||
|
clearEnterEvents :: X ()
|
||||||
|
clearEnterEvents = do
|
||||||
|
d <- gets display
|
||||||
|
io $ sync d False
|
||||||
|
io $ allocaXEvent $ \p -> fix $ \again -> do
|
||||||
|
more <- checkMaskEvent d enterWindowMask p
|
||||||
|
when more again
|
||||||
|
|
||||||
-- | tile. Compute the positions for windows in horizontal layout
|
-- | tile. Compute the positions for windows in horizontal layout
|
||||||
-- mode.
|
-- mode.
|
||||||
@@ -251,6 +261,7 @@ view n = do
|
|||||||
-- If the old workspace isn't visible anymore, we have to hide the windows
|
-- If the old workspace isn't visible anymore, we have to hide the windows
|
||||||
-- in case we're switching to an empty workspace.
|
-- in case we're switching to an empty workspace.
|
||||||
when (m `notElem` (W.visibleWorkspaces ws')) (mapM_ hide (W.index m ws))
|
when (m `notElem` (W.visibleWorkspaces ws')) (mapM_ hide (W.index m ws))
|
||||||
|
clearEnterEvents
|
||||||
setTopFocus
|
setTopFocus
|
||||||
|
|
||||||
-- | 'screenWorkspace sc' returns the workspace number viewed by 'sc'.
|
-- | 'screenWorkspace sc' returns the workspace number viewed by 'sc'.
|
||||||
|
Reference in New Issue
Block a user