module Chiasma.Codec.Data.PaneDetail where import Chiasma.Codec (TmuxCodec) import Chiasma.Data.TmuxId (HasPaneId, PaneId) import qualified Chiasma.Data.TmuxId as HasPaneId (HasPaneId(..)) data PaneDetail = PaneDetail { PaneDetail -> PaneId paneId :: PaneId, PaneDetail -> Int paneWidth :: Int, PaneDetail -> Int paneHeight :: Int, PaneDetail -> Int paneTop :: Int, PaneDetail -> Int paneLeft :: Int } deriving (PaneDetail -> PaneDetail -> Bool (PaneDetail -> PaneDetail -> Bool) -> (PaneDetail -> PaneDetail -> Bool) -> Eq PaneDetail forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: PaneDetail -> PaneDetail -> Bool $c/= :: PaneDetail -> PaneDetail -> Bool == :: PaneDetail -> PaneDetail -> Bool $c== :: PaneDetail -> PaneDetail -> Bool Eq, Int -> PaneDetail -> ShowS [PaneDetail] -> ShowS PaneDetail -> String (Int -> PaneDetail -> ShowS) -> (PaneDetail -> String) -> ([PaneDetail] -> ShowS) -> Show PaneDetail forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [PaneDetail] -> ShowS $cshowList :: [PaneDetail] -> ShowS show :: PaneDetail -> String $cshow :: PaneDetail -> String showsPrec :: Int -> PaneDetail -> ShowS $cshowsPrec :: Int -> PaneDetail -> ShowS Show, (forall x. PaneDetail -> Rep PaneDetail x) -> (forall x. Rep PaneDetail x -> PaneDetail) -> Generic PaneDetail forall x. Rep PaneDetail x -> PaneDetail forall x. PaneDetail -> Rep PaneDetail x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep PaneDetail x -> PaneDetail $cfrom :: forall x. PaneDetail -> Rep PaneDetail x Generic, TmuxQuery Text -> Either TmuxDecodeError PaneDetail (Text -> Either TmuxDecodeError PaneDetail) -> TmuxQuery -> TmuxCodec PaneDetail forall a. (Text -> Either TmuxDecodeError a) -> TmuxQuery -> TmuxCodec a query :: TmuxQuery $cquery :: TmuxQuery decode :: Text -> Either TmuxDecodeError PaneDetail $cdecode :: Text -> Either TmuxDecodeError PaneDetail TmuxCodec) instance HasPaneId PaneDetail where paneId :: PaneDetail -> PaneId paneId = PaneDetail -> PaneId paneId