diff -ruN kscreensaver-4.5.95.orig/kscreensaver/krandom_screensaver/random.cpp kscreensaver-4.5.95/kscreensaver/krandom_screensaver/random.cpp --- kscreensaver-4.5.95.orig/kscreensaver/krandom_screensaver/random.cpp 2010-10-27 21:54:59.000000000 +0200 +++ kscreensaver-4.5.95/kscreensaver/krandom_screensaver/random.cpp 2011-01-09 19:52:54.000000000 +0100 @@ -110,6 +110,7 @@ const bool opengl = configGroup.readEntry("OpenGL", false); const bool manipulatescreen = configGroup.readEntry("ManipulateScreen", false); // TODO replace this with TryExec=fortune in the desktop files + const bool notsafeforwork = false; const bool fortune = !KStandardDirs::findExe("fortune").isEmpty(); foreach( const KService::Ptr& service, lst ) { //QString file = KStandardDirs::locate("services", service->entryPath()); @@ -126,6 +127,9 @@ } else if (type == QLatin1String("Fortune")) { if (!fortune) goto fail; + } else if (type == QLatin1String("NotSafeForWork")) { + if (!notsafeforwork) + goto fail; } } availableSavers.append(service);