Improve disabling of screensaver on macOS

Setting the idleTime on currentHost works well, until the hardware UUID changes
and thus the host ID for the setting. With kvm that happens quite frequently,
with vmware less but also occasionally (deep clone for example). By disabling
the screensaver on start-up we can cover all cases quite easily.

Change-Id: Ibdcf404430656f9caa47386ca3c732366ddfc8c7
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
This commit is contained in:
Simon Hausmann
2016-12-08 08:18:50 +01:00
parent 0ce4f02c5f
commit 16d05b088e
4 changed files with 96 additions and 4 deletions

View File

@@ -1,3 +1,26 @@
#!/bin/sh
defaults -currentHost write com.apple.screensaver idleTime 0
mkdir -p $HOME/Library/LaunchAgents
cat >$HOME/Library/LaunchAgents/no-screensaver.plist <<EOT
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple/DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.qt.io.screensaver_disable</string>
<key>ProgramArguments</key>
<array>
<string>defaults</string>
<string>-currentHost</string>
<string>write</string>
<string>com.apple.screensaver</string>
<string>idleTime</string>
<string>0</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<false/>
</dict>
</plist>
EOT

View File

@@ -1,3 +1,26 @@
#!/bin/sh
defaults -currentHost write com.apple.screensaver idleTime 0
mkdir -p $HOME/Library/LaunchAgents
cat >$HOME/Library/LaunchAgents/no-screensaver.plist <<EOT
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple/DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.qt.io.screensaver_disable</string>
<key>ProgramArguments</key>
<array>
<string>defaults</string>
<string>-currentHost</string>
<string>write</string>
<string>com.apple.screensaver</string>
<string>idleTime</string>
<string>0</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<false/>
</dict>
</plist>
EOT

View File

@@ -1,3 +1,26 @@
#!/bin/sh
defaults -currentHost write com.apple.screensaver idleTime 0
mkdir -p $HOME/Library/LaunchAgents
cat >$HOME/Library/LaunchAgents/no-screensaver.plist <<EOT
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple/DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.qt.io.screensaver_disable</string>
<key>ProgramArguments</key>
<array>
<string>defaults</string>
<string>-currentHost</string>
<string>write</string>
<string>com.apple.screensaver</string>
<string>idleTime</string>
<string>0</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<false/>
</dict>
</plist>
EOT

View File

@@ -1,3 +1,26 @@
#!/bin/sh
defaults -currentHost write com.apple.screensaver idleTime 0
mkdir -p $HOME/Library/LaunchAgents
cat >$HOME/Library/LaunchAgents/no-screensaver.plist <<EOT
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple/DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.qt.io.screensaver_disable</string>
<key>ProgramArguments</key>
<array>
<string>defaults</string>
<string>-currentHost</string>
<string>write</string>
<string>com.apple.screensaver</string>
<string>idleTime</string>
<string>0</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<false/>
</dict>
</plist>
EOT