termonad-0.2.1.0: Terminal emulator configurable in Haskell

Safe Haskell | None
Language | Haskell2010

Termonad.Types

# Documentation

data TMTerm Source #

Constructors

TMTerm |

Fields

- term :: !Terminal
- pid :: !Int
- unique :: !Unique

Instances

Eq TMTerm Source # |
Instance details Defined in Termonad.Types Methods (==) :: TMTerm -> TMTerm -> Bool Source # (/=) :: TMTerm -> TMTerm -> Bool Source #
Show TMTerm Source # |
Instance details Defined in Termonad.Types Methods showsPrec :: Int -> TMTerm -> ShowS Source # show :: TMTerm -> String Source # showList :: [TMTerm] -> ShowS Source #

lensUnique :: Lens' TMTerm Unique Source #

lensTerm :: Lens' TMTerm Terminal Source #

lensPid :: Lens' TMTerm Int Source #

data TMNotebookTab Source #

Constructors

TMNotebookTab |

Fields

- tmNotebookTabTermContainer :: !ScrolledWindow
- tmNotebookTabTerm :: !TMTerm
- tmNotebookTabLabel :: !Label

Instances

Eq TMNotebookTab Source # |
Instance details Defined in Termonad.Types Methods (==) :: TMNotebookTab -> TMNotebookTab -> Bool Source # (/=) :: TMNotebookTab -> TMNotebookTab -> Bool Source #
Show TMNotebookTab Source # |
Instance details Defined in Termonad.Types Methods showsPrec :: Int -> TMNotebookTab -> ShowS Source # show :: TMNotebookTab -> String Source # showList :: [TMNotebookTab] -> ShowS Source #

lensTMNotebookTabTermContainer :: Lens' TMNotebookTab ScrolledWindow Source #

lensTMNotebookTabTerm :: Lens' TMNotebookTab TMTerm Source #

lensTMNotebookTabLabel :: Lens' TMNotebookTab Label Source #

data TMNotebook Source #

Constructors

TMNotebook |

Fields

- tmNotebook :: !Notebook
- tmNotebookTabs :: !(FocusList TMNotebookTab)

Instances

Show TMNotebook Source # |
Instance details Defined in Termonad.Types Methods showsPrec :: Int -> TMNotebook -> ShowS Source # show :: TMNotebook -> String Source # showList :: [TMNotebook] -> ShowS Source #

lensTMNotebookTabs :: Lens' TMNotebook (FocusList TMNotebookTab) Source #

lensTMNotebook :: Lens' TMNotebook Notebook Source #

data UserRequestedExit Source #

Constructors

UserRequestedExit |
UserDidNotRequestExit |

Instances

Eq UserRequestedExit Source # |
Instance details Defined in Termonad.Types Methods (==) :: UserRequestedExit -> UserRequestedExit -> Bool Source # (/=) :: UserRequestedExit -> UserRequestedExit -> Bool Source #
Show UserRequestedExit Source # |
Instance details Defined in Termonad.Types Methods showsPrec :: Int -> UserRequestedExit -> ShowS Source # show :: UserRequestedExit -> String Source # showList :: [UserRequestedExit] -> ShowS Source #

data TMState' Source #

Constructors

TMState |

Fields

- tmStateApp :: !Application
- tmStateAppWin :: !ApplicationWindow
- tmStateNotebook :: !TMNotebook
- tmStateFontDesc :: !FontDescription
- tmStateConfig :: !TMConfig
- tmStateUserReqExit :: !UserRequestedExit

  This signifies whether or not the user has requested that Termonad exit by either closing all terminals or clicking the exit button. If so, `tmStateUserReqExit` should have a value of `UserRequestedExit`. However, if the window manager requested Termonad to exit (probably through the user trying to close Termonad through their window manager), then this will be set to `UserDidNotRequestExit`.

Instances

Show TMState' Source # |
Instance details Defined in Termonad.Types Methods showsPrec :: Int -> TMState' -> ShowS Source # show :: TMState' -> String Source # showList :: [TMState'] -> ShowS Source #

lensTMStateUserReqExit :: Lens' TMState' UserRequestedExit Source #

lensTMStateNotebook :: Lens' TMState' TMNotebook Source #

lensTMStateFontDesc :: Lens' TMState' FontDescription Source #

lensTMStateConfig :: Lens' TMState' TMConfig Source #

lensTMStateAppWin :: Lens' TMState' ApplicationWindow Source #

lensTMStateApp :: Lens' TMState' Application Source #

type TMState = MVar TMState' Source #

createTMTerm :: Terminal -> Int -> Unique -> TMTerm Source #

newTMTerm :: Terminal -> Int -> IO TMTerm Source #

createTMNotebookTab :: Label -> ScrolledWindow -> TMTerm -> TMNotebookTab Source #

createTMNotebook :: Notebook -> FocusList TMNotebookTab -> TMNotebook Source #

createEmptyTMNotebook :: Notebook -> TMNotebook Source #

newTMState :: TMConfig -> Application -> ApplicationWindow -> TMNotebook -> FontDescription -> IO TMState Source #

newEmptyTMState :: TMConfig -> Application -> ApplicationWindow -> Notebook -> FontDescription -> IO TMState Source #

newTMStateSingleTerm :: TMConfig -> Application -> ApplicationWindow -> Notebook -> Label -> ScrolledWindow -> Terminal -> Int -> FontDescription -> IO TMState Source #

traceShowMTMState :: TMState -> IO () Source #

pTraceShowMTMState :: TMState -> IO () Source #

getFocusedTermFromState :: TMState -> IO (Maybe Terminal) Source #

setUserRequestedExit :: TMState -> IO () Source #

getUserRequestedExit :: TMState -> IO UserRequestedExit Source #