Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Ubuntu wallpaper-slideshow zonder software te installeren  (gelezen 8144 keer)

Offline edehont

  • Lid
Ubuntu wallpaper-slideshow zonder software te installeren
« Gepost op: 2011/03/23, 03:54:58 »
Ik ben hier nog pas nieuw, dus hopelijk ben ik met deze posting op de
juiste plaats. Ik hoor het wel.

Dit is geen vraag, maar ik wil even trots laten zien dat ik wat
geprogrammeerd heb. Zie maar wat je er mee doet.

Ik zag dat wanneer je een nieuw achtergrondje kiest door een rechtsklik op de
Ubuntu-desktop, je ook kunt kiezen uit twee 'slide shows': contest en cosmos,
die je om de zoveel tijd automagisch een nieuw achtergrondje presenteren.

Ik vroeg me af hoe dat werkte en hoe ik dat zelf kon doen en kwam met het volgende:

Door te kijken naar de verwijzing die je ziet als je je muis
even laat zweven boven de thumbnail van zo'n slide show kwam ik er
achter dat op die plaats op disk een filetje met de naam background-1.xml staat.
Blijkbaar kun je zo'n file ook toevoegen i.p.v. een jpg-bestand.

Hoe maak je zo'n bestand?

De structuur van het betreffende xml-bestandje is nogal simpel, dus het
koste me weinig moeite een Perl-script uit de grond te stampen om zo'n
file te genereren. Door het onderstaande script in je persoonlijke
bin-directory te zetten (~/bin/mySlideShow) en met chmod +x executable
te maken kun je voortaan in elke directory met plaatjes zo'n background-1.xml
file genereren dat alle plaatjes in willekeurige volgorde laat zien. Als je klikt op 'toevoegen'
moet je rechtsonder in de file-selector 'Images' vervangen door 'All files', dan kun
je de xml-file selecteren.

N.B.: Ik heb het script niet uitgebreid getest en weet bijv. niet hoe
het omgaat met filenamen met spaties er in. Als er belangstelling voor
is wil ik het wel verder uitbouwen (meerdere directories opgeven,
sequentieel en willekeurige volgorde kiezen m.b.v. switches, enz. Ik
hoor het wel.

N.B.2: Ik heb domweg de structuur van de bestaande XML gevolgd,
zonder na te denken over het veranderen van diverse waarden. Hopelijk
kan iemand uitleggen wat er allemaal mogelijk is met deze XML-file!

#!/usr/bin/perl
# mySlideShow
# Author: Eric de Hont
# Mail: edehont@xs4all.nl
# Date: wo mrt 23 01:43:16 CET 2011
##################################################

use strict;
use warnings;
use List::Util qw(shuffle);
use Cwd;

my $dir = getcwd . '/';

my $head = '<background>
  <starttime>
    <year>2009</year>
    <month>08</month>
    <day>04</day>
    <hour>00</hour>
    <minute>00</minute>
    <second>00</second>
  </starttime>
<!-- This animation will start at midnight. -->
';

my $foot = '</background>';

my @pictures;

opendir(DIR, '.') or die "can't open current directory: $!";
while (defined(my $picture = readdir(DIR))) {
  next if $picture =~ /^\.\.?$/; #skip . and ..
  next unless $picture =~ /^.+\.(jpg|png|gif)$/i;
  push @pictures, $dir.$picture;
}
closedir(DIR);

@pictures = shuffle(@pictures); # Randomize the pictures

# Start
my @XML = $head;

die "No pictures found." unless @pictures > 0;

# First picture

push @XML, "  <static>
    <duration>1795.0</duration>
    <file>$pictures[0]</file>
  </static>\n";

# The bulk
for (my $cur = 1; $cur < @pictures; $cur++) {
  push @XML, "  <transition>
    <duration>5.0</duration>
    <from>$pictures[$cur - 1]</from>
    <to>$pictures[$cur]</to>
  </transition>
  <static>
    <duration>1795.0</duration>
    <file>$pictures[$cur]</file>
  </static>\n";
}

# The last picture

push @XML, "  <transition>
    <duration>5.0</duration>
    <from>$pictures[-1]</from>
    <to>$pictures[0]</to>
  </transition>\n";

# Finish the XML

push @XML, $foot;

# write XML

open(XML, '> background-1.xml') or die "Couldn't open background-1.xml for writing: $!\n";
print XML @XML;

close(XML);

Groeten,
Eric de Hont
I
Groeten,
Eric

Re: Ubuntu wallpaper-slideshow zonder software te installeren
« Reactie #1 Gepost op: 2011/03/23, 11:15:31 »
Maar ik zie dat nergens staan hoor, dat je kunt kiezen uit.

Deze staan nochtans staan geinstalleerd (op 10.10 toch, daarvoor ook al dacht ik). Ge kunt ze herkennen in de lijst met achtergronden omdat ze achter hun icoontje nog een extra dubbele kader hebben.

Offline edehont

  • Lid
Re: Ubuntu wallpaper-slideshow zonder software te installeren
« Reactie #2 Gepost op: 2011/03/23, 14:21:41 »
Hier een screenshot waar je kunt zien hoe de slide-shows worden afgebeeld als een stapeltje foto's:


Door op het groene pijltje te klikken kun je zelfs door de wallpapers bladeren.

Zulke slide shows kun je dus maken met mijn scriptje. Ongetwijfeld heeft de maker van deze oorspronkelijke slideshows ook zo'n scriptje gebruikt, maar ik heb niet kunnen terugvinden dat hij dat met de community gedeeld heeft.

Groeten,
Eric de Hont
Groeten,
Eric

Re: Ubuntu wallpaper-slideshow zonder software te installeren
« Reactie #3 Gepost op: 2011/03/23, 15:07:47 »
Ik wist het wel, maar niet hoe je ze zelf kon maken, dus bedankt edehont! Zeker voor slideshows met veel bestanden kan jouw scriptje wel handig zijn, voor kleintjes is het niet zoveel werk om zelf het .xml bestandje te schrijven.

Re: Ubuntu wallpaper-slideshow zonder software te installeren
« Reactie #4 Gepost op: 2011/03/23, 15:25:24 »
Verhip, even gekeken op mijn Ubuntu bak, maar dat valt mij nu pas op dus. Grappig.
Op Mint zie ik het trouwens niet.

Op Ubuntu 11.04 ook niet, dus is echt puur 10.10 kennelijk.

@edehont: Leuk script :) Op Kubuntu kan je standaard al eigen slideshows maken voor je achtergrond, maar voor de mensen die 11.04 gebruiken is dit erg handig :)

Re: Ubuntu wallpaper-slideshow zonder software te installeren
« Reactie #5 Gepost op: 2011/03/23, 19:20:53 »
Ik heb vroeger trouwens eens zo een slideshow ergens vandaan gehaald dat om de x aantal uur de achtergrond wijzige, naarmate het lichter/donkerder werd buiten. Was ook gewoon een xml bestand met een aantal afbeeldingen. In dat xml bestand kan dan aangegeven worden welke achtergrond wanneer getoond word.

Offline edehont

  • Lid
Re: Ubuntu wallpaper-slideshow zonder software te installeren
« Reactie #6 Gepost op: 2011/03/24, 01:01:38 »
Er zijn vele manieren om wisselende achtergrondjes te krijgen. Dit is er slechts een van. Uiteraard moet een ieder de methode kiezen die het best past in zijn situatie.
Groeten,
Eric

Offline Bloom

  • Lid
Re: Ubuntu wallpaper-slideshow zonder software te installeren
« Reactie #7 Gepost op: 2011/03/24, 12:47:17 »
Ik gebruik zelf Crebs om die xml-slideshows aan te maken.
sudo add-apt-repository ppa:crebs/ppa
sudo apt-get update && sudo apt-get -y install crebs
Klik Systeem/Voorkeuren/Achtergronddiavoorstelling maken
1)klik op het groene plusje en voeg de gewenste afbeeldingen toe
  (je kan meerdere afbeeldingen in een keer selecteren door ctrl in te drukken)
2)geef de gewenste volgorde weer door met de pijltjes de foto's te verplaatsen
3)geef de gewenste weergave tijd in in display fot (dit kan je per foto instellen)
4)stel de overgangsperiode in bij transition (dit kun je ook per foto instellen)
5)geef je dia voorstelling een naam en sla op
6)je diavoorstelling zal direct toegapast worden (je kunt hem ook terug vinden waar je de achtergrond verandert)
7)nieuwe diavoorstelling maken? herhaal stap 1-6

Offline edehont

  • Lid
Re: Ubuntu wallpaper-slideshow zonder software te installeren
« Reactie #8 Gepost op: 2011/03/24, 21:59:29 »
Daar kan mijn scriptje niet tegenop...  :-[
Groeten,
Eric

Re: Ubuntu wallpaper-slideshow zonder software te installeren
« Reactie #9 Gepost op: 2011/03/25, 08:07:18 »
Ook iets voor scriptkiddy's: http://ubuntuforums.org/showthread.php?t=1534840

Heb ik als kerverse Ubuntu-gebruiker uitgeprobeerd, en werkt goed.

Ik ga dat scriptje van deze post ook eens uitproberen. (Goede tip b.t.w.)
Gubuntu 17.04 wegens verdwijnen Unity binnenkort

Re: Ubuntu wallpaper-slideshow zonder software te installeren
« Reactie #10 Gepost op: 2011/03/27, 14:20:17 »
Bedankt voor de goede tips. Heb zelf nooit de tijd genomen om uit te zoeken hoe dat allemaal zit maar bedenk me nu dat het behoorlijk handig kan zijn om op onze demonstratie computers te gebruiken om uitleg weer te geven op de desktop. Ik zal me de komende tijd dus vast niet vervelen, niet dat dat het geval was  ;) maar goed.... Thanx voor de info
ANTWOORD OM TE HELPEN, NIET OM ANTWOORD TE KUNNEN GEVEN

Offline Suns

  • Lid
Re: Ubuntu wallpaper-slideshow zonder software te installeren
« Reactie #11 Gepost op: 2011/04/15, 08:30:32 »
Ik gebruik zelf Crebs om die xml-slideshows aan te maken.
sudo add-apt-repository ppa:crebs/ppa
sudo apt-get update && sudo apt-get -y install crebs
Klik Systeem/Voorkeuren/Achtergronddiavoorstelling maken
1)klik op het groene plusje en voeg de gewenste afbeeldingen toe
  (je kan meerdere afbeeldingen in een keer selecteren door ctrl in te drukken)
2)geef de gewenste volgorde weer door met de pijltjes de foto's te verplaatsen
3)geef de gewenste weergave tijd in in display fot (dit kan je per foto instellen)
4)stel de overgangsperiode in bij transition (dit kun je ook per foto instellen)
5)geef je dia voorstelling een naam en sla op
6)je diavoorstelling zal direct toegapast worden (je kunt hem ook terug vinden waar je de achtergrond verandert)
7)nieuwe diavoorstelling maken? herhaal stap 1-6

Dat werk perfect bedankt.
Geheugen 15,6 GiB ntel® Core™ i7-3770 CPU @ 3.40GH

Linux Counter - user #51039