diff --git a/Operations.hs b/Operations.hs index ee1fd80..3deb4ad 100644 --- a/Operations.hs +++ b/Operations.hs @@ -329,9 +329,9 @@ instance Message Event -- | Set the layout of the currently viewed workspace setLayout :: SomeLayout Window -> X () setLayout l = do - sendMessage ReleaseResources - windows $ \ss@(W.StackSet { W.current = c@(W.Screen { W.workspace = ws })}) - -> ss {W.current = c { W.workspace = ws { W.layout = l } } } + ss@(W.StackSet { W.current = c@(W.Screen { W.workspace = ws })}) <- gets windowset + handleMessage (W.layout ws) (SomeMessage ReleaseResources) + windows $ const $ ss {W.current = c { W.workspace = ws { W.layout = l } } } -- Layout selection manager