Een nieuwe trend in de verfraaiing van het Bureaublad zijn Dynamische achtergronden.
Op basis van tijd of stand van de zon worden andere Bureaublad achtergrondafbeeldingen weergegeven.
In macOS worden dynamische achtergronden standaard meegeleverd en populair. Vandaar dat de meeste dynamische achtergronden, speciaal voor macOS zijn ontworpen. Zo kan je op de website Dynamic Wallpaper Club diverse dynamische achtergronden downloaden. Maar Apple gebruikt wel een merkwaardig bestandsformaat: het HEIF-formaat, herkenbaar aan de heic extensie. Het HEIF bestandsformaat bevat verschillende foto's in één enkel bestand (zie Wikipedia). Door de groeiende belangstelling en het gebruik ervan op Apple apparaten, wordt het formaat stilaan geïntegreerd in fotobewerkingsprogramma's zoals GIMP.
Je kunt met HEIF afbeeldingen op Linux werken door extra software te installeren. De HEIF software is nog niet opgenomen in de standaard openSUSE Leap 15.1 softwarebronnen en kan je met de volgende opdracht installeren vanuit de softwarebron home:Herbster0815:
dany@pindabook:~> sudo /sbin/OCICLI https://software.opensuse.org/ymp/home:Herbster0815/openSUSE_Leap_15.1/li
[sudo] wachtwoord voor root:
Als u verdergaat, dan worden de volgende installatiebronnen toegevoegd:
* http://download.opensuse.org/repositories/KDE:/Frameworks5/openSUSE_Leap_15.1/
* http://download.opensuse.org/repositories/KDE:/Qt5/openSUSE_Leap_15.1/
* http://download.opensuse.org/repositories/home:/Herbster0815/openSUSE_Leap_15.1/
Als verdergaat, dan zullen de volgende softwarepakketten worden geïnstalleerd op uw systeem:
* libheif1
Continue? y/N
y
Toevoegen van installatiebronnen...
Daarbij moet je de nieuwe softwarebron vertrouwen.
Om informatie over de afbeeldingen in een HEIF bestand op te vragen, gebruik je de opdracht:
dany@pindabook:~> heif-info Downloads/Night\ CET\ v2.heic
MIME type: image/heic
image: 5120x2880 (id=61), primary
color profile: prof
alpha channel: no
depth channel: no
image: 5120x2880 (id=123)
color profile: no
alpha channel: no
depth channel: no
...
image: 5120x2880 (id=2929)
color profile: no
alpha channel: no
depth channel: no
Daaruit blijkt dat dit HEIF bestand 48 foto's bevat. Een dag telt 24 uur, m.a.w. één foto per half uur. Om de foto's als achtergrond te gebruiken, moeten we ze uit het HEIF bestand extraheren naar een nieuwe map. Daarvoor gebruiken we de volgende opdrachten:
dany@pindabook:~>mkdir -p ~/Afbeeldingen/Achtergronden/Dynamisch
dany@pindabook:~>heif-convert Downloads/Night\ CET\ v2.heic Afbeeldingen/Achtergronden/Dynamisch/Achtergrond.jpg
File contains 48 images Written to Afbeeldingen/Achtergronden/Dynamisch/Achtergrond-1.jpg Written to Afbeeldingen/Achtergronden/Dynamisch/Achtergrond-2.jpg ... Written to Afbeeldingen/Achtergronden/Dynamisch/Achtergrond-48.jpg
Om elk half uur een andere achtergrond weer te geven, kunnen we een script schrijven. Maar hoe activeer je met een opdracht een nieuwe achtergrond. Wel daarvoor moet je communiceren met KDE Plasma, het KDE onderdeel dat o.a. zorgt voor het Bureaublad. Omdat de opdracht om de KDE Plasma Bureaublad achtergrond aan te passen, complex is, definiëren we een functie:
set_wallpaper(){ dbus-send --session --dest=org.kde.plasmashell --type=method_call /PlasmaShell org.kde.PlasmaShell.evaluateScript "string: var Desktops = desktops(); for (i=0;i<Desktops.length;i++) { d = Desktops[i]; d.wallpaperPlugin = 'org.kde.image'; d.currentConfigGroup = Array('Wallpaper', 'org.kde.image', 'General'); d.writeConfig('Image', 'file://$1'); }" }
Daar deze functie bestaat uit verschillende regels, verschijnen bij het ingeven in de terminal >-tekens bij elke nieuwe regel. Nu kan je een elke afbeelding als achtergrond instellen met de opdracht:
dany@pindabook:~> set_wallpaper ~/Afbeeldingen/Achtergronden/Dynamisch/Achtergrond-1.jpg
Je merkt daarbij dat de overgang vloeiend verloopt, ideaal voor onze toepassing. Merk eveneens op dat je niets zult merken als de afbeelding al als achtergrond wordt gebruikt of het afbeeldingsbestand niet bestaat of toegankelijk is.
Via een eindeloze lus geven we elk half uur een aangepaste achtergrond afbeelding weer. Het volledige script wordt dan:
#!/bin/bash set_wallpaper(){ # Functie om een afbeelding als Bureaublad achtergrond in te stellen dbus-send --session --dest=org.kde.plasmashell --type=method_call /PlasmaShell org.kde.PlasmaShell.evaluateScript "string: var Desktops = desktops(); for (i=0;i<Desktops.length;i++) { d = Desktops[i]; d.wallpaperPlugin = 'org.kde.image'; d.currentConfigGroup = Array('Wallpaper', 'org.kde.image', 'General'); d.writeConfig('Image', 'file://$1'); }" } # Installeer indien nodig de HEIF conversie software if [ ! -f /usr/bin/heif-convert ]; then sudo /sbin/OCICLI https://software.opensuse.org/ymp/home:Herbster0815/openSUSE_Leap_15.1/libheif1.ymp fi # Maak indien nodig een map met Dynamische achtergrondafbeeldingen aan mkdir -p ~/Afbeeldingen/Achtergronden/Dynamisch # En vul deze met afbeeldingen uit een HEIF bestand #rm Afbeeldingen/Achtergronden/Dynamisch/* #heif-convert Downloads/Night\ CET\ v2.heic Afbeeldingen/Achtergronden/Dynamisch/Achtergrond.jpg while :; do # Eindeloze lus om elk half uur een andere achtergrond in te stellen # Bepaal de bestandnaam van achtergrondafbeelding op basis van de huidige tijd suffix=$(date +"%k") suffix=$((suffix * 2)) if [[ $(date +"%M") > "30" ]]; then suffix=$((suffix + 1)) fi echo $HOME/Afbeeldingen/Achtergronden/Dynamisch/Achtergrond-$suffix.jpg # Stel de tijdafhankelijke achtergrondafbeelding in set_wallpaper $HOME/Afbeeldingen/Achtergronden/Dynamisch/Achtergrond-$suffix.jpg sleep 60 # Wacht 60 seconden, verhoog deze waarde om deze lus minder frequent uit te voeren. done
Dit script kan je uitvoeren met de volgende opdracht:
dany@pindabook:~> bash ./Documenten/Systeembeheer/dynamicWallpaper.sh
/home/dany/Afbeeldingen/Achtergronden/Dynamisch/Achtergrond-28.jpg
/home/dany/Afbeeldingen/Achtergronden/Dynamisch/Achtergrond-28.jpg
Het script breek je af met de sneltoets Ctrl+c. Na een succesvolle test kan je het script automatisch laten starten bij het opstarten van de KDE omgeving. Dit kan je instellen via de Systeeminstellingen > Opstarten en afsluiten in de categorie Autostart.
Nu je weet hoe je HEIF bestanden kunt converteren naar gewone JPEG bestanden. En je weet hoe je een KDE Plasma Bureaublad achtergrond kunt instellen. Kan je zelf dynamische bureaubladachtergrond scripts schrijven. Zo kan je de Bureaubladachtergrond wijzigen bij het opgaan en ondergaan van de zon. Maak er iets mooi, uniek en persoonlijk van. Succes en veel plezier.