summaryrefslogtreecommitdiffstats
path: root/kdesktop/xautolock.h
diff options
context:
space:
mode:
Diffstat (limited to 'kdesktop/xautolock.h')
-rw-r--r--kdesktop/xautolock.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/kdesktop/xautolock.h b/kdesktop/xautolock.h
new file mode 100644
index 000000000..5684ce6ef
--- /dev/null
+++ b/kdesktop/xautolock.h
@@ -0,0 +1,77 @@
+//===========================================================================
+//
+// This file is part of the KDE project
+//
+// Copyright (c) 1999 Martin R. Jones <[email protected]>
+//
+
+#ifndef __XAUTOLOCK_H__
+#define __XAUTOLOCK_H__
+
+#include <tqwidget.h>
+
+#include <X11/Xlib.h>
+
+//===========================================================================
+//
+// Detect user inactivity.
+// Named XAutoLock after the program that it is based on.
+//
+class XAutoLock : public TQWidget
+{
+ Q_OBJECT
+public:
+ XAutoLock();
+ ~XAutoLock();
+
+ //-----------------------------------------------------------------------
+ //
+ // The time in seconds of continuous inactivity.
+ //
+ void setTimeout(int t);
+
+ void setDPMS(bool s);
+
+ //-----------------------------------------------------------------------
+ //
+ // Start watching Activity
+ //
+ void start();
+
+ //-----------------------------------------------------------------------
+ //
+ // Stop watching Activity
+ //
+ void stop();
+
+ //-----------------------------------------------------------------------
+ //
+ // Should be called only from a slot connected to the timeout() signal. Will
+ // result in the timeout() signal being emitted again with a delay (i.e. postponed).
+ //
+ void postpone();
+
+ // internal
+ void resetTrigger();
+ // internal
+ void setTrigger( time_t );
+ // internal
+ bool ignoreWindow( WId );
+
+signals:
+ void timeout();
+
+protected:
+ virtual void timerEvent(TQTimerEvent *ev);
+ virtual bool x11Event( XEvent* );
+
+protected:
+ int mTimerId;
+ int mTimeout;
+ time_t mTrigger;
+ bool mActive;
+ time_t mLastTimeout;
+ bool mDPMS;
+};
+
+#endif