From 426c931d5b0ebc6d53396c34ec38eb342be501c3 Mon Sep 17 00:00:00 2001 From: jao Date: Sun, 25 Nov 2018 07:35:54 +0000 Subject: Refactoring: Xmobar.Run --- src/lib/Xmobar/Run/Types.hs | 65 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 src/lib/Xmobar/Run/Types.hs (limited to 'src/lib/Xmobar/Run/Types.hs') diff --git a/src/lib/Xmobar/Run/Types.hs b/src/lib/Xmobar/Run/Types.hs new file mode 100644 index 0000000..4fb526a --- /dev/null +++ b/src/lib/Xmobar/Run/Types.hs @@ -0,0 +1,65 @@ +{-# LANGUAGE TypeOperators, CPP #-} +------------------------------------------------------------------------------ +-- | +-- Module: Xmobar.Run.Types +-- Copyright: (c) 2018 Jose Antonio Ortega Ruiz +-- License: BSD3-style (see LICENSE) +-- +-- Maintainer: jao@gnu.org +-- Stability: unstable +-- Portability: portable +-- Created: Sun Nov 25, 2018 07:17 +-- +-- +-- An enumeration of all runnable types +-- +------------------------------------------------------------------------------ + + +module Xmobar.Run.Types(runnableTypes) where + +import Xmobar.Run.Commands + +import {-# SOURCE #-} Xmobar.Run.Runnable() +import Xmobar.Plugins.Monitors +import Xmobar.Plugins.Date +import Xmobar.Plugins.PipeReader +import Xmobar.Plugins.BufferedPipeReader +import Xmobar.Plugins.MarqueePipeReader +import Xmobar.Plugins.CommandReader +import Xmobar.Plugins.StdinReader +import Xmobar.Plugins.XMonadLog +import Xmobar.Plugins.EWMH +import Xmobar.Plugins.Kbd +import Xmobar.Plugins.Locks + +#ifdef INOTIFY +import Xmobar.Plugins.Mail +import Xmobar.Plugins.MBox +#endif + +#ifdef DATEZONE +import Xmobar.Plugins.DateZone +#endif + +-- | An alias for tuple types that is more convenient for long lists. +type a :*: b = (a, b) +infixr :*: + +-- | This is the list of types that can be hidden inside +-- 'Runnable.Runnable', the existential type that stores all commands +-- to be executed by Xmobar. It is used by 'Runnable.readRunnable' in +-- the 'Runnable.Runnable' Read instance. To install a plugin just add +-- the plugin's type to the list of types (separated by ':*:') appearing in +-- this function's type signature. +runnableTypes :: Command :*: Monitors :*: Date :*: PipeReader :*: + BufferedPipeReader :*: CommandReader :*: StdinReader :*: + XMonadLog :*: EWMH :*: Kbd :*: Locks :*: +#ifdef INOTIFY + Mail :*: MBox :*: +#endif +#ifdef DATEZONE + DateZone :*: +#endif + MarqueePipeReader :*: () +runnableTypes = undefined -- cgit v1.2.3