HOWTO: Get RSS-glx(Really Slick Screensavers) to work on KDE4 and also add all xscreensavers
From Sabayon Wiki
Guide to get RSS screensavers working and configurable on ether 32bit or 64bit Sabayon Linux:
Unfortunately the kdeartwork package doesn't detect that we've installed xscreensaver so we have to edit a couple of files to get around that if later on it does work then congrats!!
what we are going to do:
Rebuild kdeartwork-kscreensaver so it builds kxsconfig & kxsrun needed for xscreensaver and RSS install rss-glx run my python script to fix the .desktop files
packages you need to emerge:
we may as well emerge everything now and have it over and done with
emerge --fetchonly =kdeartwork-kscreensaver-4.3.1 rss-glx xscreensaver
Up to you if you want to install all these packages as we will need to do that at least to rss-glx and xscreensaver for the script later on
we need to copy our kdeartwork file to our home dir and extract for editing
cp /usr/portage/distfiles/kdeartwork-4.3.1.tar.bz2 ~/ tar -xjf kdeartwork-4.3.1.tar.bz2 kdeartwork-4.3.1
and then edit three files:
File: kdeartwork-4.3.1/kscreensaver/kxsconfig & kxsrun
bool KXSConfigDialog::create()
{
QWidget *main = new QWidget(this);
setMainWidget(main);
QVBoxLayout *topLayout = new QVBoxLayout(main);
topLayout->setSpacing(spacingHint());
QHBoxLayout *layout = new QHBoxLayout();
topLayout->addLayout(layout);
layout->setSpacing(spacingHint());
KVBox *controlLayout = new KVBox(main);
controlLayout->setSpacing(spacingHint());
layout->addWidget(controlLayout);
((QBoxLayout*)controlLayout->layout())->addStrut(120);
KConfig config(mConfigFile);
QString xmlFile = "/doesntexist";
#ifdef XSCREENSAVER_CONFIG_DIR
xmlFile = "XSCREENSAVER_CONFIG_DIR"; -------!! CHANGE THIS FOR BOTH KXSCONFIG AND KXSRUN
#endif
This fixes kxsconfig and tells it where to find our configuration files /usr/share/xscreensaver/config change the file location of the last xmlpath to the one here and make sure not to put an ending slash
Remove the check for xscreensavers and remove the if statement around kxsconfig and xsavers:
File: kdeartwork-4.3.1/kscreensaver/CMakeLists.txt
find_package(KDE4Workspace)
if(KDE4WORKSPACE_FOUND)
macro_optional_find_package(OpenGL)
macro_log_feature(OPENGL_FOUND "OpenGL" "API for developing portable, interactive 2D and 3D graphics applications" "http://mesa3d.sourceforge.net" FALSE "" "Provides 3D screensavers.")
add_subdirectory( kdesavers )
add_subdirectory( kpartsaver )
add_subdirectory(kxsconfig)
add_subdirectory(xsavers)
elseif(KDE4WORKSPACE_FOUND)
message(STATUS "kscreensaver can't be compiled. Please install kdebase/workspace before to compile it (need kscreensaver.h)")
endif(KDE4WORKSPACE_FOUND)
Now to compress and replace the original kdeartwork with our edited one
mv /usr/portage/distfiles/kdeartwork-4.3.1.tar.bz2 kdeartwork-4.3.1.bak tar -cjf ~/kdeartwork-4.3.1.tar.bz2 ~/kdeartwork-4.3.1 cp ~/kdeartwork-4.3.1.tar.bz2 /usr/portage/distfiles/
We have to trick portage and create a new digital signature for our file
rm /usr/portage/kde-base/kdeartwork-kscreensaver/Manifest cd /usr/portage/kde-base/kdeartwork-kscreensaver/ ebuild kdeartwork-kscreensaver-4.3.1.ebuild digest
this may emerge some packages, let it as long as it is not kdeartwork-yourversion
and if it is you've done something wrong
now emerge kdeartwork like normal
emerge kdeartwork-kscreensaver
So now we should be ready to install RSS-GLX and/or xscreensaver
emerge rss-glx xscreensaver
and for the finishing touch save as foo.py run this script as root # python foo.py
Unknown extension tag "syntaxhighlight"
Now open up your screensavers and under opengl you have them all!