From fef4121478dee22f87f010dff820b3f5aa195c44 Mon Sep 17 00:00:00 2001 From: Spencer Janssen Date: Fri, 5 Oct 2007 02:00:31 +0200 Subject: Make WindowSet serialization robust to layout changes darcs-hash:20071005000031-a5988-c8ab82b01a70dc7526fa64c71edc7673dbfab4db --- Main.hs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'Main.hs') diff --git a/Main.hs b/Main.hs index 414a283..a149d34 100644 --- a/Main.hs +++ b/Main.hs @@ -52,9 +52,16 @@ main = do let initialWinset = new defaultLayout workspaces $ zipWith SD xinesc gaps - winset | ("--resume" : s : _) <- args - , [(x, "")] <- reads s = W.ensureTags defaultLayout workspaces x - | otherwise = initialWinset + maybeRead s = case reads s of + [(x, "")] -> Just x + _ -> Nothing + + winset = fromMaybe initialWinset $ do + ("--resume" : s : _) <- return args + ws <- maybeRead s + return . W.ensureTags defaultLayout workspaces + $ W.mapLayout (fromMaybe defaultLayout . maybeRead) ws + gaps = take (length xinesc) $ defaultGaps ++ repeat (0,0,0,0) cf = XConf -- cgit v1.2.3