Hey,
I got really annoyed and pleased but the new change of gnome-screensaver from xscreensaver in FC5. It's a great improvement with a better UI, but there's no xscreensaver screensavers listed, and you can't customize them!
I finally found a way to do it. It's a little confusing, but if you ever need help I have a full example at the bottom.
WARNING: This will update some Gnome libs to development versions. It's usually stable, but can cause some problems.
Edit: (- PRE -) update gnome-screensaver to version 2.15
For it to work the best, use gnome-screensaver 2.15:
Code:
su -
yum --enablerepo=development update gnome-screensaver libgnome
(1) Install the xscreensaver 'savers & convert them to .desktop files:
The reason your xscreensaver 'savers aren't listed is because xscreensaver uses .xml configuration files, and gnome-screensaver uses .desktop files. Two formats = not compatible = not listed
Forunately, there IS a tool provided with gnome-screensaver that easily converts them. So let's do that:
Code:
su -
yum install xscreensaver xscreensaver-extras xscreensaver-gl-extras
cd /usr/share/applications/screensavers
/usr/libexec/gnome-screensaver/migrate-xscreensaver-config.sh /usr/share/xscreensaver/config/*.xml
Now, the xscreensaver 'savers are installed. If that's all you wanted to do, then skip to step 3. If you want to customize your new 'savers with options, then please read step 2 first.
(2) Copy & edit your own screensaver theme:
The next step is to edit the .desktop file to create your own, customized theme. Let's first find the name of the screensaver you want to edit:
Code:
gnome-screensaver-preferences
Once you find one you like (keep in mind the "Preview" shows the unmodified one), take it's name down. Now, type:
Code:
su -
cd /usr/share/applications/screensavers
cp xscreensaver-[ thatname ].desktop xscreensaver-[ thatname ]-custom.desktop
gedit xscreensaver-[ thatname ]-custom.desktop &
Where [ thatname ] is the name of the screensaver you like without capitals, only lowercase.. So basically you're putting together:
- "xscreensaver-" at the beginning no matter what
- The screensaver name in lowercase
- Then ".desktop" or "-custom.desktop on the end depending on the the command.
For example, if I like Xmatrix, then I'd have to use:
Code:
cp xscreensaver-xmatrix.desktop xscreensaver-xmatrix-custom.desktop
gedit xscreensaver-xmatrix-custom.desktop
So, you see a file with a bunch of sensless gibberish popup, don't worry. It's normal... See the line that looks like this:Change it to:
Code:
Name=[ thatname ]-custom
Next, you can change the "Comment=blablabla" line in any way you want. Personally, I'd just leave it and add on a "Same as original, but customized." to the end. Just be sure not to start a newline, make sure your added part stays on one line.
(That wasn't clear... The text can move to the next line, as in because there's no space left in your window - but don't hit <enter> ever.)
This is the more complicated part. See the line that says:
Code:
Exec=namehere -root
Remembering that name, go back to your terminal and type:
Code:
cd /usr/libexec/xscreensaver
./name --help
Where name is that name you saw on the Exec= line. It will list you all the options. Choose the ones you want, and their values, then run it again to test:
Code:
./name -arg value -arg 1 -arg value
When you have it the way you like it, then go back to your .desktop file that's being edited and change your Exec= line to look like this:
Code:
Exec=name -root -your options -go here
Save & quit the editor.
(3) Choose your custom screensaver
To finalize it, start your screensaver preferences. Choose your custom 'saver and enjoy it!
(Example) I want to add and edit Xmatrix.
The bolded part if the things that I had to change, add or pay close attention to while doing the process.
Step 1:
Code:
yum install xscreensaver xscreensaver-extras xscreensaver-gl-extras
cd /usr/share/applications/screensavers
/usr/libexec/gnome-screensaver/migrate-xscreensaver-config.sh /usr/share/xscreensaver/config/*.xml
Step 2:
Code:
su -
cd /usr/share/applications/screensavers
cp xscreensaver-xmatrix.desktop xscreensaver-xmatrix-custom.desktop
I now change the two lines to look like:
Code:
Name=Xmatrix-custom
and:
Code:
Comment=Draws dropping characters similar to what is seen on the computer monitors in "The Matrix". See also "glmatrix" for a 3D rendering of the similar effect that appeared in the title sequence of the movie. Written by Jamie Zawinski. Same as original, but customized.
I continue typing:
Code:
cd /usr/libexec/xscreensaver
./xmatrix --help
I liked it like this:
Code:
./xmatrix -phone 555-341-2687 -density 25 -delay 25000
So I'd change my Exec line to:
Code:
Exec=xmatrix -root -phone 555-341-2687 -density 25 -delay 25000
Notice how I don't transfer the ./ before xmatrix, and how I added -root.
Step 3: I simply select "Xmatrix-custom" in screensaver preferences.
Firewing1