summaryrefslogtreecommitdiffhomepage
path: root/xmobar.cabal
AgeCommit message (Collapse)Author
12 daysadd notify-once script and documentationLéana 江
2026-03-08Improve `PacmanUpdates`Enrico Maria De Angelis
Recently, I've seen the usefulness in knowning whether one of the pending updates is a kernel update (which means we should most likely reboot after next system update), and also whether the running kernel is older than the installed kernel package (which means we've probably not rebooted yet), so I thought I should update this plugin. However, the feature of knowing whether a kernel update is contained in the available updates requires that one knows the kernel package name, so that's to be a `String` input to the plugin. But one might not want to pass it, and be happy with just the detection of whether the running kernel is older than the installed one. Since recently, I've been studying type families and also come across pattern synonyms, I thought I could leverage these, so I thought I could parametrize the plugin over kind `Bool`, and branch on it to provide the different APIs; then I could use type synonyms to lift the burden of having to use type application at the user code. Furthermore, rather than still customizing the message by asking the user to provide `String`s for the various cases (0 updates, 1 update, 2+ updates), I thought it was better to ask the caller to provide a function that accepts the relevant inputs (`Int` number of updates, `Bool` telling whether such and such) and turns them into a `String`. With this change, I'm - renaming the previous type `PacmanUpdates` to `PacmanUpdatesDeprecated` - deprecating such type (with a pragma and by printing a clickable note in the plugin text) with the intention of deleting it in a year from now, - preserving its data ctor's to avoid breaking existing code right now, - creating a new `PacmanUpdates` type that is parametrized over kind `Bool` - the `True` instance allows passing the name of the kernel package that the plugin uses to detect whether there's a pending kernel update - the `False` instance doesn't, - accordingly the two instances accept from the caller a printing function with different signature (see haddock comments for details), - hiding (i.e. not exporting) the constructor of such new type, - provided pattern synonyms to more conveniently create a `PacmanUpdates False` (for `PacmanUpdates True` is just the same as the ctor), - changing the approach with which the final `String` is produced, from asking the user to provide a bunch of some sort of template `String`, to asking them for a function that produces a `String` given the required inputs (e.g. the number of available updates).
2026-02-28Remove deprecated ArchUpdates pluginEnrico Maria De Angelis
Users should have long switched to PacmanUpdates, as communicated in #723. Furthemore, we had forgotten to list PacmanUpdates in the plugins wrappable in Runnable. Fixed now.
2025-12-24Remove unnecessary `extensible-exceptions` dependencykonsumlamm
2025-06-07changelog and version bumpjao
2025-06-07bump base dependencypaumr
2025-06-04MPD compilable again by default with all_extensionsjao
2025-04-14feat: add new PacmanUpdates pluginAlexander 'ccntrq' Pankoff
the new PacmanUpdates plugin behaves similar to the ArchUpdates plugin while additionally allowing to pass in a custom error message for unknown pacman failures. The default error message of `pacman: Unknown cause of failure.` of the ArchUpdates plugin is too long for my taste. The ArchUpdates plugin was modified to delegate to the new PacmanUpdates plugin while providing the default error message and to show a deprecation notice in the zero updates case. The new name better represents the Plugin's compatibility with all pacman-based distributions, not just Arch. The docs have been updated to reflect the existence of the new plugin and to highlight the similarities between the ArchUpdates and PacmanUpdates plugins. The ArchUpdates plugin has been marked has deprecated there to.
2025-04-01relax bounds on `base` to allow building with `base v4.20`Alexander 'ccntrq' Pankoff
2024-06-21Accordion: a plugin two wrap other plugins and collapse them to a single ↵Enrico Maria De Angelis
replacement string
2024-05-21changelog and doc nits for ArchUpdatesjao
2024-05-18ArchUpdatesEnrico Maria De Angelis
2024-05-07changelog and cabal file for 0.48.10.48.1jao
2024-04-01version bumpjao
2024-03-30Add ctor for Locks plugin to accpet on/off labelsEnrico Maria De Angelis
2024-03-21changelog &co. for kbd monitorjao
2024-02-18battery: spawnCommand instead of system when running actions0.47.4jao
should fix for real #688 this time
2024-02-07version tag and changelog0.47.3jao
2024-02-05actions: spawnCommand instead of deprecated systemjao
This should address the problems reported in issue #688
2024-01-31Bump base dependencyVekhir
Builds and tests fine
2024-01-31Add `with_shared` flag to build using shared librariesVekhir
Adds the `with_shared` flag, which is off by default. Setting the new flag enables building with shared libraries. By default, `xmobar` is built with static linking.
2023-11-12fix: dependendecy on mtl to allow GHC 9.60.47.2jao
2023-11-12fix: dependendecy on base to allow GHC 9.6jao
2023-11-11compatibility with GHC 9.6jao
2023-09-01allow requesting explicitly libmpd with with_mpd for any ghc versionjao
2023-08-30version bumpjao
2023-08-28exclude libmpd for ghc 9.4 or greaterjao
2023-01-05testing with ghc 9.2 for nowjao
pango seems to be incompatible with ghc 9.4.4 because it needs text < 2.
2023-01-05trying to fix deps for ghc 9.4.4jao
2023-01-05base 4.17 (ghc 9.4.x) and version bumpjao
2022-09-30Run.Parsers -> Config.Templatejao
2022-09-20new namespace: Xmobar.Drawjao
2022-09-19cairo: non-cairo is not an optionjao
2022-09-18whitespacejao
2022-09-17testing CI flags usagejao
2022-09-16cairo: outer boxes fixesjao
2022-09-16linting and version bumpjao
2022-09-15new flag: with_xrenderjao
2022-09-15cairo: flags: with_xft gone and with_cairo true by defaultjao
2022-09-12X11.MinXft not needed anymorejao
2022-09-12cairo: with_xft deprecated, with_cairo synomymjao
2022-09-11fix for the default, non-cairo buildjao
2022-09-11cairo: alpha (still pseudo, via xrender)jao
2022-09-10cairo: fonts, offsets, colors, actionsjao
2022-09-09cairo: drawing skeleton from an xlib cairo surfacejao
2022-08-10changelog and version bump0.44.2jao
2022-08-09examples -> etcjao
2022-08-09whitespace: deps sorted in xmobar.cabaljao
2022-07-12Prepare dummy 0.44.1 release to mark transition to codebergjao
2022-07-12jao/xmobar -> xmobar/xmobarjao