Esto no representa ninguna mejora en rendimiento, es puramente estético así que empecemos.
Para hacer funcionar el notificador necesitas cbatticon y acpi puedes descargarlo desde synaptic, yad ya viene instalado en bwp64 ademas de las fuentes Terminess nerd fonts (fuentes libres), si no tienes las fuentes puedes editar el script con unas de tu sistema, recuerda reinciar X despues de hacer los cambios.
El script notifica si falta acpi en el sistema.
para reemplazar el notificador original edita el archivo /bin/powerapplet_tray
y comentamos la linea 44, debe quedar asi
Code: Select all
#CMD=/usr/bin/powerapplet_tray.bin
CMD=/usr/local/bin/cbatticon-tray
ahora crea 2 scripts en /usr/local/bin y nombralos cbatticon-tray y notificador-bateria.sh, el primero muestra la notificación en la bandeja del sistema y el segundo muestra un cartel en la esquina superior derecha
cbatticon-tray
Code: Select all
# /usr/bin/env bash
sleep 2
set -eou pipefail
if cat /sys/class/power_supply/BAT*/present > /dev/null 2>&1 ; then
cbatticon -u 20 -i standard -x /usr/local/bin/notificador-bateria.sh -r 3 -c "wmpoweroff" -l 11
fi
exit
este crea la notificacion en la bandeja del sistema
notificador-bateria.sh
Code: Select all
#!/bin/bash -x
export TEXTDOMAIN=notificador-bateria
export OUTPUT_CHARSET=UTF-8
export DISPLAY=:0.0
battery_percent=$(acpi -b | grep -oP '(?<=: ).*(?=%)' | grep -oP '[0-9:]+')
battery_Charging=$(acpi -b | grep -oP '(\d+:\d+):\d+ until charged' | sed 's/ until charged//' | paste -sd: - | cut -d: -f1,2)
battery_Discharging=$(acpi -b | grep -o '[0-9:]* remaining' | sed 's/ remaining//' | awk -F: '{printf "%d horas %d min.\n", $1, $2}')
icon_theme=$(grep gtk-icon-theme-name ~/.gtkrc-2.0 | cut -d= -f2 | tr -d ' ' | sed 's/"//g')
icon_name=battery #aqui va el nombre del icono que vas a usar y cambia segun el tema
icon_path=$(find /usr/share/icons/$icon_theme -type f -name "$icon_name.*" | head -n 1)
color1="#FFAC09" # orange
color2="#00CDFF" #light blue
color3="#F2E400" #yellow
color4="#FF4D5D" #red
color5="#28FF61" #green
color6="#FFFFFF" #white
font1="Terminess Nerd Font 14"
font2=
font3=
# Verificar si acpi está instalado
if ! command -v acpi &> /dev/null; then
# Mostrar mensaje con YAD
yad --text="<span font='$font1' foreground='$color5'> $(gettext 'Need ACPI to run this notifier')</span>" --timeout=4 --no-buttons --undecorated
fi
if [ "$battery_percent" ]; then
if [ "$battery_Charging" ]; then
status="<span font='$font1' foreground='$color6'> $(gettext 'Charging') ⚡🔋</span>
<span font='$font1' foreground='$color6'> $battery_Charging </span> <span font='$font1' foreground='$color5'> $(gettext 'Until Charged')</span> "
elif [ "$battery_Discharging" ]; then
status="<span font='$font1' foreground='$color6'>$(gettext 'Discharging') 🔋⚠️</span>\n<span font='$font1' foreground='$color6'>$battery_Discharging $(gettext 'Remaining')</span>"
else
status="<span font='$font1' foreground='$color6'> $(gettext 'Unknow')</span>"
fi
yad --title="Battery Notifier" \
--text-align=center \
--text="<span font='$font1' foreground='$color2'>$(gettext 'Percent:')</span> <span font='$font1' foreground='$color6'>$battery_percent%</span>\n<span font='$font1' foreground='$color2'>$(gettext 'Status:')</span> $status" \
--image="$icon_name" \
--no-buttons \
--skip-taskbar \
--fixed \
--undecorated \
--timeout=3 \
--mouse \
--posx=-1 \
--posy=0 \
--width=300 \
fi
este muestra el cartel en el escritorio, la información que arroja el cartel es lo mas básico tiempo de duración de carga o descarga, el estado y porcentaje
si quieres mas información sobre la batería siempre puedes usar el antiguo comando de la notificación original
Code: Select all
batinfo
la diferencia entre uno y otro es que la notificación cambia con el tema de iconos en /usr/share/icons si tienes un tema para linux instalado, si el tema no tiene un icono de batería aparecerá uno standard de archivo cualquiera.
y también puedes modificar el tamaño de texto, color y duración del cartel en el escritorio.
cbatticon tambien se puede customizar con varios parametros