summaryrefslogtreecommitdiffstats
path: root/Operations.hs
diff options
context:
space:
mode:
authorSpencer Janssen <sjanssen@cse.unl.edu>2007-09-28 02:22:41 +0200
committerSpencer Janssen <sjanssen@cse.unl.edu>2007-09-28 02:22:41 +0200
commit776f0cf4b665cf58bde5558b95d4d96fae7a9c53 (patch)
tree02716652f409ea04abd4fbeb9306e57ee0d168c4 /Operations.hs
parent05a074f45dc3abce2058e2c41cda7a485c912a75 (diff)
downloadmetatile-776f0cf4b665cf58bde5558b95d4d96fae7a9c53.tar
metatile-776f0cf4b665cf58bde5558b95d4d96fae7a9c53.zip
Add setLayout to the core
darcs-hash:20070928002241-a5988-68aacebdf64cab00c7c68bf3c91fb55210c31e99
Diffstat (limited to 'Operations.hs')
-rw-r--r--Operations.hs7
1 files changed, 7 insertions, 0 deletions
diff --git a/Operations.hs b/Operations.hs
index 128c4ad..ee1fd80 100644
--- a/Operations.hs
+++ b/Operations.hs
@@ -326,6 +326,13 @@ runOnWorkspaces job = do ws <- gets windowset
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 } } }
+
-- Layout selection manager
-- This is a layout that allows users to switch between various layout