Skip to content

Commit

Permalink
Merge branch 'Antiz96:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
Delor3an91 authored Oct 6, 2024
2 parents f7bb64f + bfe82a9 commit 1a97c7d
Show file tree
Hide file tree
Showing 12 changed files with 222 additions and 71 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
run: find . -name '*.sh' -exec shellcheck --color=always {} +

- name: Run pylint
run: find . -name '*.py' -exec pylint -d E0611,E0401,C0103 --output-format=colorized {} +
run: find . -name '*.py' -exec pylint -d E0611,E0401,C0103,C0301 --output-format=colorized {} +

- name: Run make test
run: make test
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,17 @@

All notable changes to this project will be documented in this file.

## [v3.3.0](https://github.com/Antiz96/arch-update/releases/tag/v3.3.0) - 2024-10-06

### Features

- Add a dynamic dropdown menu entry to the systray applet menu containing the list of available updates ([#272](https://github.com/Antiz96/arch-update/pull/272)) - ([af51378](https://github.com/Antiz96/arch-update/commit/af51378cf4e0e7c67722ca9d90be44c26f6f27cc)) by @Antiz96

### Documentation

- Update screenshots in the READMEs with the new systray's dropdown menu ([#273](https://github.com/Antiz96/arch-update/pull/273)) - ([d79ed9b](https://github.com/Antiz96/arch-update/commit/d79ed9b93324add9e926b059be98d38345bbc8ef)) by @Antiz96
- Document the workaround for the race condition potentially happening when starting the systray applet at boot ([#271](https://github.com/Antiz96/arch-update/pull/271)) - ([64378f1](https://github.com/Antiz96/arch-update/commit/64378f1de372d7768cb53cbb76887babe50170f1)) by @Antiz96

## [v3.2.3](https://github.com/Antiz96/arch-update/releases/tag/v3.2.3) - 2024-10-05

### Fixes
Expand Down
45 changes: 36 additions & 9 deletions README-fr.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,9 @@ arch-update --tray --enable
systemctl --user enable --now arch-update-tray.service
```

Si vous utilisez un gestionnaire de fenêtre ou un compositeur Wayland, vous pouvez plutôt ajouter la commande `arch-update --tray` à vôtre fichier de configuration.
Si vous utilisez un gestionnaire de fenêtre ou un compositeur Wayland, vous pouvez plutôt ajouter la commande `arch-update --tray` à vos applications "auto-start" dans votre fichier de configuration.

**Si l'applet systray ne démarre pas au démarrage du système malgré tout**, veuillez lire [ce chapitre](#lapplet-systray-ne-démarre-pas-au-démarrage-du-système).

L'icône du systray changera automatiquement en fonction de l'état actuel de votre système ('à jour' ou 'mises à jour disponibles'). Lorsque vous cliquez dessus, elle lance `arch-update` via le fichier [arch-update.desktop](https://github.com/Antiz96/arch-update/blob/main/res/desktop/arch-update.desktop).

Expand Down Expand Up @@ -137,19 +139,23 @@ C'est l'icône à droite de celle du wifi dans la capture d'écran ci-dessous:

![systray-icon](https://github.com/Antiz96/arch-update/assets/53110319/fe032e68-3582-470a-9e6d-b51a9ea8c1ba)

Avec [le systemd timer](#le-timer-systemd) activé, `Arch-Update` vérifie automatiquement les mises à jour au démarrage du système puis une fois chaque heure. La vérification peut être manuellement déclenchée en exécutant la commande `arch-update --check` ou en faisant un clic droit sur l'applet systray puis en cliquant sur l'entrée `Vérifier les mises à jour` depuis le menu :
Avec [le systemd timer](#le-timer-systemd) activé, `Arch-Update` vérifie automatiquement les mises à jour au démarrage du système puis une fois chaque heure. La vérification peut être manuellement déclenchée en exécutant la commande `arch-update --check` ou en faisant un clic droit sur l'icône du systray puis en cliquant sur l'entrée `Vérifier les mises à jour` depuis le menu :

![check_menu_fr](https://github.com/user-attachments/assets/b0b7730b-0196-4973-ac90-bceb8a74845e)

![check_menu_fr](https://github.com/user-attachments/assets/e16a3fc1-bce6-4509-8aeb-a85784354783)
Si de nouvelles mises à jour sont disponibles, l'icône du systray affichera un cercle rouge et une notification de bureau indiquant le nombre de mises à jour disponibles sera envoyée (nécessite [libnotify](https://archlinux.org/packages/extra/x86_64/libnotify/ "paquet libnotify") et un serveur de notification en cours d'exécution) :

Si de nouvelles mises à jour sont disponibles, l'icône systray affichera un cercle rouge. Vous pouvez alors voir la liste des mises à jour disponibles en passant votre souris sur l'icône de l'applet systray :
![notif_fr](https://github.com/user-attachments/assets/56d72147-bde4-492b-8ad1-20caed9f22a9)

![tooltip_fr](https://github.com/user-attachments/assets/ccad758a-bf3a-4e1d-aa9c-17470488f761)
Vous pouvez alors voir la liste des mises à jour disponibles dans l'infobulle de l'icône du systray en passant votre souris dessus :

De plus, une notification de bureau indiquant le nombre de mises à jour disponibles sera envoyée s'il y a de nouvelles mises à jour depuis le dernier check (nécessite [libnotify](https://archlinux.org/packages/extra/x86_64/libnotify/ "paquet libnotify") et un serveur de notification en cours d'exécution) :
![tooltip_fr](https://github.com/user-attachments/assets/8bc3d339-f7ab-4c8b-aa3f-2b88ea68af42)

![notif_fr](https://github.com/user-attachments/assets/16090810-157d-466b-86d4-70b5ed8091b5)
Alternativement, vous pouvez voir la liste des mises à jour disponible dans le menu déroulant en faisant un clic droit sur l'icône du systray :

Quand l'applet systray est cliquée, elle affiche la liste des paquets disponibles pour la mise à jour dans une fenêtre de terminal et demande la confirmation de l'utilisateur pour procéder à l'installation (peut aussi être lancé en exécutant la commande `arch-update`, requiert [yay](https://aur.archlinux.org/packages/yay "yay") ou [paru](https://aur.archlinux.org/packages/paru "paru") pour le support des paquets AUR et [flatpak](https://archlinux.org/packages/extra/x86_64/flatpak/) pour le support des paquets Flatpak).
![dropdown_menu_fr](https://github.com/user-attachments/assets/60c3c0d8-8091-4047-b8da-ce8f8bc72476)

Quand l'icône du systray est cliquée, elle affiche la liste des paquets disponibles pour la mise à jour dans une fenêtre de terminal et demande la confirmation de l'utilisateur pour procéder à l'installation (peut aussi être lancé en exécutant la commande `arch-update`, requiert [yay](https://aur.archlinux.org/packages/yay "yay") ou [paru](https://aur.archlinux.org/packages/paru "paru") pour le support des paquets AUR et [flatpak](https://archlinux.org/packages/extra/x86_64/flatpak/) pour le support des paquets Flatpak).

![listing_packages-FR](https://github.com/Antiz96/arch-update/assets/53110319/60547cde-f327-46f8-907c-61bf9bbee6c5)

Expand Down Expand Up @@ -182,7 +188,7 @@ de fichiers pacnew & pacsave, de mise à jour du noyau en attente ainsi que des
et, s'il y en a, propose de les traiter.
Options :
-c, --check Vérifier les mises à jour disponibles, changer l'icône systray et envoyer une notification de bureau contenant le nombre de mises à jour disponibles (s'il y a des nouvelles mises à jour disponibles depuis le dernier check)
-c, --check Vérifier les mises à jour disponibles, changer l'icône du systray et envoyer une notification de bureau contenant le nombre de mises à jour disponibles (s'il y a des nouvelles mises à jour disponibles depuis le dernier check)
-l, --list Afficher la liste des mises à jour en attente
-d, --devel Inclure les mises à jour des paquets de développement AUR
-n, --news [Num] Afficher les dernieres Arch News, vous pouvez optionellement spécifier le nombre de Arch news à afficher avec `--news [Num]` (e.g. `--news 10`)
Expand Down Expand Up @@ -262,6 +268,27 @@ Voir <https://www.flatpak.org/> et <https://archlinux.org/packages/extra/x86_64/
Arch-Update prend en charge les notifications de bureau lors de l'exécution de la fonction `--check` si **libnotify** est installé (et qu'un serveur de notification est en cours d'exécution) :
Voir <https://wiki.archlinux.org/title/Desktop_notifications>

### L'applet systray ne démarre pas au démarrage du système

Assurez vous d'avoir suivi les instructions de [ce chapitre](#lapplet-systray).

Si l'applet systray ne démarre pas malgré tout, cela peut être le résultat d'une [situation de compétition](https://fr.wikipedia.org/wiki/Situation_de_comp%C3%A9tition).
Dans ce cas, il peut être utile de légèrement retarder le démarrage de l'applet systray en utilisant une déclaration `sleep` au préalable :

- Si vous avez utilisé `arch-update --tray --enable`, modifiez la ligne `Exec=` dans le fichier `arch-update-tray.desktop` (qui se trouve sous `~/.config/autostart/` par défaut), comme ceci :

> Exec=sh -c "sleep 3 && arch-update --tray"
- Si vous avez utilisé le service systemd `arch-update-tray.service`, exécutez `systemctl --user edit --full arch-update-tray.service` et modifiez la ligne `ExecStart=`, comme ceci :

> ExecStart=sh -c "sleep 3 && arch-update --tray"
- Si vous utilisez un gestionnaire de fenêtres ou un compositeur Wayland, ajoutez une déclaration `sleep` avant la commande `arch-update --tray` dans vos applications "auto-start" dans votre fichier de configuration, comme ceci :

> `sleep 3 && arch-update --tray`
Si l'applet systray ne démarre toujours au démarrage du système, essayez de graduellement augmenter la valeur du `sleep`.

### Modifier le cycle de vérification automatique

Si vous avez activé le [timer systemd](#le-timer-systemd), l'option `--check` est automatiquement lancée au démarrage du système puis une fois par heure.
Expand Down
43 changes: 35 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,9 @@ arch-update --tray --enable
systemctl --user enable --now arch-update-tray.service
```

If you use a Window Manager or a Wayland Compositor, you can add the `arch-update --tray` command to your configuration file instead.
If you use a Window Manager or a Wayland Compositor, you can add the `arch-update --tray` command to your "auto-start" apps in your configuration file instead.

**If the systray applet doesn't start at boot regardless**, please read [this chapter](#the-systray-applet-does-not-start-at-boot).

The systray icon will automatically change depending on the current state of your system ('up to date' or 'updates available'). When clicked, it launches `arch-update` via the [arch-update.desktop](https://github.com/Antiz96/arch-update/blob/main/res/desktop/arch-update.desktop) file.

Expand Down Expand Up @@ -137,19 +139,23 @@ It is the icon at the right of the 'wifi' one in the screenshot below:

![systray-icon](https://github.com/Antiz96/arch-update/assets/53110319/fe032e68-3582-470a-9e6d-b51a9ea8c1ba)

With [the system timer](#the-systemd-timer) enabled, `Arch-Update` automatically checks for updates at boot and then once every hour. The check can be manually triggered by running the `arch-update --check` command or by right clicking the systray applet and then clicking on the `Check for updates` menu entry:
With [the system timer](#the-systemd-timer) enabled, `Arch-Update` automatically checks for updates at boot and then once every hour. The check can be manually triggered by running the `arch-update --check` command or by right-clicking the systray icon and then clicking on the `Check for updates` menu entry:

![check_for_updates](https://github.com/user-attachments/assets/86c3107d-d7aa-4ced-b9aa-69668c2e3c2a)

![check_for_updates](https://github.com/user-attachments/assets/fc1e1dc4-9b42-4560-beeb-7cb44186364d)
If there are new available updates, the systray icon will show a red circle and a desktop notification indicating the number of available updates will be sent (requires [libnotify](https://archlinux.org/packages/extra/x86_64/libnotify/ "libnotify package") and a running notification server):

If there are new available updates, the systray icon will show a red circle. You can then see the list of available updates by hovering your mouse over the icon:
![notif](https://github.com/user-attachments/assets/55301470-fab6-463f-af2e-ebe4e3d65af7)

![tooltip](https://github.com/user-attachments/assets/59237e42-b989-4222-9be7-1d6a88eef790)
You can then see the list of available updates in the systray icon's tooltip by hovering your mouse over it:

Additionally, a desktop notification indicating the number of available updates will be sent if there are new available updates compared to the last check (requires [libnotify](https://archlinux.org/packages/extra/x86_64/libnotify/ "libnotify package") and a running notification server):
![tooltip](https://github.com/user-attachments/assets/52ee0608-a8a2-4be9-ba9b-badeb8720ba1)

![notif](https://github.com/user-attachments/assets/16518dc4-d883-420f-b8a3-097f85177bb1)
Alternatively, you can see the list of available updates in the dropdown menu entry by right-clicking the systray icon:

When the systray applet is left clicked, it prints the list of packages available for updates inside a terminal window and asks for the user's confirmation to proceed with the installation (it can also be launched by running the `arch-update` command, requires [yay](https://aur.archlinux.org/packages/yay "yay") or [paru](https://aur.archlinux.org/packages/paru "paru") for AUR packages support and [flatpak](https://archlinux.org/packages/extra/x86_64/flatpak/) for Flatpak packages support).
![dropdown_menu](https://github.com/user-attachments/assets/4621d7d2-a9e4-40c3-851f-ee1687e6cf1e)

When the systray icon is left-clicked, it prints the list of packages available for updates inside a terminal window and asks for the user's confirmation to proceed with the installation (it can also be launched by running the `arch-update` command, requires [yay](https://aur.archlinux.org/packages/yay "yay") or [paru](https://aur.archlinux.org/packages/paru "paru") for AUR packages support and [flatpak](https://archlinux.org/packages/extra/x86_64/flatpak/) for Flatpak packages support).

![listing_packages](https://github.com/Antiz96/arch-update/assets/53110319/ed552414-0dff-4cff-84d2-6ff13340259d)

Expand Down Expand Up @@ -262,6 +268,27 @@ See <https://www.flatpak.org/> and <https://archlinux.org/packages/extra/x86_64/
Arch-Update supports desktop notifications when performing the `--check` function if **libnotify** is installed (and a notification server is running):
See <https://wiki.archlinux.org/title/Desktop_notifications>

### The systray applet does not start at boot

Make sure you followed instructions of [this chapter](#the-systray-applet).

If the systray applet doesn't start regardless, this could be the result of a [race condition](https://en.wikipedia.org/wiki/Race_condition#In_software).
In such case, it might be useful to slightly delay the startup of the systray applet by using a `sleep` statement beforehand:

- If you used `arch-update --tray --enable`, modify the `Exec=` line in the `arch-update-tray.desktop` file (which is under `~/.config/autostart/` by default), like so:

> Exec=sh -c "sleep 3 && arch-update --tray"
- If you used the `arch-update-tray.service` systemd service, run `systemctl --user edit --full arch-update-tray.service` and modify the `ExecStart=` line, like so:

> ExecStart=sh -c "sleep 3 && arch-update --tray"
- If you're using a standalone Window Manager or a Wayland Compositor, add a `sleep` statement before the `arch-update --tray` command in your "auto-start" apps in your configuration file, like so:

> `sleep 3 && arch-update --tray`
If the systray applet still does not start at boot, try to gradually increase the value of the `sleep`.

### Modify the auto-check cycle

If you enabled the [systemd.timer](#the-systemd-timer), the `--check` option is automatically launched at boot and then once per hour.
Expand Down
29 changes: 26 additions & 3 deletions doc/man/arch-update.1
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.TH "ARCH-UPDATE" "1" "September 2024" "Arch-Update 3.2.3" "Arch-Update Manual"
.TH "ARCH-UPDATE" "1" "October 2024" "Arch-Update 3.3.0" "Arch-Update Manual"

.SH NAME
arch-update \- An update notifier & applier for Arch Linux that assists you with important pre / post update tasks.
Expand Down Expand Up @@ -78,7 +78,7 @@ Start the Arch-Update systray applet.
.br
.RB "To start it automatically at boot, you can either run the " "arch-update --tray --enable " "command (preferred method for most Desktop Environments, uses XDG Autostart) or enable the associated systemd service (in case your Desktop Environment doesn't support XDG Autostart) by running " "systemctl \-\-user enable \-\-now arch-update-tray.service".
.br
.RB "If you use a window manager or a Wayland compositor, you can add the " "arch-update --tray " "command to your configuration file instead."
.RB "If you use a window manager or a Wayland compositor, you can add the " "arch-update --tray " "command to your auto-start apps in your configuration file instead."

.TP
.B \-v, \-\-version
Expand All @@ -102,7 +102,9 @@ To start it automatically at boot, you can either:
.br
.RB "- Enable the associated systemd service (in case your Desktop Environment doesn't support XDG Autostart): " "systemctl \-\-user enable \-\-now arch-update-tray.service"

.RB "If you use a Window Manager or a Wayland Compositor, you can add the " "arch-update \-\-tray " "command to your configuration file instead."
.RB "If you use a Window Manager or a Wayland Compositor, you can add the " "arch-update \-\-tray " "command to your auto-start apps in your configuration file instead."

.BR "If the systray applet doesn't start at boot regardless" ", please read the " "'The systray applet does not start at boot' " "chapter in the " "Tips and Tricks " "section below."

.RB "The systray icon will automatically change depending on the current state of your system ('up to date' or 'updates available'). When clicked, it launches " "arch-update " "via the " "arch-update.desktop " file.

Expand Down Expand Up @@ -152,6 +154,27 @@ See https://www.flatpak.org/ and https://archlinux.org/packages/extra/x86_64/fla
.br
See https://wiki.archlinux.org/title/Desktop_notifications

.TP
.B The systray applet does not start at boot
.RB "Make sure you followed instructions of the " "'The systray applet' " "chapter in the " "Usage " "section above."

.RB "If the systray applet doesn't start regardless, this could be the result of a " "race condition".
.RB "In such case, it might be useful to slightly delay the startup of the systray applet by using a " "sleep " "statement beforehand:"

.RB "\- If you used " "arch-update --tray --enable" ", modify the " "Exec= " "line in the " "arch-update-tray.desktop " "file (which is under " "~/.config/autostart/ " "by default), like so:"
.br
Exec=sh -c "sleep 3 && arch-update --tray"

.RB "\- If you used the " "arch-update-tray.service " "systemd service, run " "systemctl --user edit --full arch-update-tray.service " "and modify the " "ExecStart= " "line, like so:"
.br
ExecStart=sh -c "sleep 3 && arch-update --tray"

.RB "\- If you're using a standalone Window Manager or a Wayland Compositor, add a " "sleep " "statement before the " "arch-update --tray " "command in your auto-start apps in your configuration file, like so:"
.br
sleep 3 && arch-update --tray

.RB "If the systray applet still does not start at boot, try to gradually increase the value of the " "sleep".

.TP
.B Modify the auto-check cycle
.RB "If you enabled the " "systemd.timer" ", the " "--check " "option is automatically launched at boot and then once per hour."
Expand Down
2 changes: 1 addition & 1 deletion doc/man/arch-update.conf.5
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.TH "ARCH-UPDATE.CONF" "5" "July 2024" "Arch-Update 3.2.3" "Arch-Update Manual"
.TH "ARCH-UPDATE.CONF" "5" "October 2024" "Arch-Update 3.3.0" "Arch-Update Manual"

.SH NAME
arch-update.conf \- arch-update configuration file.
Expand Down
Loading

0 comments on commit 1a97c7d

Please sign in to comment.