All Versions
Latest Version
Avg Release Cycle
56 days
Latest Release

Changelog History
Page 1

  • v4.2.0.1 Changes

    • Added an example of how to setup a Dracula color scheme. Thanks @craigem! #195

    • Bump to allow both aeson-1 and aeson-2. Thanks @gelisam! #210

  • v4.2.0.0 Changes

    • Add new options highlightFgColour and highlightBgColour for setting the color of highlighted text #190. Thanks @zanculmarktum!

    • ๐Ÿ”ง Termonad creates a configuration file in ~/.config/termonad/termonad.yaml for use with the Preferences editor. This is only used if you don't have a termonad.hs file.

      The configuration file loading code has been updated to be more robust in loading configurations that are missing fields. This means that if you update Termonad from an old version, your preferences will still be able to be loaded in most cases #191. Thanks again @jecaro!

    • Added an example of how to setup a PaperColour color scheme. Thanks @craigem! #193

  • v4.1.1.0 Changes

    • Add new shortcuts to switch to the next and previous tab: CtrlPgDown and CtrlPgUp. This works similar to gnome-terminal and xfce4-terminal. #180. Thanks @juliendehos!
  • v4.1.0.0 Changes

    • Add an option for enabling "bold is bright". This forces colors from the extended light palette to be used whenever Termonad prints bold text. #178. Thanks @M0M097!
  • v4.0.1.2 Changes

    • ๐Ÿ— Disable doctest test-suite when building with GHC-8.10.3. The doctests appear to be segfaulting, but only when compiled with GHC-8.10.3. #175.
  • v4.0.1.1 Changes

    • Bump upper dependency on base so that Termonad is compatible with GHC-8.10. #172. Thanks @mimi1vx!
  • v4.0.1.0 Changes

    • Add Preferences link to context menu. This is a convenient way to open the Preferences if you don't have the menu shown by default. #171 Thanks @maridonkers!
  • v4.0.0.1 Changes

    • โšก๏ธ Update Termonad to be able to be built with the latest versions of the haskell-gi libraries. This shouldn't affect most users building with stack. It is only used currently for building Termonad with packages from Nixpkgs.
  • v4.0.0.0 Changes

    • ๐Ÿšš Remove the dependently typed code for specifying terminal colors. #161. Thanks @ssbothwell!

      The Palette data type has been updated to not used length-indexed lists, but instead just newtype wrappers around normal lists.

      In prevous versions, the Palette data type looked like this:

      data Palette c
        = NoPalette
        | BasicPalette !(Vec N8 c)
        | ExtendedPalette !(Vec N8 c) !(Vec N8 c)
        | ColourCubePalette !(Vec N8 c) !(Vec N8 c) !(Matrix '[N6, N6, N6] c)
        | FullPalette !(Vec N8 c) !(Vec N8 c) !(Matrix '[N6, N6, N6] c) !(Vec N24 c)

      In, Palette has been changed to the following:

      data Palette c
        = NoPalette
        | BasicPalette !(List8 c)
        | ExtendedPalette !(List8 c) !(List8 c)
        | ColourCubePalette !(List8 c) !(List8 c) !(Matrix c)
        | FullPalette !(List8 c) !(List8 c) !(Matrix c) !(List24 c)

      Instead of using types like Vec N8 c, you will use types like List8 c.

      When setting the palette field of in a ColourConfig, you can now do it like the following. Note that there is both a mkList8 function that returns Maybe, and an unsafeMkList8 that throws a runtime error. Most users will probably want to use the unsafeMkList8 function, since it is easy to use, and you can eyeball whether the list has the correct number of elements. If you're doing something more complicated, you may want to use the mkList8 function:

      myColourConfig :: ColourConfig (AlphaColour Double)
      myColourConfig =
          { palette =
                myStandardColours (maybe defaultLightColours id myLightColours)
          -- This is a an example of creating a linked-list of colours,
          -- This function uses an unsafe method for generating the list.
          -- An exception will be thrown if your list does not have exactly 8 elements.
          myStandardColours :: List8 (AlphaColour Double)
          myStandardColours = unsafeMkList8
            [ createColour  40  30  20 -- dark brown (used as background colour)
            , createColour 180  30  20 -- red
            , createColour  40 160  20 -- green
            , createColour 180 160  20 -- dark yellow
            , createColour  40  30 120 -- dark purple
            , createColour 180  30 120 -- bright pink
            , createColour  40 160 120 -- teal
            , createColour 180 160 120 -- light brown
          -- This is an example of creating a linked-list of colours with a type
          -- safe method. mkList8 produces a Maybe value which must be handled explicitely.
          myLightColours :: Maybe (List8 (AlphaColour Double))
          myLightColours = mkList8
              [ createColour  70  60  50 -- brown
              , createColour 220  30  20 -- light red
              , createColour  40 210  20 -- light green
              , createColour 220 200  20 -- yellow
              , createColour  40  30 180 -- purple
              , createColour 140  30 80  -- dark pink
              , createColour  50 200 160 -- light teal
              , createColour 220 200 150 -- light brown

      Also see the functions setAtList8, overAtList8, setAtList24, overAtList24, etc.

  • v3.1.0.1 Changes

    May 28, 2020
    • Correct the solarized colours #148. Thanks @craigem!

    • Add an example showing Gruvbox colours #149. Thanks again @craigem!

    • Set an upperbound on base so we make sure that only GHC-8.8 is used. Some of the dependencies of Termonad don't support GHC-8.10 yet.