web-dev-qa-db-fra.com

Les notifications urgentes ne s'affichent pas en mode plein écran

Je suis sur Ubuntu 18.04. J'ai fait une nouvelle installation, tout est beau et assez stable, mais je ne vois pas les notifications urgentes en mode plein écran (par exemple, les vidéos YouTube dans Google Chrome, les films sur MPV, Totem ou VLC). J'ai essayé d'utiliser --urgency-critical et -u critical, et j'ai vu qu'ils fonctionnaient normalement, car je devais cliquer sur le bouton X pour les supprimer, mais cette commande ne les met pas au premier plan, comme dans 17.10. Je ne comprends pas si c'est un bug de Gnome Shell ou si je dois faire quelque chose de nouveau. C'est vraiment énervant car je ne vois pas la notification de batterie faible et mon ordinateur portable s'éteint chaque fois que je regarde un film. Je dois me contrôler, pas à l'aise, vraiment. Quelqu'un connaît une solution de contournement ou quelque chose?

1
nplezka

Oui c'est très énervant. Pour contourner le problème, j'utilise la boîte de dialogue zenity de warning . Il présente l'avantage de s'afficher même sur des applications en plein écran:

zenity --warning --text='Battery Low' --no-wrap

Obtenir le pourcentage de batterie actuel par programme via un script est très facile, mais vous devrez effectuer un peu de recherche, en raison de la variabilité entre les systèmes et les fabricants. Commencez à partir de ici .


Voici la configuration de mon script:

C'est batteryLevel.sh :

#!/bin/bash

upower -i /org/freedesktop/UPower/devices/battery_BAT1 | grep percentage | sed -r 's/[^0-9]*([0-9]+).*/\1/'

C'est batteryStatus.sh :

#!/bin/bash

upower -i /org/freedesktop/UPower/devices/battery_BAT1 | grep state | sed -r 's/.*\:\ +(.*)/\1/'

Enfin, c’est batteryInfoNotify.sh :

#!/bin/bash

upperThreshold=99
lowerThreshold=20

echo upperThreshold=$upperThreshold
echo lowerThreshold=$lowerThreshold

zenity --info --text='Battery level monitoring started...' --no-wrap 2>&1 >/dev/null

while [[ true ]]; do
    status=$(~/Scripts/batteryStatus.sh)
    level=$(~/Scripts/batteryLevel.sh)
    msg="Battery Level now is $level%"

    echo "Battery $level% and $status"

    case $status in
        charging | fully-charged)
            if [[ $level -gt $upperThreshold ]]; then
                echo 'Upper threshold crossed...'
                zenity --warning --text="$msg" --no-wrap --timeout=8 >/dev/null 2>&1
                espeak -v en+m7 -p 60 "$msg"
            fi
            ;;
        discharging)
            if [[ $level -lt $lowerThreshold ]]; then
                echo 'Lower threshold crossed...'
                zenity --warning --text="$msg" --no-wrap --timeout=8 >/dev/null 2>&1
                espeak -v en+m7 -p 60 "$msg"
            fi
            ;;
        *)
            echo unexpected battery status
            ;;
    esac

    sleep 30s
done

Tous ces éléments se trouvent dans mon ~/Scripts et batteryInfoNotify.sh est appelé au démarrage de la session à chaque fois car je l’ai configuré de cette manière dans GNOME Startup Appications.

2
AneesAhmed777