ठीक है, xset source code चेक किया गया। प्रासंगिक कोड भागों
#include <X11/extensions/dpms.h>
...
Display* dpy = XOpenDisplay(NULL);
...
int dummy;
CARD16 standby, suspend, off;
BOOL onoff;
CARD16 state;
printf("DPMS (Energy Star):\n");
if (DPMSQueryExtension(dpy, &dummy, &dummy))
{
if (DPMSCapable(dpy))
{
DPMSGetTimeouts(dpy, &standby, &suspend, &off);
printf (" Standby: %d Suspend: %d Off: %d\n",
standby, suspend, off);
DPMSInfo(dpy, &state, &onoff);
if (onoff)
{
printf(" DPMS is Enabled\n");
switch (state)
{
case DPMSModeOn:
printf(" Monitor is On\n");
break;
case DPMSModeStandby:
printf(" Monitor is in Standby\n");
break;
case DPMSModeSuspend:
printf(" Monitor is in Suspend\n");
break;
case DPMSModeOff:
printf(" Monitor is Off\n");
break;
default:
printf(" Unrecognized response from server\n");
}
}
}
}
हैं किसी और मामले किसी को भी इस ;-)
स्रोत
2010-10-02 05:05:30
धन्यवाद, यह चाल है। सबसे सुरुचिपूर्ण समाधान नहीं है, लेकिन "मॉनिटर चालू है ऑफ" काम के लिए आउटपुट की जांच करना। –
यह ठीक है, लेकिन यह एक एक्स सर्वर पर उपलब्ध होने पर निर्भर करता है। यदि आपके पास अभी एक कंसोल है (जो इन दिनों दुर्लभ है, स्वीकार्य रूप से), यह काम नहीं करेगा। – Gabe
मेरे मामले में यह ठीक है। मैं एक पूर्णस्क्रीन जीटीके-वेबकिट ब्राउज़र चला रहा हूं जो एक चाकू की तरह स्मृति को रिसाव करता है, इसलिए थोड़ी देर के लिए स्क्रीन बंद कर दी गई है, इसलिए मैं सुरक्षित रूप से ब्राउज़र को मार सकता हूं और फिर से शुरू कर सकता हूं ;-) बेशक यह अच्छा होगा कि उन रिसाव न हो पहली जगह में ... –