From 8e1676da24562cbc199db84381de9f64d14d5d95 Mon Sep 17 00:00:00 2001 From: frytaz Date: Wed, 19 Feb 2014 11:51:27 +0100 Subject: [PATCH 1/4] osx support 10.9+ --- turnoff.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/turnoff.py b/turnoff.py index 2e1b0ce..59c43ee 100644 --- a/turnoff.py +++ b/turnoff.py @@ -7,4 +7,7 @@ import win32gui import win32con SC_MONITORPOWER = 0xF170 - win32gui.SendMessage(win32con.HWND_BROADCAST, win32con.WM_SYSCOMMAND, SC_MONITORPOWER, 2) \ No newline at end of file + win32gui.SendMessage(win32con.HWND_BROADCAST, win32con.WM_SYSCOMMAND, SC_MONITORPOWER, 2) +elif sys.platform.startswith('darwin'): + import os + os.system("pmset displaysleepnow") From ae5a6f74a15361d120de1867caee22420695313f Mon Sep 17 00:00:00 2001 From: frytaz Date: Wed, 19 Feb 2014 12:56:18 +0100 Subject: [PATCH 2/4] fix for older systems pmset displaysleepnow is available only on 10.9+ --- turnoff.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/turnoff.py b/turnoff.py index 59c43ee..df62c27 100644 --- a/turnoff.py +++ b/turnoff.py @@ -9,5 +9,5 @@ SC_MONITORPOWER = 0xF170 win32gui.SendMessage(win32con.HWND_BROADCAST, win32con.WM_SYSCOMMAND, SC_MONITORPOWER, 2) elif sys.platform.startswith('darwin'): - import os - os.system("pmset displaysleepnow") + import subprocess + subprocess.call('echo \'tell application "Finder" to sleep\' | osascript', shell=True) From 0486ff48e7f9a706aca2983eff2222c5a67d9586 Mon Sep 17 00:00:00 2001 From: frytaz Date: Wed, 19 Feb 2014 13:27:25 +0100 Subject: [PATCH 3/4] OS X binary to turn off screen To compile: ``` gcc -v -framework CoreFoundation -framework IOKIT -o turnoff_darwin turnoff_darwin.c ``` --- platform-specific/turnoff_darwin | Bin 0 -> 9040 bytes platform-specific/turnoff_darwin.c | 15 +++++++++++++++ 2 files changed, 15 insertions(+) create mode 100755 platform-specific/turnoff_darwin create mode 100644 platform-specific/turnoff_darwin.c diff --git a/platform-specific/turnoff_darwin b/platform-specific/turnoff_darwin new file mode 100755 index 0000000000000000000000000000000000000000..80f163ede92ca6758c18f118716e4efb7c68e433 GIT binary patch literal 9040 zcmeHM&u<$=6dpGXZAnVp7C|bgZ~-BK_$46_Ck}wPfD#EL4jiJWYWTkOY`k{T_KL(lY4**V zH}9L-Z)UCWyzkfly17e;SeFnBJA@GXQReRw;%$*YO^AaiITR_!N1n^Pl$j{7wOwNE z=C&4b1~Gt?Q<>?h_AY*WyuD3m8*>xgD43EjQhMs5rwyo1yleO1Wzhbn?m~NKt2>Q_ zuqmbM)r#(BQzzb$z9t@dp#*l*5@NT;Yt4^%vaHN`<)Bk1-Z71r)Bv=}`=)G}U&-~H ziZ!P@bmA2?-qYGoJ1lM3a7bCRE>x@;S+Qnq-)>)z_cR{YoI?9{BBd(JS;wfVX0Oiq zt!TV{4MH1x?UurQas>-0WqM?4B-9Q2p>3Z8`z5qbh#Rc6l$I&odbMbqa^7=pi5I|d zzlG<;^$gom&e@@Dw*@bbc+M}tqaBVX9`|t|Qkur?=9kcT0dKU!c>FF{0+F&b8{R0L z{0(Wmgbtt`#tU!)-TLlN=1-l-r1QZy3xKwDfK3_KV4Rch_gnG3;CJOH>j``-P`jZQ zpaZ#*5aMMRE70u6{mOU#>97!cpc?@A47vwp93?F5%M#`x>}S1<_`5qBVdH0kQxd%> zshaDg%t|peQ#WT|QyxI!Joa2V^TGSw$A9_sn-||rpSqcT7;T^q4xpku7T9cq4C3_| z$KRc>aGWvvt|shVp~c7 zBcmtvf^uB6xT%qjK7i#o(3H(BYbMW4Y&h; z%~wf|Cc$H+=!c0%pvYH0)|2c1sJ0WZDUYMjPy1swL=rI&F%U5jF%U5jG4Q`<;7o4u z_uS<_pX+^A~Nnr z!)Tqw@AWO%uTO~B#ds{;Oaoh3IYSyTko@g8x zW@^n(waX&1&$#Va_^lNOHk<^4^Myk36;<*k6yRMY8p0X$nScR>$*v}i`FT?%+f#Y)b?KNP)Wb0c zTQQsYzGN#4w;6{tV_RHLDE$VP=;8$WVt%I5?|7eYH?NL3Ag`35+0Bpi$_S<^Pp2mCp3zXvHivR!s literal 0 HcmV?d00001 diff --git a/platform-specific/turnoff_darwin.c b/platform-specific/turnoff_darwin.c new file mode 100644 index 0000000..b7bf93e --- /dev/null +++ b/platform-specific/turnoff_darwin.c @@ -0,0 +1,15 @@ +#include +#include + +/* Returns 0 on success and 1 on failure. */ +int main(void) +{ + io_registry_entry_t reg = IORegistryEntryFromPath(kIOMasterPortDefault, "IOService:/IOResources/IODisplayWrangler"); + if (reg) { + IORegistryEntrySetCFProperty(reg, CFSTR("IORequestIdle"), kCFBooleanTrue); + IOObjectRelease(reg); + } else { + return 1; + } + return 0; +} From c17f98bc4112433615c9e0b10bf73e5512eaceca Mon Sep 17 00:00:00 2001 From: frytaz Date: Mon, 24 Feb 2014 12:16:28 +0100 Subject: [PATCH 4/4] Formatting --- platform-specific/turnoff_darwin.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/platform-specific/turnoff_darwin.c b/platform-specific/turnoff_darwin.c index b7bf93e..1c242a8 100644 --- a/platform-specific/turnoff_darwin.c +++ b/platform-specific/turnoff_darwin.c @@ -2,14 +2,14 @@ #include /* Returns 0 on success and 1 on failure. */ -int main(void) -{ +int main(void) { io_registry_entry_t reg = IORegistryEntryFromPath(kIOMasterPortDefault, "IOService:/IOResources/IODisplayWrangler"); if (reg) { - IORegistryEntrySetCFProperty(reg, CFSTR("IORequestIdle"), kCFBooleanTrue); - IOObjectRelease(reg); - } else { - return 1; - } - return 0; + IORegistryEntrySetCFProperty(reg, CFSTR("IORequestIdle"), kCFBooleanTrue); + IOObjectRelease(reg); + } else { + return 1; + } + + return 0; }