diff options
author | lofi <lofi@FreeBSD.org> | 2006-07-06 07:22:17 +0800 |
---|---|---|
committer | lofi <lofi@FreeBSD.org> | 2006-07-06 07:22:17 +0800 |
commit | a7a8a298d104b186d4c831ce25da2abc1e1ed23a (patch) | |
tree | 02990b98fdecf4f704815133abdfc631a19aa88a /x11/kde4-workspace | |
parent | 58c8d113c42aac8d0e1f667145748413d74b1c67 (diff) | |
download | freebsd-ports-gnome-a7a8a298d104b186d4c831ce25da2abc1e1ed23a.tar.gz freebsd-ports-gnome-a7a8a298d104b186d4c831ce25da2abc1e1ed23a.tar.zst freebsd-ports-gnome-a7a8a298d104b186d4c831ce25da2abc1e1ed23a.zip |
Fix KDE Bug 128610 (kscreensaver does not launch screensaver after x minutes).
Diffstat (limited to 'x11/kde4-workspace')
-rw-r--r-- | x11/kde4-workspace/Makefile | 2 | ||||
-rw-r--r-- | x11/kde4-workspace/files/patch-post-3.5.3-screensavers | 97 |
2 files changed, 98 insertions, 1 deletions
diff --git a/x11/kde4-workspace/Makefile b/x11/kde4-workspace/Makefile index 5b2275ad48eb..365e19c65795 100644 --- a/x11/kde4-workspace/Makefile +++ b/x11/kde4-workspace/Makefile @@ -8,7 +8,7 @@ PORTNAME= kdebase PORTVERSION= ${KDE_VERSION} -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= x11 kde MASTER_SITES= ${MASTER_SITE_KDE} MASTER_SITE_SUBDIR= stable/${PORTVERSION:S/.0//}/src diff --git a/x11/kde4-workspace/files/patch-post-3.5.3-screensavers b/x11/kde4-workspace/files/patch-post-3.5.3-screensavers new file mode 100644 index 000000000000..1182c861986c --- /dev/null +++ b/x11/kde4-workspace/files/patch-post-3.5.3-screensavers @@ -0,0 +1,97 @@ +--- kdesktop/xautolock.cc 2006/05/18 13:18:28 542149 ++++ kdesktop/xautolock.cc 2006/06/04 12:42:03 548008 +@@ -192,6 +192,7 @@ + + bool activate = false; + ++ kdDebug() << now << " " << mTrigger << endl; + if (now >= mTrigger) + { + resetTrigger(); +@@ -202,6 +203,8 @@ + BOOL on; + CARD16 state; + DPMSInfo( qt_xdisplay(), &state, &on ); ++ ++ kdDebug() << "DPMSInfo " << state << " " << on << endl; + // If DPMS is active, it makes XScreenSaverQueryInfo() report idle time + // that is always smaller than DPMS timeout (X bug I guess). So if DPMS + // saving is active, simply always activate our saving too, otherwise +@@ -217,9 +220,11 @@ + #ifdef HAVE_XSCREENSAVER + static XScreenSaverInfo* mitInfo = 0; + if (!mitInfo) mitInfo = XScreenSaverAllocInfo (); +- XScreenSaverQueryInfo (qt_xdisplay(), DefaultRootWindow (qt_xdisplay()), mitInfo); +- if (mitInfo->state == ScreenSaverDisabled) +- activate = false; ++ if (XScreenSaverQueryInfo (qt_xdisplay(), DefaultRootWindow (qt_xdisplay()), mitInfo)) { ++ kdDebug() << "XScreenSaverQueryInfo " << mitInfo->state << " " << ScreenSaverDisabled << endl; ++ if (mitInfo->state == ScreenSaverDisabled) ++ activate = false; ++ } + #endif + + if(mActive && activate) +--- kdesktop/lockeng.cc 2006/02/06 13:25:11 506297 ++++ kdesktop/lockeng.cc 2006/06/04 12:42:03 548008 +@@ -42,9 +42,6 @@ + XGetScreenSaver(qt_xdisplay(), &mXTimeout, &mXInterval, + &mXBlanking, &mXExposures); + +- // We'll handle blanking +- XSetScreenSaver(qt_xdisplay(), 0, mXInterval, mXBlanking, mXExposures); +- + mState = Waiting; + mXAutoLock = 0; + mEnabled = false; +@@ -158,6 +155,9 @@ + mXAutoLock->setDPMS(mDPMS); + //mXAutoLock->changeCornerLockStatus( mLockCornerTopLeft, mLockCornerTopRight, mLockCornerBottomLeft, mLockCornerBottomRight); + ++ // We'll handle blanking ++ XSetScreenSaver(qt_xdisplay(), mTimeout + 10, mXInterval, mXBlanking, mXExposures); ++ + mXAutoLock->start(); + + kdDebug(1204) << "Saver Engine started, timeout: " << mTimeout << endl; +@@ -170,6 +170,7 @@ + mXAutoLock = 0; + } + ++ XSetScreenSaver(qt_xdisplay(), 0, mXInterval, mXBlanking, mXExposures); + kdDebug(1204) << "Saver Engine disabled" << endl; + } + +@@ -291,7 +292,6 @@ + kdDebug(1204) << "SaverEngine: stopping lock" << endl; + emitDCOPSignal("KDE_stop_screensaver()", QByteArray()); + +- + mLockProcess.kill(); + + if (mXAutoLock) +@@ -300,6 +300,7 @@ + } + processLockTransactions(); + mState = Waiting; ++ XSetScreenSaver(qt_xdisplay(), mTimeout + 10, mXInterval, mXBlanking, mXExposures); + } + + void SaverEngine::lockProcessExited() +@@ -314,6 +315,7 @@ + } + processLockTransactions(); + mState = Waiting; ++ XSetScreenSaver(qt_xdisplay(), mTimeout + 10, mXInterval, mXBlanking, mXExposures); + } + + //--------------------------------------------------------------------------- +@@ -322,6 +324,8 @@ + // + void SaverEngine::idleTimeout() + { ++ // disable X screensaver ++ XSetScreenSaver(qt_xdisplay(), 0, mXInterval, mXBlanking, mXExposures); + startLockProcess( DefaultLock ); + } + |