From 8c3e03d3c6d3a924d7ee9dd4770dd8fdd7231705 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Thu, 18 Jan 2007 12:49:52 +0000 Subject: [PATCH] An old cli tool I wrote, controlls DPMS monitor caps and reports status. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19855 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/bin/Jamfile | 1 + src/bin/dpms.cpp | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 src/bin/dpms.cpp diff --git a/src/bin/Jamfile b/src/bin/Jamfile index 3bc9232840..bfb3d34b38 100644 --- a/src/bin/Jamfile +++ b/src/bin/Jamfile @@ -76,6 +76,7 @@ StdBinCommands beep.cpp clipboard.cpp df.cpp + dpms.cpp draggers.cpp dstcheck.cpp # factor.cpp diff --git a/src/bin/dpms.cpp b/src/bin/dpms.cpp new file mode 100644 index 0000000000..b73d24d40d --- /dev/null +++ b/src/bin/dpms.cpp @@ -0,0 +1,49 @@ +/* + * dpms CLI tool + * (c) François Revol, revol@free.fr + */ + +#include +#include +#include +#include + +int usage(char *prog) +{ + printf("%s on|standby|suspend|off|caps|state\n", prog); + printf("on|standby|suspend|off\tsets corresponding state\n"); + printf("caps\tprints capabilities\n"); + printf("state\tprints the current state\n"); + return 1; +} + +int main(int argc, char **argv) +{ + BApplication app("application/x-vnd.mmu_man.dpms"); + BScreen bs; + if (argc < 2) + return usage(argv[0]); + if (!strcmp(argv[1], "on")) + bs.SetDPMS(B_DPMS_ON); + else if (!strcmp(argv[1], "standby")) + bs.SetDPMS(B_DPMS_STAND_BY); + else if (!strcmp(argv[1], "suspend")) + bs.SetDPMS(B_DPMS_SUSPEND); + else if (!strcmp(argv[1], "off")) + bs.SetDPMS(B_DPMS_OFF); + else if (!strcmp(argv[1], "caps")) { + uint32 caps = bs.DPMSCapabilites(); // nice typo... + printf("dpms capabilities: %s%s%s%s\n", (caps & B_DPMS_ON)?("on"):(""), + (caps & B_DPMS_STAND_BY)?(", standby"):(""), + (caps & B_DPMS_SUSPEND)?(", suspend"):(""), + (caps & B_DPMS_OFF)?(", off"):("")); + } else if (!strcmp(argv[1], "state")) { + uint32 st = bs.DPMSState(); + printf("%s\n", (st & B_DPMS_ON)?("on"): + ((st & B_DPMS_STAND_BY)?("standby"): + ((st & B_DPMS_SUSPEND)?("suspend"): + ((st & B_DPMS_OFF)?("off"):("?"))))); + } else + return usage(argv[0]); + return 0; +}