Skip to content

Commit 88d9dfa

Browse files
committed
make xmonad state persistent
1 parent 029b88a commit 88d9dfa

File tree

3 files changed

+10
-6
lines changed

3 files changed

+10
-6
lines changed

src/WeissScratchpad.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,10 @@ niceFloating = do
8686
(True, True, _, _) -> r (1 / 50) (26 / 50) (46 / 50) (20 / 50)
8787
(True, False, _, _) -> r (1 / 50) (3 / 50) (46 / 50) (20 / 50)
8888

89-
newtype CurrentScratchpadName = CurrentScratchpadName String
89+
newtype CurrentScratchpadName = CurrentScratchpadName String deriving newtype (Show, Read)
9090
instance ExtensionClass CurrentScratchpadName where
9191
initialValue = CurrentScratchpadName (head myScratchpadNames)
92+
extensionType = PersistentExtension
9293

9394
findNSP :: Window -> X (Maybe NamedScratchpad)
9495
findNSP w = findM (\(NS {..}) -> runQuery query w) myScratchPads

src/WeissWindowOperations.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,10 @@ mySwitchableWindows = do
120120
weissSwitchRecent :: X ()
121121
weissSwitchRecent = nextMatch History mySwitchableWindows
122122

123-
newtype NextSwitchWindow = NextSwitchWindow (Maybe Window)
123+
newtype NextSwitchWindow = NextSwitchWindow (Maybe Window) deriving newtype (Show, Read)
124124
instance ExtensionClass NextSwitchWindow where
125125
initialValue = NextSwitchWindow Nothing
126+
extensionType = PersistentExtension
126127

127128
updateNextSwitchWindow :: Window -> X ()
128129
updateNextSwitchWindow w = do

src/WorkspaceFamily.hs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ type Key = String
4343
type FamilyName = String
4444
type FamilyNum = Int
4545

46-
newtype NumberedFamily = NumberedFamily Int deriving newtype (Show, Eq)
46+
newtype NumberedFamily = NumberedFamily Int deriving newtype (Show, Eq, Read)
4747
allNumberedFamilies = NumberedFamily <$> [1 .. 9]
4848
instance Family NumberedFamily where
4949
fName = show
@@ -112,7 +112,7 @@ currentFamily = fromMaybeM (pure $ head allFamilies) $ runMaybeT $ do
112112
ws <- MaybeT logCurrent
113113
MaybeT $ pure $ find (`hasWorkspace` ws) allFamilies
114114

115-
newtype FamilyMember = FamilyMember Int deriving newtype (Show)
115+
newtype FamilyMember = FamilyMember Int deriving newtype (Show, Read)
116116
allFamilyMembers = FamilyMember <$> [1 .. 9]
117117
instance Node FamilyMember where
118118
workspaceID m = currentFamily <&> (`idWithMember` m)
@@ -145,13 +145,15 @@ instance Semigroup WsEffect where
145145

146146
type FamilyOrder = Int -- zero based
147147
newtype OrderedNumFamilies = OrderedNumFamilies [NumberedFamily]
148-
deriving newtype (Show)
148+
deriving newtype (Show, Read)
149149
instance ExtensionClass OrderedNumFamilies where
150150
initialValue = OrderedNumFamilies allNumberedFamilies
151+
extensionType = PersistentExtension
151152

152-
newtype FamilyStore = FamilyStore (HashMap FamilyName FamilyMember)
153+
newtype FamilyStore = FamilyStore (HashMap FamilyName FamilyMember) deriving newtype (Show, Read)
153154
instance ExtensionClass FamilyStore where
154155
initialValue = FamilyStore $ M.fromList ((,FamilyMember 1) <$> allFamiliyNames)
156+
extensionType = PersistentExtension
155157

156158
workspaceKeys' :: [([String], X ())]
157159
workspaceKeys' =

0 commit comments

Comments
 (0)