Detect the power status of a display monitor dynamically

1k views Asked by At

Is there a way that we can find the status of a display monitor in a linux environment? pointers on any standard C libraries / unix calls would be helpful. I got many interesting articles on how this can be achieved on win32, but none of them would point a solution for a linux environment.

i tried using xrandr, but it fails to detect the status dynamically

any pointers??

1

There are 1 answers

0
isotherm On

Here is a simple program using Linux Real Mode Interface:

#include "lrmi.h"

int main(void)
{
   struct LRMI_regs r = {0};
   r.eax = 0x4F10;
   r.ebx = 0x02;

   ioperm( 0, 1024, 1 );
   iopl( 3 );

   if( !LRMI_init() || !LRMI_int( 0x10, &r ) )
   {
      return -1;
   }
   return (r.ebx >> 8) & 0xFF;
}

Some possible return values: 0 (on), 1 (standby), 2 (suspend), 4 (off), 8 (reduced on).