savely-krasovsky / waybar-updates

Tiny Waybar module to check Arch Linux updates from official repositories and AUR.
https://aur.archlinux.org/packages/waybar-updates
MIT License
38 stars 8 forks source link
arch-linux arch-linux-package archlinux aur i3-status i3-status-module pacman waybar waybar-module waybar-scripts

waybar-updates

ShellCheck

Tiny Waybar module to check Arch Linux updates from official repositories and AUR.

Features

Installation

  1. Using AUR package waybar-updates.
  2. Manually by using make && make install.

Dependencies

Usage

~/.config/waybar/config:

"modules-left": [
  ...
  "custom/pacman",
  ...
],

...

"custom/pacman": {
  "format": "{icon}{}",
  "return-type": "json",
  "format-icons": {
    "pending-updates": " ",
    "updated": ""
  },
  "exec-if": "which waybar-updates",
  "exec": "waybar-updates"
}

~/.config/waybar/style.css

@keyframes blink-update {
    to {
        background-color: dodgerblue;
    }
}

#custom-pacman {
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}
#custom-pacman.pending-updates {
    animation-name: blink-update;
    animation-duration: 3s;
}

You can copy compiled mo-files and use TEXTDOMAINDIR="$HOME/.config/waybar/scripts" in case you want to use localization and don't want to store them in /usr/share/locale.

Command-line options

The following options are available: Option Value Default Description
-f, --format string {total} Custom format used for main output text (see Formatting)
-t, --tooltip string Custom tooltip format (see Formatting)
-i, --interval int 6 Interval (in seconds) between checks
-c, --cycles int 600 Cycles between online checks (e.g. 6s interval 600 cycles* = 3600s = 1h)
-l, --packages-limit int 10 Maximum number of packages to be shown in notifications and tooltip
-d, --devel none off Also check for upstream changes in development packages
-n, --notify none off Turns on notifications for updates

Formatting

The tooltip and main text formatters can both use "labels" to format their output.

In --tooltip, the {} label will be replaced with the package list. In --format, it's an alias for {total}.

Supported custom count labels are {aur}, {dev}, {pacman} and {total}. These labels support a custom prefix and/or suffix which can be used to define icons, for example {A :aur:\n}, however keep in mind:

Localization

Supported languages:

  1. Open po/waybar-updates.pot in poedit or any alternative.
  2. Generate po-file for your language.
  3. Translate!
  4. Submit po-file by opening Pull Request!

Inspired by waybar-module-pacman-updates.