| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Termonad.Types
Contents
Synopsis
- data TMTerm = TMTerm {}
- data TMNotebookTab = TMNotebookTab {}
- data TMNotebook = TMNotebook {
- tmNotebook :: !Notebook
- tmNotebookTabs :: !(FocusList TMNotebookTab)
- data TMState' = TMState {}
- type TMState = MVar TMState'
- createTMTerm :: Terminal -> Int -> Unique -> TMTerm
- newTMTerm :: Terminal -> Int -> IO TMTerm
- getFocusedTermFromState :: TMState -> IO (Maybe Terminal)
- createTMNotebookTab :: Label -> ScrolledWindow -> TMTerm -> TMNotebookTab
- createTMNotebook :: Notebook -> FocusList TMNotebookTab -> TMNotebook
- createEmptyTMNotebook :: Notebook -> TMNotebook
- notebookToList :: Notebook -> IO [Widget]
- newTMState :: TMConfig -> Application -> ApplicationWindow -> TMNotebook -> FontDescription -> IO TMState
- newEmptyTMState :: TMConfig -> Application -> ApplicationWindow -> Notebook -> FontDescription -> IO TMState
- newTMStateSingleTerm :: TMConfig -> Application -> ApplicationWindow -> Notebook -> Label -> ScrolledWindow -> Terminal -> Int -> FontDescription -> IO TMState
- traceShowMTMState :: TMState -> IO ()
- data FontSize
- defaultFontSize :: FontSize
- modFontSize :: Int -> FontSize -> FontSize
- data FontConfig = FontConfig {
- fontFamily :: !Text
- fontSize :: !FontSize
- defaultFontConfig :: FontConfig
- data Option a
- whenSet :: Monoid m => Option a -> (a -> m) -> m
- data ShowScrollbar
- data ShowTabBar
- data ConfigOptions = ConfigOptions {}
- defaultConfigOptions :: ConfigOptions
- data TMConfig = TMConfig {
- options :: !ConfigOptions
- hooks :: !ConfigHooks
- defaultTMConfig :: TMConfig
- data ConfigHooks = ConfigHooks {
- createTermHook :: TMState -> Terminal -> IO ()
- defaultConfigHooks :: ConfigHooks
- defaultCreateTermHook :: TMState -> Terminal -> IO ()
- data FocusNotSameErr
- data TabsDoNotMatch
- data TMStateInvariantErr
- invariantTMState' :: TMState' -> IO [TMStateInvariantErr]
- assertInvariantTMState :: TMState -> IO ()
- pPrintTMState :: TMState -> IO ()
Documentation
A wrapper around a VTE Terminal. This also stores the process ID of the
process running on this terminal, as well as a Unique that can be used for
comparing terminals.
Constructors
| TMTerm | |
data TMNotebookTab Source #
A container that holds everything in a given terminal window. The term
in the TMTerm is inside the tmNotebookTabTermContainer ScrolledWindow.
The notebook tab Label is also available.
Constructors
| TMNotebookTab | |
Fields
| |
Instances
| Eq TMNotebookTab Source # | |
Defined in Termonad.Types Methods (==) :: TMNotebookTab -> TMNotebookTab -> Bool # (/=) :: TMNotebookTab -> TMNotebookTab -> Bool # | |
| Show TMNotebookTab Source # | |
Defined in Termonad.Types Methods showsPrec :: Int -> TMNotebookTab -> ShowS # show :: TMNotebookTab -> String # showList :: [TMNotebookTab] -> ShowS # | |
data TMNotebook Source #
This holds the GTK Notebook containing multiple tabs of Terminals. We
keep a separate list of terminals in tmNotebookTabs.
Constructors
| TMNotebook | |
Fields
| |
Instances
| Show TMNotebook Source # | |
Defined in Termonad.Types Methods showsPrec :: Int -> TMNotebook -> ShowS # show :: TMNotebook -> String # showList :: [TMNotebook] -> ShowS # | |
Constructors
| TMState | |
Fields | |
createTMNotebookTab :: Label -> ScrolledWindow -> TMTerm -> TMNotebookTab Source #
createTMNotebook :: Notebook -> FocusList TMNotebookTab -> 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 #
The font size for the Termonad terminal. There are two ways to set the fontsize, corresponding to the two different ways to set the font size in the Pango font rendering library.
If you're not sure which to use, try FontSizePoints first and see how it
looks. It should generally correspond to font sizes you are used to from
other applications.
Constructors
| FontSizePoints Int | This sets the font size based on "points". The conversion between a
point and an actual size depends on the system configuration and the
output device. The function |
| FontSizeUnits Double | This sets the font size based on "device units". In general, this
can be thought of as one pixel. The function
|
Instances
| Eq FontSize Source # | |
| Show FontSize Source # | |
| Generic FontSize Source # | |
| FromJSON FontSize Source # | |
Defined in Termonad.Types | |
| ToJSON FontSize Source # | |
Defined in Termonad.Types Methods toEncoding :: FontSize -> Encoding toJSONList :: [FontSize] -> Value toEncodingList :: [FontSize] -> Encoding | |
| type Rep FontSize Source # | |
Defined in Termonad.Types type Rep FontSize = D1 ('MetaData "FontSize" "Termonad.Types" "termonad-4.0.0.1-kD3vSPWTY257BsxzCDQmK" 'False) (C1 ('MetaCons "FontSizePoints" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: C1 ('MetaCons "FontSizeUnits" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double))) | |
defaultFontSize :: FontSize Source #
The default FontSize used if not specified.
>>>defaultFontSizeFontSizePoints 12
modFontSize :: Int -> FontSize -> FontSize Source #
Modify a FontSize by adding some value.
>>>modFontSize 1 (FontSizePoints 13)FontSizePoints 14>>>modFontSize 1 (FontSizeUnits 9.0)FontSizeUnits 10.0
You can reduce the font size by passing a negative value.
>>>modFontSize (-2) (FontSizePoints 13)FontSizePoints 11
If you try to create a font size less than 1, then the old font size will be used.
>>>modFontSize (-10) (FontSizePoints 5)FontSizePoints 5>>>modFontSize (-1) (FontSizeUnits 1.0)FontSizeUnits 1.0
data FontConfig Source #
Settings for the font to be used in Termonad.
Constructors
| FontConfig | |
Fields
| |
Instances
| Eq FontConfig Source # | |
Defined in Termonad.Types | |
| Show FontConfig Source # | |
Defined in Termonad.Types Methods showsPrec :: Int -> FontConfig -> ShowS # show :: FontConfig -> String # showList :: [FontConfig] -> ShowS # | |
| Generic FontConfig Source # | |
Defined in Termonad.Types Associated Types type Rep FontConfig :: Type -> Type | |
| FromJSON FontConfig Source # | |
Defined in Termonad.Types | |
| ToJSON FontConfig Source # | |
Defined in Termonad.Types Methods toJSON :: FontConfig -> Value toEncoding :: FontConfig -> Encoding toJSONList :: [FontConfig] -> Value toEncodingList :: [FontConfig] -> Encoding | |
| type Rep FontConfig Source # | |
Defined in Termonad.Types type Rep FontConfig = D1 ('MetaData "FontConfig" "Termonad.Types" "termonad-4.0.0.1-kD3vSPWTY257BsxzCDQmK" 'False) (C1 ('MetaCons "FontConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "fontFamily") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "fontSize") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 FontSize))) | |
defaultFontConfig :: FontConfig Source #
The default FontConfig to use if not specified.
>>>defaultFontConfig == FontConfig {fontFamily = "Monospace", fontSize = defaultFontSize}True
This data type represents an option that can either be Set or Unset.
This data type is used in situations where leaving an option unset results in a special state that is not representable by setting any specific value.
Examples of this include the cursorFgColour and cursorBgColour options
supplied by the ColourConfig ConfigExtension. By default,
cursorFgColour and cursorBgColour are both Unset. However, when
cursorBgColour is Set, cursorFgColour defaults to the color of the text
underneath. There is no way to represent this by setting cursorFgColour.
Instances
| Functor Option Source # | |
| Foldable Option Source # | |
Defined in Termonad.Types Methods fold :: Monoid m => Option m -> m foldMap :: Monoid m => (a -> m) -> Option a -> m foldMap' :: Monoid m => (a -> m) -> Option a -> m foldr :: (a -> b -> b) -> b -> Option a -> b foldr' :: (a -> b -> b) -> b -> Option a -> b foldl :: (b -> a -> b) -> b -> Option a -> b foldl' :: (b -> a -> b) -> b -> Option a -> b foldr1 :: (a -> a -> a) -> Option a -> a foldl1 :: (a -> a -> a) -> Option a -> a elem :: Eq a => a -> Option a -> Bool maximum :: Ord a => Option a -> a | |
| Eq a => Eq (Option a) Source # | |
| Ord a => Ord (Option a) Source # | |
Defined in Termonad.Types | |
| Read a => Read (Option a) Source # | |
Defined in Termonad.Types | |
| Show a => Show (Option a) Source # | |
data ShowScrollbar Source #
Whether or not to show the scroll bar in a terminal.
Constructors
| ShowScrollbarNever | Never show the scroll bar, even if there are too many lines on the terminal to show all at once. You should still be able to scroll with the mouse wheel. |
| ShowScrollbarAlways | Always show the scrollbar, even if it is not needed. |
| ShowScrollbarIfNeeded | Only show the scrollbar if there are too many lines on the terminal to show all at once. |
Instances
data ShowTabBar Source #
Whether or not to show the tab bar for switching tabs.
Constructors
| ShowTabBarNever | Never show the tab bar, even if there are multiple tabs open. This may be confusing if you plan on using multiple tabs. |
| ShowTabBarAlways | Always show the tab bar, even if you only have one tab open. |
| ShowTabBarIfNeeded | Only show the tab bar if you have multiple tabs open. |
Instances
| Enum ShowTabBar Source # | |
Defined in Termonad.Types Methods succ :: ShowTabBar -> ShowTabBar # pred :: ShowTabBar -> ShowTabBar # toEnum :: Int -> ShowTabBar # fromEnum :: ShowTabBar -> Int # enumFrom :: ShowTabBar -> [ShowTabBar] # enumFromThen :: ShowTabBar -> ShowTabBar -> [ShowTabBar] # enumFromTo :: ShowTabBar -> ShowTabBar -> [ShowTabBar] # enumFromThenTo :: ShowTabBar -> ShowTabBar -> ShowTabBar -> [ShowTabBar] # | |
| Eq ShowTabBar Source # | |
Defined in Termonad.Types | |
| Show ShowTabBar Source # | |
Defined in Termonad.Types Methods showsPrec :: Int -> ShowTabBar -> ShowS # show :: ShowTabBar -> String # showList :: [ShowTabBar] -> ShowS # | |
| Generic ShowTabBar Source # | |
Defined in Termonad.Types Associated Types type Rep ShowTabBar :: Type -> Type | |
| FromJSON ShowTabBar Source # | |
Defined in Termonad.Types | |
| ToJSON ShowTabBar Source # | |
Defined in Termonad.Types Methods toJSON :: ShowTabBar -> Value toEncoding :: ShowTabBar -> Encoding toJSONList :: [ShowTabBar] -> Value toEncodingList :: [ShowTabBar] -> Encoding | |
| type Rep ShowTabBar Source # | |
Defined in Termonad.Types type Rep ShowTabBar = D1 ('MetaData "ShowTabBar" "Termonad.Types" "termonad-4.0.0.1-kD3vSPWTY257BsxzCDQmK" 'False) (C1 ('MetaCons "ShowTabBarNever" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ShowTabBarAlways" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ShowTabBarIfNeeded" 'PrefixI 'False) (U1 :: Type -> Type))) | |
data ConfigOptions Source #
Configuration options for Termonad.
See defaultConfigOptions for the default values.
Constructors
| ConfigOptions | |
Fields
| |
Instances
| Eq ConfigOptions Source # | |
Defined in Termonad.Types Methods (==) :: ConfigOptions -> ConfigOptions -> Bool # (/=) :: ConfigOptions -> ConfigOptions -> Bool # | |
| Show ConfigOptions | |