Shell Script Xml file wallpaper


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Shell Script Xml file wallpaper
# 1  
Old 01-22-2012
Shell Script Xml file wallpaper

Hello,

I have a custom background in my Fedora 14 OS. which changes every 10 mins, I was able to edit an Xml file for this purpose. The structure of the Xml file looks as follows :

Code:
<!-- This animation will start at time shown above. -->
  <static>
    <duration>600.0</duration>
    <file>Path1</file>
  </static>
  <transition>
    <duration>5.0</duration>
    <from>Path1</from>
    <to>Path2</to>
  </transition>

I was wondering if it is possible to create a script that reads all picture file names from a directory (ls) and opens the XMl file and then inserts the file Paths as needed. Some text processing software (maybe awk) ?

Could someone give some hints ?
# 2  
Old 01-22-2012
It is possible. Where do you want them to be inserted? in the transition tag?

--ahamed
# 3  
Old 01-22-2012
In both tags

Hello,

Yup in both the transition tags and the static tags. like from Picture 1 to Picture 2 then to 3 and back to 1.

Ajay
# 4  
Old 01-22-2012
A while ago I wrote a Perl-script to do this. It also puts all pictures in a random order.

Perhaps one could add a routine to update
Code:
~/.gconf/desktop/gnome/background/%gconf

to have it point to the created xml-file as well.

Change the values in the line
Code:
my ($transdur,$statdur) = ('15.0','20.0');

to make it show the background for a longer period and/or make the transition faster.

First cd to your directory containing the wallpapers, then run the script.

Code:
#!/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 ($transdur,$statdur) = ('5.0','1795.0');
my ($transdur,$statdur) = ('15.0','20.0');

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>$statdur</duration>
    <file>$pictures[0]</file>
  </static>\n";

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

# The last picture

push @XML, "  <transition>
    <duration>$transdur</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);

Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need get data from XML file through shell script..

hi all, here is the sample log file and these errors are repeated in log file.. i need all the repeated time stamp ,severity and message tags needs to print in output file.. through shell script <log-message> <timestamp>2019-03-13T04:52:49.648-05:00</timestamp> <severity>ERROR</severity>... (17 Replies)
Discussion started by: ravi
17 Replies

2. UNIX for Dummies Questions & Answers

Reading XML file and print the values in the text file using Linux shell script

hi guys, i want help... Reding XML file and print the values into the text file using linux shell script file as per below xml file <sequence> <Filename>aldorzum.doc</Filename> <DivisionCode>US</DivisionCode> <ContentType>Template</ContentType> <ProductCode>VIMZIM</ProductCode> </sequence>... (1 Reply)
Discussion started by: sravanreddy
1 Replies

3. Red Hat

How to read an xml file through shell script?

Hey , can we read an xml file and make changes in it through shell script. Thanks (4 Replies)
Discussion started by: ramsavi
4 Replies

4. Shell Programming and Scripting

Shell Script to read XML file

Hi unix Gurus, I am really new to Unix Scripting. Please help me to create a shell script which reads the xml file and from that i need to fetch a particular information. For example <SOURCE BUSINESSNAME ="" DATABASETYPE ="Teradata" DBDNAME ="DWPROD3" DESCRIPTION ="" NAME... (5 Replies)
Discussion started by: SmilePlease
5 Replies

5. Shell Programming and Scripting

Parse XML file in shell script

Hi Everybody, I have an XML file containing some data and i want to extract it, but the specific issue in my file is that the data is repeated some times like the following example : <section1> <subsection1> X=... Y=... Z=... <\subsection1> <subsection2> X=... Y=... Z=...... (2 Replies)
Discussion started by: yassine
2 Replies

6. Shell Programming and Scripting

How to remove xml namespace from xml file using shell script?

I have an xml file: <AutoData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Table1> <Data1 10 </Data1> <Data2 20 </Data2> <Data3 40 </Data3> <Table1> </AutoData> and I have to remove the portion xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" only. I tried using sed... (10 Replies)
Discussion started by: Gary1978
10 Replies

7. Shell Programming and Scripting

i want to nvoke a xml file from a shell script

hi all , i have a shell script that performs all the steps required for deployment of a tar file .. there is a tool that helps me in finding out what files should go in that tar file... this tool is fully in xml as it invokes ant ( a build tool in java ).... i want to invoke that xml file from a... (1 Reply)
Discussion started by: sais
1 Replies

8. UNIX for Dummies Questions & Answers

need to invoke a shell script from xml file.

hi all, forgive me if this question is not relevant to this section. i have a shell file that will automatically deploy the files that are necessary and will compile them. i need to automate this management process through cruise control, for this i need to know whether it is possible for me to... (2 Replies)
Discussion started by: sais
2 Replies

9. Shell Programming and Scripting

Shell script to split XML file

Hi, I'm experiencing difficulty in loading an XML file to an Oracle destination table.I keep running into a memory problem due to the large size of the file. I want to split the XML file into several smaller files based on the keyword(s)/tags : '' and '' and would like to use a Unix shell... (2 Replies)
Discussion started by: bayflash27
2 Replies
Login or Register to Ask a Question