Files
aiden-niri-noctalia/home/aiden/.config/noctalia/plugins/update-count/README.md
2026-01-29 17:55:26 -06:00

54 lines
2.5 KiB
Markdown

# Update Count Plugin
A compact Noctalia bar widget that periodically checks for available system updates and displays the current update count. Clicking the widget spawns a terminal to execute the configured system update command.
## Features
- **Periodic Update Checks**: Polls at a configurable interval and updates the displayed count.
- **Package Manager Detection**: Supports common update-check/update flows for supported distros (see Requirements).
- **Click to Update**: Launches a terminal to execute the configured system update command.
- **Custom Commands**: Optional custom commands for both “get number of updates” and “do system update”.
## Installation
This plugin is part of the `noctalia-plugins` repository.
## Configuration
Configure the plugin in Noctalia settings:
- **Hide on Zero Updates**: Hides the widget when the available update count is `0`.
- **Update Check Interval**: Polling interval used for update checks.
- **Icon Identifier / Select Icon**: View and change the currently used icon name.
- **Custom Update Count Command**: Shell command that must output a single integer.
- **Custom System Update Command**: Shell command used to perform the update.
- **Terminal Emulator**: Command used to spawn a terminal for the update action.
- If the value contains `{}`, it will be replaced with the update command.
- If `{}` is not present, the update command is appended.
## Usage
- **Display**: Shows an icon and the current update count.
- **Click**: Spawns the configured terminal command and executes the system update command.
- **Hover**: Shows a tooltip indicating whether updates are available or not.
## Requirements
- **Noctalia Shell**: 3.6.0 or later.
- **Update backend**: one of the supported package managers defined in `updaterConfigs.json` (recommended, but not required).
- **Paru/Yay**: Default `updaterConfigs.json` requires `checkupdates`
## Technical Details
- **Updater selection**:
- Built-in update handling is driven by `updaterConfigs.json`, which defines the commands used to:
- determine the number of available updates (`cmdGetNumUpdates`), and
- perform the system update (`cmdDoSystemUpdate`).
- At runtime, the plugin selects the **first available** updater whose required executable checks succeed.
- If no updater matches, the plugin relies on the **custom command** settings.
- **Supported package managers / tools**:
- Arch Linux: `pacman`; `yay`, `paru` (AUR helpers)
- Fedora: `dnf`
- Void Linux: `xbps`