on package:termonad

on b u x y runs the binary function b on the results of applying unary function u to two arguments x and y. From the opposite perspective, it transforms two inputs and combines the outputs.
((+) `on` f) x y = f x + f y
Typical usage: sortBy (compare `on` fst). Algebraic properties:
  • (*) `on` id = (*) -- (if (*) ∉ {⊥, const
    ⊥})
  • ((*) `on` f) `on` g = (*) `on` (f . g)
  • flip on f . flip on g = flip on (g .
    f)
Like finally, but only call after if an exception occurs.
Checks if the monomorphic container does not include the supplied element.
Is the monomorphic container empty?
Terminal emulator configurable in Haskell Termonad is a terminal emulator configurable in Haskell. It is extremely customizable and provides hooks to modify the default behavior. It can be thought of as the "XMonad" of terminal emulators. Termonad was featured on an episode of DistroTube. This video gives a short overview of Termonad. Please see README.md for more information.
This module exposes termonad's basic configuration options, as well as defaultMain. If you want to configure Termonad, please take a look at Termonad.Config.
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 start or 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. If you want to see an example configuration file, as well as an explanation for how to use Termonad, see the Termonad README.
Hooks into certain termonad operations and VTE events. Used to modify termonad's behaviour in order to implement new functionality. Fields should have sane Semigroup and Monoid instances so that config extensions can be combined uniformly and new hooks can be added without incident.
Configuration options for Termonad. See defaultConfigOptions for the default values.
Cursor blinks.
Settings for the font to be used in Termonad.
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.
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 fontDescriptionSetSize is used to set the font size. See the documentation for that function for more info.
This sets the font size based on "device units". In general, this can be thought of as one pixel. The function fontDescriptionSetAbsoluteSize is used to set the font size. See the documentation for that function for more info.