termonad-3.0.0.0: src/Termonad/Config.hs
-- | Module : Termonad.Config
-- Description : Termonad Configuration Options
-- Copyright : (c) Dennis Gosnell, 2018
-- License : BSD3
-- Stability : experimental
-- Portability : POSIX
--
-- This module exposes termonad's basic configuration options. To set these
-- options in your config, first ensure you've imported "Termonad".
--
-- Then for your main, apply 'Termonad.start' or 'Termonad.defaultMain' to a 'TMConfig' value.
-- We suggest you build such values by performing record updates on the
-- 'defaultTMConfig' rather than using the 'TMConfig' constructor, as the latter
-- is much more likely to break when there are changes to the 'TMConfig' type.
--
-- E.g.
--
-- @
-- -- Re-exports this module.
-- import "Termonad"
--
-- main :: IO ()
-- main = 'start' $ 'defaultTMConfig'
-- { 'showScrollbar' = 'ShowScrollbarNever'
-- , 'confirmExit' = False
-- , 'showMenu' = False
-- , 'cursorBlinkMode' = 'CursorBlinkModeOff'
-- }
-- @
--
-- Additional options can be found in the following modules.
--
-- * "Termonad.Config.Colour"
--
-- If you want to see an example configuration file, as well as an explanation
-- for how to use Termonad, see the Termonad
-- <https://github.com/cdepillabout/termonad#configuring-termonad README>.
module Termonad.Config
( -- * Main Config Data Type
TMConfig(..)
, defaultTMConfig
, ConfigOptions(..)
, defaultConfigOptions
, ConfigHooks(..)
, defaultConfigHooks
-- * Fonts
, FontSize(..)
, defaultFontSize
, FontConfig(..)
, defaultFontConfig
-- * Misc
, Option(..)
, ShowScrollbar(..)
, ShowTabBar(..)
, CursorBlinkMode(..)
, tmConfigFromPreferencesFile
) where
import GI.Vte (CursorBlinkMode(..))
import Termonad.PreferencesFile (tmConfigFromPreferencesFile)
import Termonad.Types