Battery Wallpaper Save

Simple bash script to set wallpaper according to battery percentage with charging animations.

Project README

A simple bash script to set an animated battery as desktop wallpaper. It shows charging animation and changes according to battery percentage.

gif

Overview

  • 21 different types of battery wallpapers/icons.
  • Shows battery charging animation.
  • Stop animation when the battery is fully charged.
  • When not charging, the wallpaper/icon changes according to battery percentage.
  • Users can add their own icons/styles/wallpapers.
  • Tested on :
    • Window Managers : Works on all window managers (tested on all WMs Archcraft have)
    • Wayland Compositors : sway, wayfire, river, newm, hyprland
    • Desktop Environments : KDE, Pantheon, Gnome, Deepin, Cinnamon, XFCE, LXDE, MATE, Zorin, Budgie

Dependencies

Install Following programs on your system before using bwall -

  • acpi : To get battery and charging data
  • feh : To set wallpapers on WMs
  • xrandr : Only if you're using XFCE desktop

Install acpi, feh and xrandr -

# On Archlinux
$ sudo pacman -Sy acpi feh xorg-xrandr

# On Ubuntu or Debian
$ sudo apt-get install acpi feh x11-xserver-utils

For swaywm support users must install oguri. The oguri daemon must be started for the script to work. Oguri can be installed on Arch linux via AUR.

Installation

Follow the step below to install bwall on your system -

You can run test.sh to test it before installing it on your system.

  • Clone this repository -
$ git clone https://github.com/adi1090x/battery-wallpaper.git
  • Change to cloned directory and run install.sh -
$ cd battery-wallpaper
$ chmod +x install.sh
$ ./install.sh

Run the program

  • Open the terminal and execute bwall -
$ bwall

┏┓ ┏━┓╺┳╸╺┳╸┏━╸┏━┓╻ ╻   ╻ ╻┏━┓╻  ╻  ┏━┓┏━┓┏━┓┏━╸┏━┓
┣┻┓┣━┫ ┃  ┃ ┣╸ ┣┳┛┗┳┛   ┃╻┃┣━┫┃  ┃  ┣━┛┣━┫┣━┛┣╸ ┣┳┛
┗━┛╹ ╹ ╹  ╹ ┗━╸╹┗╸ ╹    ┗┻┛╹ ╹┗━╸┗━╸╹  ╹ ╹╹  ┗━╸╹┗╸

Bwall V3.0   : Set desktop wallpaper according to battery percentage.
Developed By : Aditya Shakya (@adi1090x)

Usage : bwall.sh [-h] [-d] delay [-s style]

Options:
   -h          Show this help message
   -d  num     Set charging animation delay (default 0.8s)
   -s  style   Name of the wallpaper style to apply
   
Available styles:  bar  bonsai  cartoon  charge  city  city_alt  colours  cup_black  cup_dark  egg
faded  frame  industrial  leaves  mechanical  panel  paper  pixel_city  slash  space  sweet  

Examples: 
bwall.sh -s bonsai      Set wallpaper from 'bonsai' style
bwall.sh -d 1 -s bar    Set wallpaper from 'bar' style with 1sec delay
  • Select the style you like and run -
$ bwall -s bonsai
[*] Using style : bonsai

Previews

Click To View

Bonsai

Charging Full
gif gif

Bar

Charging Full
gif gif

Cartoon

Charging Full
gif gif

Charge

Charging Full
gif gif

Colours

Charging Full
gif gif

Cup Black

Charging Full
gif gif

Cup Dark

Charging Full
gif gif

Egg

Charging Full
gif gif

Faded

Charging Full
gif gif

Frame

Charging Full
gif gif

Industrial

Charging Full
gif gif

Leaves

Charging Full
gif gif

Mechanical

Charging Full
gif gif

Panel

Charging Full
gif gif

Paper

Charging Full
gif gif

Slash

Charging Full
gif gif

Sweet

Charging Full
gif gif

Space

Charging Full
gif gif

Pixel City

Charging Full
gif gif

City

Charging Full
gif gif

City Alt

Charging Full
gif gif

Common Issues

  1. Wallpaper not changing : If your wallpaper is not changing, then open an issue and show me the output of echo $DESKTOP_SESSION.

  2. Not working on XFCE : If this script is not working on xfce, then open the terminal and run xfconf-query -c xfce4-desktop -m and change the wallpaper (any) via xfce4-settings-manager.
    In the terminal, xfconf-query will print lines starting with set:, which show which properties have been changed, check screen & monitor values and modify the script accordingly.

110   ## For XFCE
111   if [[ "$OSTYPE" == "linux"* ]]; then
112      SCREEN="0"
113      MONITOR="1"
114   fi

  1. Autostart : If you want to autostart the script with desktop, you can add it to your WM autostart file & if it doesn't work for you, you can create a desktop file in $HOME/.config/autostart dir.
$ cd $HOME/.config/autostart && touch bwall.desktop

# Add this to bwall.desktop file

[Desktop Entry]
Name=Battery Wallpaper
Comment=Set desktop background according to battery percentage, with charging animation.
Exec=/usr/bin/bwall -s leaves &
Type=Application
Icon=wallpaper
Categories=Accessories;

Quick FYI

  • In KDE, bwall changes the wallpaper in all the Activities.
  • You can add bwall -s style & to your wm autostart file to set it as wallpaper after login.
  • Have Fun!
Open Source Agenda is not affiliated with "Battery Wallpaper" Project. README Source: adi1090x/battery-wallpaper