Index: minitube/src/MainWindow.cpp =================================================================== --- minitube.orig/src/MainWindow.cpp 2012-05-24 15:29:19.884367197 +0300 +++ minitube/src/MainWindow.cpp 2012-05-24 18:38:12.816564175 +0300 @@ -30,6 +30,7 @@ #else #include "searchlineedit.h" #endif +#include static MainWindow *singleton = 0; @@ -839,11 +840,13 @@ pauseAct->setIcon(QtIconLoader::icon("media-playback-pause")); pauseAct->setText(tr("&Pause")); pauseAct->setStatusTip(tr("Pause playback") + " (" + pauseAct->shortcut().toString(QKeySequence::NativeText) + ")"); + inhibitScreensaver(new QString("suspend")); // stopAct->setEnabled(true); break; case Phonon::StoppedState: pauseAct->setEnabled(false); + inhibitScreensaver(new QString("resume")); // stopAct->setEnabled(false); break; @@ -852,6 +855,7 @@ pauseAct->setIcon(QtIconLoader::icon("media-playback-start")); pauseAct->setText(tr("&Play")); pauseAct->setStatusTip(tr("Resume playback") + " (" + pauseAct->shortcut().toString(QKeySequence::NativeText) + ")"); + inhibitScreensaver(new QString("resume")); // stopAct->setEnabled(true); break; @@ -868,6 +872,14 @@ } } +void MainWindow::inhibitScreensaver(QString *action) { + QStringList arguments; + QString s = QString::number(winId()); + arguments << *action << s; + QProcess *screensaver = new QProcess(); + screensaver->start("xdg-screensaver", arguments); +} + void MainWindow::stop() { mediaView->stop(); showSearch(); Index: minitube/src/MainWindow.h =================================================================== --- minitube.orig/src/MainWindow.h 2012-05-24 14:30:34.092638000 +0300 +++ minitube/src/MainWindow.h 2012-05-24 17:58:10.088649697 +0300 @@ -59,6 +59,7 @@ void setDefinitionMode(QString definitionName); void toggleDefinitionMode(); void clearRecentKeywords(); + void inhibitScreensaver(QString *action); // volume shortcuts void volumeUp();