-- Initial monky.cabal generated by cabal init. For further documentation, -- see http://haskell.org/cabal/users-guide/ -- The name of the package. name: monky -- The package version. See the Haskell package versioning policy (PVP) -- for standards guiding when and how versions should be incremented. -- http://www.haskell.org/haskellwiki/Package_versioning_policy -- PVP summary: +-+------- breaking API changes -- | | +----- non-breaking API additions -- | | | +--- code changes with no API change version: 2.2.0.0 -- The ABOVE LINE has to stay AS IS (except for version changes) for the -- template to work properly -- A short (one-line) description of the package. synopsis: A system state collecting library and application -- A longer description of the package. description: monky started as an alternative to conky, i3-status or similar, that's fully containing in one process. Also making an effort to keep file descriptors or handles as long as possible. monky 2.0 is the first version on hackage. . monky consists of multiple parts. A number of collection modules, output modules, "examples" and a helper application. . * collection modules . The collection modules are the core library. Collection modules export a handle that can be used to get some detail about the system. They can be used without the other parts of this package, but they are designed with monky in mind. . * output modules . Output modules take a monky specific output type and transform it into something that can be displayed by some external application. That may be a statusbar (dzen2), the terminal, a network port, that makes it accessible on another machine, or any other thing. . * examples . The examples are a group of modules, that use collection modules to create the output used by the output modules. The flexibility of the examples varies greatly, some may are really flexible, some are rather static. The intended usecase is for users to create their own examples and use them, if they don't want to use the provided ones. . Later on, I want to create something like xmonad-contrib or a collection of user examples, to provide better usability for users with few to no experience with haskell. . * helper application . The helper application is used to compile the actual output generator and can generate an example configuration. . To generate an example configuration in /~\/.monky/ simply run `monky`. Then modify /~\/.monky\/monky.hs/ to create your own configuration. . Modules can have two types. 'PollModule' and 'EvtModule'. 'PollModule's work by the main loop asking the module to generate new output, while 'EvtModule's block until some event is received and update their output on demand. Some handles are an instance of both, 'PollModule' and 'EvtModule'. 'EvtModule' should be preferred, since they induce less load on your system. The monky main-loop does one "tick" every second. 'PollModules' are updated each /N/ ticks, where /N/ is passed to 'pollPack'. -- The license under which the package is released. license: LGPL-3 -- The file containing the license text. license-file: LICENSE -- The package author(s). author: Moepi, Ongy -- An email address to which users can send suggestions, bug reports, and -- patches. maintainer: Markus Ongyerth -- A copyright notice. -- copyright: category: System build-type: Simple -- Extra files to be distributed with the package, such as examples or a -- README. -- extra-source-files: -- Constraint on the version of Cabal needed to build this package. cabal-version: >=1.10 Tested-With: GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.2, GHC == 8.0.1 Flag ibus Description: enable ibus example Default: False Flag pulse Description: enable pulse example (7.6 disabled because travis) Default: True Source-repository head type: git location: https://github.com/monky-hs/monky executable monky -- .hs or .lhs file containing the Main module. main-is: Main.hs hs-source-dirs: bin -- Modules included in this executable, other than Main. -- other-modules: other-modules: -- LANGUAGE extensions used by modules in this package. -- other-extensions: -- Other library packages from which modules are imported. build-depends: base >=4.6.0.1 && <5, directory, process, mtl build-depends: unix, containers, monky, optparse-applicative -- Directories containing source files. -- hs-source-dirs: -- Base language which the package is written in. default-language: Haskell2010 ghc-options: -Wall library exposed-modules: Monky.Disk Monky.Modules Monky.Time Monky.CPU Monky.Memory Monky.Network Monky.Utility Monky.Alsa Monky.Battery Monky exposed-modules: Monky.Examples.Battery Monky.Examples.CPU Monky.Examples.Disk Monky.Examples.Network Monky.Examples.Time Monky.Examples.Memory exposed-modules: Monky.Disk.Btrfs Monky.Disk.Device exposed-modules: Monky.Examples.Prepend Monky.Connectivity exposed-modules: Monky.Wifi Monky.Examples.Wifi Monky.Examples.Wifi.Poll exposed-modules: Monky.Examples.Wifi.Event exposed-modules: Monky.Examples.Connectivity Monky.Network.Dynamic exposed-modules: Monky.Network.Static Monky.Examples.File Monky.Examples.Utility exposed-modules: Monky.Examples.Sound.Alsa Monky.Examples.Alsa exposed-modules: Monky.Version Monky.Examples.Combine exposed-modules: Monky.Examples.Plain Monky.Disk.Common Monky.Blkid exposed-modules: Monky.Outputs.Dzen2 Monky.Outputs.Ascii Monky.Outputs.Utf8 Monky.Outputs.Guess exposed-modules: Monky.Outputs.Show Monky.Outputs.Fallback Monky.Outputs.Serialize Monky.Outputs.I3 exposed-modules: Monky.Outputs.Modify exposed-modules: Monky.Examples.Modify Monky.IP Monky.IP.Raw exposed-modules: Monky.Outputs.Unicode Monky.Examples.Images other-modules: Monky.Template Monky.VersionTH Monky.CUtil build-depends: base >=4.6.0.1 && <=5, directory, time build-depends: text, unix, network, mtl, transformers build-depends: template-haskell, containers, stm, statvfs build-depends: bytestring, netlink, cereal, formatting, composition build-depends: env-locale >= 1.0.0.1 -- force double-conversion version for old ghc/library? if impl(ghc < 7.8) build-depends: double-conversion == 0.2.0.6 if impl(ghc >= 7.8) exposed-modules: Monky.MPD Monky.Examples.MPD -- build-depends: socket if impl(ghc < 7.10) build-depends: transformers-compat, old-locale if flag(ibus) build-depends: ibus-hs, dbus exposed-modules: Monky.Examples.IBus if impl(ghc >= 7.8) if flag(pulse) build-depends: pulseaudio >= 0.0.2.0 && < 0.1.0.0 exposed-modules: Monky.Examples.Sound.Pulse ghc-options: -Wall extra-libraries: default-language: Haskell2010