summaryrefslogtreecommitdiffstats
path: root/src/Pager/Types.hs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2022-04-05 21:39:55 +0200
committertv <tv@krebsco.de>2022-04-05 22:06:40 +0200
commitf4cdf79bd4a75e9eafe68b9a908f4cc68682b7ef (patch)
treed2cb50df2344d97042b2c006ee39811e2b87511d /src/Pager/Types.hs
parent032cb86ff8108eb4915a692015da344a41f78506 (diff)
boom
Diffstat (limited to 'src/Pager/Types.hs')
-rw-r--r--src/Pager/Types.hs22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/Pager/Types.hs b/src/Pager/Types.hs
index 95dd837..a2ea5aa 100644
--- a/src/Pager/Types.hs
+++ b/src/Pager/Types.hs
@@ -1,10 +1,24 @@
{-# LANGUAGE TemplateHaskell #-}
module Pager.Types where
-import Data.Aeson.TH (Options(fieldLabelModifier), deriveJSON, defaultOptions)
import Data.Text (Text)
+import Scanner (Scan)
+data Action
+ = None
+ | FocusWorkspace Text
+
+data Command =
+ ViewWorkspace |
+ ShiftWindowToWorkspace Int |
+ ShiftWindowToAndViewWorkspace Int
+
+data Event =
+ EResize Int Int |
+ EScan Scan |
+ EShutdown
+
data Geometry = Geometry
{ geometry_x :: Int
, geometry_y :: Int
@@ -24,9 +38,5 @@ data Workspace = Workspace
{ workspace_geometry :: Geometry
, workspace_focused :: Bool
, workspace_name :: Text
- , workspace_windows :: [Window]
+ , workspace_windows :: [Window] -- sorted by z-order, earlier windows overlap later ones
}
-
-$(deriveJSON defaultOptions { fieldLabelModifier = tail . dropWhile (/='_') } ''Geometry)
-$(deriveJSON defaultOptions { fieldLabelModifier = tail . dropWhile (/='_') } ''Window)
-$(deriveJSON defaultOptions { fieldLabelModifier = tail . dropWhile (/='_') } ''Workspace)