diff options
| author | tv <tv@krebsco.de> | 2022-04-05 21:39:55 +0200 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2022-04-05 22:06:40 +0200 |
| commit | f4cdf79bd4a75e9eafe68b9a908f4cc68682b7ef (patch) | |
| tree | d2cb50df2344d97042b2c006ee39811e2b87511d /src/Pager/Types.hs | |
| parent | 032cb86ff8108eb4915a692015da344a41f78506 (diff) | |
boom
Diffstat (limited to 'src/Pager/Types.hs')
| -rw-r--r-- | src/Pager/Types.hs | 22 |
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) |
