packages feed

taffybar-7.2.2: taffybar.cabal

cabal-version: 3.4
name: taffybar
version: 7.2.2
synopsis: A desktop bar similar to xmobar, but with more GUI
description: Taffybar is a desktop status bar with GTK widgets for window
  manager state, system information, tray icons, and custom user modules.
license: BSD-3-Clause
license-file: LICENSE
author: Ivan Malison
maintainer: IvanMalison@gmail.com
category: System
build-type: Simple
tested-with: GHC == 9.8.4, GHC == 9.10.3, GHC == 9.12.3
homepage: https://github.com/taffybar/taffybar
data-files:
  taffybar.css
  icons/*.svg
extra-source-files:
  dbus-xml/org.imalison.ChromeWindowInfo.xml
  dbus-xml/org.PulseAudio.ServerLookup1.xml
  dbus-xml/org.PulseAudio.Core1.xml
  dbus-xml/org.PulseAudio.Core1.Device.xml
  dbus-xml/org.freedesktop.login1.Manager.xml
  dbus-xml/org.freedesktop.UPower.Device.xml
  dbus-xml/org.freedesktop.UPower.xml
  dbus-xml/org.mpris.MediaPlayer2.Player.xml
  dbus-xml/org.mpris.MediaPlayer2.xml
  dbus-xml/org.freedesktop.NetworkManager.xml
  dbus-xml/org.freedesktop.NetworkManager.Connection.Active.xml
  dbus-xml/org.freedesktop.NetworkManager.AccessPoint.xml
  test/data/*.golden
  test/data/*.png
  test/data/appearance-test.css
extra-doc-files:
  README.md
  CHANGELOG.md
  doc/*.md

flag Deprecated-Pager-Hints
  description: Enables the deprecated System.Taffybar.Support.PagerHints module, which has been moved to xmonad-contrib.

common haskell
  default-extensions:
    DeriveGeneric
    GeneralizedNewtypeDeriving
    LambdaCase
    NumericUnderscores
    ScopedTypeVariables
    StandaloneDeriving
    TupleSections
  default-language: Haskell2010
  build-depends: base >= 4.15.0.0 && < 5
  ghc-options: -Wall

common exe
  ghc-options: -rtsopts -threaded

library
  import: haskell
  default-extensions:
    MonoLocalBinds

  build-depends: HStringTemplate >= 0.8 && < 0.9
               , X11 >= 1.5.0.1 && < 1.11
               , aeson >= 1.4 && < 2.3
               , ansi-terminal >= 0.10 && < 1.2
               , bytestring >= 0.10 && < 0.13
               , conduit >= 1.3 && < 1.4
               , containers >= 0.5 && < 0.8
               , data-default >= 0.7 && < 0.9
               , dbus >= 1.2.11 && < 2
               , dbus-hslogger >= 0.1.1.1 && < 0.2
               , dbus-menu >= 0.1.3.3 && < 0.2
               , directory >= 1.3 && < 1.4
               , disk-free-space >= 0.1.0.1 && < 0.2
               , dyre >= 0.9.0 && < 0.10
               , either >= 4.0.0.0 && < 5.1
               , enclosed-exceptions >= 1.0.0.1 && < 1.1
               , filepath >= 1.4 && < 1.6
               , fsnotify >= 0.4 && < 0.5
               , monad-control >= 1.0 && < 1.1
               , gi-cairo-connector >= 0.1 && < 0.2
               , gi-cairo-render >= 0.1 && < 0.2
               , gi-gdk3 >=3.0.30 && <3.1
               , gi-gdkpixbuf >=2.0.6 && <2.1
               , gi-gdkx113 >=3.0.17 && < 4
               , gi-glib >= 2.0 && < 2.1
               , gi-gobject >= 2.0 && < 2.1
               , gi-gtk-layer-shell >= 0.1.7 && < 0.2
               , gi-gtk3 >= 3.0.44 && < 4
               , gi-gtk-hs >= 0.3.17 && < 0.4
               , gi-pango >= 1.0 && < 1.1
               , gi-wireplumber >= 0.5.14.2 && < 0.6
               , gtk-scaling-image >= 0.1.0.1 && < 0.2
               , gtk-sni-tray >= 0.2.1.2 && < 0.3
               , gtk-strut >= 0.1.4.1 && < 0.2
               , haskell-gi-base >= 0.24 && < 0.27
               , hslogger >= 1.2 && < 1.4
               , http-conduit >= 2.3 && < 2.4
               , http-client >= 0.5 && < 0.8
               , http-client-tls >= 0.3 && < 0.4
               , http-types >= 0.12 && < 0.13
               , multimap >= 1.2.1 && < 1.3
               , network >= 3.1 && < 3.3
               , parsec >= 3.1 && < 3.2
               , process >= 1.0.1.1 && < 1.7
               , rate-limit >= 1.1.1 && < 1.5
               , regex-compat >= 0.95 && < 0.96
               , safe >= 0.3 && < 1
               , scotty >= 0.20 && < 0.31
               , split >= 0.1.4.2 && < 0.3
               , status-notifier-item >= 0.3.2.14 && < 0.4
               , stm >= 2.5 && < 2.6
               , template-haskell >= 2.17 && < 2.24
               , text >= 1.2 && < 2.2
               , time >= 1.9 && < 2
               , time-locale-compat >= 0.1 && < 0.2
               , time-units >= 1.0.0 && < 1.1
               , transformers >= 0.3.0.0 && < 0.7
               , tuple >= 0.3.0.2 && < 0.4
               , unix >= 2.7 && < 2.9
               , utf8-string >= 1.0 && < 1.1
               , xdg-desktop-entry >= 0.1.1.5 && < 0.2
               , xdg-basedir >= 0.2 && < 0.3
               , xml >= 1.3 && < 1.4
               , xml-helpers >= 1.0 && < 1.1
               , yaml >= 0.11 && < 0.12

  hs-source-dirs: src
  pkgconfig-depends: gtk+-3.0
  if os(linux)
    pkgconfig-depends: libudev
  exposed-modules: System.Taffybar
                 , System.Taffybar.Auth
                 , System.Taffybar.Context
                 , System.Taffybar.Context.Backend
                 , System.Taffybar.DBus
                 , System.Taffybar.DBus.Toggle
                 , System.Taffybar.Example
                 , System.Taffybar.Hyprland
                 , System.Taffybar.Hooks
                 , System.Taffybar.Information.Audio
                 , System.Taffybar.Information.Hyprland
                 , System.Taffybar.Information.HyprlandWorkspaceHistory
                 , System.Taffybar.Information.PulseAudio
                 , System.Taffybar.Information.WirePlumber
                 , System.Taffybar.Information.AnthropicUsage
                 , System.Taffybar.Information.Backlight
                 , System.Taffybar.Information.ASUS
                 , System.Taffybar.Information.Battery
                 , System.Taffybar.Information.Bluetooth
                 , System.Taffybar.Information.CPU2
                 , System.Taffybar.Information.Chrome
                 , System.Taffybar.Information.ChromeWindowInfo
                 , System.Taffybar.Information.Crypto
                 , System.Taffybar.Information.DiskIO
                 , System.Taffybar.Information.DiskUsage
                 , System.Taffybar.Information.EWMHDesktopInfo
                 , System.Taffybar.Information.Inhibitor
                 , System.Taffybar.Information.KeyboardState
                 , System.Taffybar.Information.Layout.EWMH
                 , System.Taffybar.Information.Layout.Hyprland
                 , System.Taffybar.Information.Layout.Model
                 , System.Taffybar.Information.MPRIS2
                 , System.Taffybar.Information.Memory
                 , System.Taffybar.Information.Network
                 , System.Taffybar.Information.Temperature
                 , System.Taffybar.Information.NetworkManager
                 , System.Taffybar.Information.OpenAIUsage
                 , System.Taffybar.Information.PowerProfiles
                 , System.Taffybar.Information.Privacy
                 , System.Taffybar.Information.ScreenLock
                 , System.Taffybar.Information.SafeX11
                 , System.Taffybar.Information.Systemd
                 , System.Taffybar.Information.StreamInfo
                 , System.Taffybar.Information.Workspaces.EWMH
                 , System.Taffybar.Information.Workspaces.Hyprland
                 , System.Taffybar.Information.Workspaces.Model
                 , System.Taffybar.Information.Workspaces.Refresh
                 , System.Taffybar.Information.Wakeup
                 , System.Taffybar.Information.Wlsunset
                 , System.Taffybar.Information.X11DesktopInfo
                 , System.Taffybar.Information.XDG.Protocol
                 , System.Taffybar.LogFormatter
                 , System.Taffybar.LogLevels
                 , System.Taffybar.SimpleConfig
                 , System.Taffybar.Util
                 , System.Taffybar.Widget
                 , System.Taffybar.Widget.Audio
                 , System.Taffybar.Widget.PulseAudio
                 , System.Taffybar.Widget.AnthropicUsage
                 , System.Taffybar.Widget.ASUS
                 , System.Taffybar.Widget.Backlight
                 , System.Taffybar.Widget.Battery
                 , System.Taffybar.Widget.BatteryDonut
                 , System.Taffybar.Widget.BatteryTextIcon
                 , System.Taffybar.Widget.Bluetooth
                 , System.Taffybar.Widget.CPUMonitor
                 , System.Taffybar.Widget.CommandRunner
                 , System.Taffybar.Widget.CoordinatedClock
                 , System.Taffybar.Widget.Crypto
                 , System.Taffybar.Widget.DiskIOMonitor
                 , System.Taffybar.Widget.DiskUsage
                 , System.Taffybar.Widget.FSMonitor
                 , System.Taffybar.Widget.FreedesktopNotifications
                 , System.Taffybar.Widget.ImageCommandButton
                 , System.Taffybar.Widget.Generic.AutoFillImage
                 , System.Taffybar.Widget.Generic.AutoSizeImage
                 , System.Taffybar.Widget.Generic.ChannelGraph
                 , System.Taffybar.Widget.Generic.ChannelWidget
                 , System.Taffybar.Widget.Generic.DynamicMenu
                 , System.Taffybar.Widget.Generic.Graph
                 , System.Taffybar.Widget.Generic.Icon
                 , System.Taffybar.Widget.Generic.ScalingImage
                 , System.Taffybar.Widget.Generic.PollingBar
                 , System.Taffybar.Widget.Generic.PollingGraph
                 , System.Taffybar.Widget.Generic.PollingLabel
                 , System.Taffybar.Widget.Generic.VerticalBar
                 , System.Taffybar.Widget.HyprlandLayout
                 , System.Taffybar.Widget.Inhibitor
                 , System.Taffybar.Widget.KeyboardState
                 , System.Taffybar.Widget.Layout
                 , System.Taffybar.Widget.MPRIS2
                 , System.Taffybar.Widget.NetworkGraph
                 , System.Taffybar.Widget.NetworkManager
                 , System.Taffybar.Widget.OmniMenu
                 , System.Taffybar.Widget.OpenAIUsage
                 , System.Taffybar.Widget.PowerProfiles
                 , System.Taffybar.Widget.Privacy
                 , System.Taffybar.Widget.ScreenLock
                 , System.Taffybar.Widget.SNIMenu
                 , System.Taffybar.Widget.SNITray
                 , System.Taffybar.Widget.SNITray.PrioritizedCollapsible
                 , System.Taffybar.Widget.SimpleClock
                 , System.Taffybar.Widget.SimpleCommandButton
                 , System.Taffybar.Widget.Systemd
                 , System.Taffybar.Widget.Temperature
                 , System.Taffybar.Widget.WakeupDebug
                 , System.Taffybar.Widget.Text.CPUMonitor
                 , System.Taffybar.Widget.Text.MemoryMonitor
                 , System.Taffybar.Widget.Text.NetworkMonitor
                 , System.Taffybar.Widget.Util
                 , System.Taffybar.Widget.Weather
                 , System.Taffybar.Widget.Windows
                 , System.Taffybar.Widget.Workspaces
                 , System.Taffybar.Widget.WirePlumber
                 , System.Taffybar.Widget.Wlsunset
                 , System.Taffybar.Widget.WttrIn
                 , System.Taffybar.Widget.XDGMenu.Menu
                 , System.Taffybar.Widget.XDGMenu.MenuWidget
                 , System.Taffybar.WindowIcon

  if flag(Deprecated-Pager-Hints)
    build-depends: xmonad >= 0.17 && < 0.19
    exposed-modules: System.Taffybar.Support.PagerHints

  other-modules: Paths_taffybar
               , System.Taffybar.DBus.Client.ChromeWindowInfo
               , System.Taffybar.DBus.Client.Login1Manager
               , System.Taffybar.DBus.Client.MPRIS2
               , System.Taffybar.DBus.Client.NetworkManager
               , System.Taffybar.DBus.Client.NetworkManagerAccessPoint
               , System.Taffybar.DBus.Client.NetworkManagerActiveConnection
               , System.Taffybar.DBus.Client.Params
               , System.Taffybar.DBus.Client.PulseAudioCore
               , System.Taffybar.DBus.Client.PulseAudioDevice
               , System.Taffybar.DBus.Client.PulseAudioServerLookup
               , System.Taffybar.DBus.Client.UPower
               , System.Taffybar.DBus.Client.UPowerDevice
               , System.Taffybar.DBus.Client.Util
               , System.Taffybar.Information.Hyprland.API
               , System.Taffybar.Information.Hyprland.Types
               , System.Taffybar.Information.Workspaces.Support
               , System.Taffybar.Information.Wakeup.Manager
               , System.Taffybar.Information.Udev
               , System.Taffybar.Window.FocusedMonitor

  autogen-modules: Paths_taffybar

  cc-options: -fPIC
  ghc-options: -funbox-strict-fields -fno-warn-orphans

executable taffybar
  import: haskell, exe
  build-depends: data-default
               , dhall >= 1.40 && < 1.43
               , directory
               , gi-gtk3
               , hslogger
               , optparse-applicative >= 0.17 && < 0.20
               , taffybar
               , text

  other-modules: DhallConfig
               , Paths_taffybar
  autogen-modules: Paths_taffybar

  hs-source-dirs: app
  main-is: Main.hs
  pkgconfig-depends: gtk+-3.0

executable taffybar-test-wm
  import: haskell, exe
  hs-source-dirs: app
  main-is: TestWM.hs
  build-depends: xmonad >= 0.17 && < 0.19
               , xmonad-contrib >= 0.17 && < 0.19

executable taffybar-appearance-snap
  import: haskell, exe
  hs-source-dirs: app
  main-is: AppearanceSnap.hs
  build-depends: JuicyPixels >= 3.3 && < 3.4
               , X11
               , bytestring
               , data-default
               , directory
               , filepath
               , gi-gdk3
               , gi-gdkpixbuf
               , gi-gtk3
               , gtk-strut
               , taffybar
               , text
               , transformers
               , typed-process >= 0.2 && < 0.3
               , unix
               , unliftio >= 0.2 && < 0.3

executable taffybar-appearance-snap-hyprland
  import: haskell, exe
  hs-source-dirs: app
  main-is: AppearanceSnapHyprland.hs
  build-depends: JuicyPixels >= 3.3 && < 3.4
               , bytestring
               , data-default
               , directory
               , filepath
               , gi-gtk3
               , gtk-strut
               , taffybar
               , text
               , typed-process >= 0.2 && < 0.3
               , unix
               , unliftio >= 0.2 && < 0.3
               , transformers

common test
  default-extensions:
    ImportQualifiedPost
    NamedFieldPuns
    RecordWildCards
    OverloadedStrings
    ScopedTypeVariables
  ghc-options: -fno-warn-orphans

library testlib
  import: haskell, test
  hs-source-dirs: test/lib
  exposed-modules: TestLibSpec
                 , System.Taffybar.Test.DBusSpec
                 , System.Taffybar.Test.UtilSpec
                 , System.Taffybar.Test.XvfbSpec
  build-depends: attoparsec >= 0.13 && < 0.15
               , bytestring
               , containers
               , data-default
               , dbus
               , extra >= 1.7 && < 1.9
               , filepath
               , hslogger
               , hspec >= 2.8 && < 3
               , taffybar
               , text
               , typed-process >= 0.2 && < 0.3
               , unix
               , unliftio >= 0.2 && < 0.3
               , unliftio-core >= 0.2 && < 0.3
               , QuickCheck >= 2 && < 2.17
  build-tool-depends: hspec-discover:hspec-discover == 2.*

test-suite unit
  import: haskell, test, exe
  type: exitcode-stdio-1.0
  hs-source-dirs: test/unit
  main-is: unit-tests.hs
  other-modules: UnitSpec
               , System.Taffybar.AuthSpec
               , System.Taffybar.AppearanceSpec
               , System.Taffybar.ContextSpec
               , System.Taffybar.Information.CryptoSpec
               , System.Taffybar.Information.LayoutSpec
               , System.Taffybar.Information.Workspaces.EWMHSpec
               , System.Taffybar.Information.Workspaces.HyprlandSpec
               , System.Taffybar.Information.X11DesktopInfoSpec
               , System.Taffybar.Information.WakeupSpec
               , System.Taffybar.SimpleConfigSpec
               , System.Taffybar.Widget.SNITray.PrioritizedCollapsibleSpec
               , System.Taffybar.Widget.Workspaces.ChannelSpec
               , System.Taffybar.Widget.WindowsSpec
  build-depends: data-default
               , bytestring
               , containers
               , dbus
               , directory
               , JuicyPixels
               , filepath
               , text
               , gi-gtk3
               , hspec
               , hspec-core
               , hspec-golden
               , network
               , status-notifier-item
               , taffybar
               , taffybar:testlib
               , typed-process
               , unix
               , unliftio
               , transformers
               , QuickCheck >= 2 && < 2.17
  build-tool-depends: hspec-discover:hspec-discover == 2.*
                   , taffybar:taffybar-test-wm
                   , taffybar:taffybar-appearance-snap

source-repository head
  type: git
  location: https://github.com/taffybar/taffybar.git