Annotation of /mcore-src/trunk/mcore-tools/src/modules/xscreensaver/screensaver.control.class.in
Parent Directory | Revision Log
Revision 2851 -
(hide annotations)
(download)
Thu Jul 25 13:23:40 2019 UTC (4 years, 9 months ago) by niro
File size: 2087 byte(s)
Thu Jul 25 13:23:40 2019 UTC (4 years, 9 months ago) by niro
File size: 2087 byte(s)
-provide .screensaver.dpms() and .screensaver.timeout() classes to enable/disable xorg dpms feature and to set screen blanking timeouts of the xserver
1 | niro | 2757 | # $Id$ |
2 | |||
3 | push_firstboot 80_screensaver | ||
4 | niro | 2851 | push_config 80_screensaver_dpms 80_screensaver_timeout |
5 | niro | 2757 | |
6 | push_firstboot_80_screensaver() | ||
7 | { | ||
8 | local serial="$1" | ||
9 | |||
10 | # create an empty screensaver entry | ||
11 | decho "set empty screensaver" | ||
12 | import_resource cfg_screensaver "${serial}" "screensaver" "" | ||
13 | } | ||
14 | niro | 2851 | |
15 | help_screensaver_dpms() | ||
16 | { | ||
17 | local serial="${CLASS_ARGV[0]}" | ||
18 | control_client "${serial}" help screensaver.dpms | ||
19 | } | ||
20 | |||
21 | control_screensaver_dpms() | ||
22 | { | ||
23 | local serial="${CLASS_ARGV[0]}" | ||
24 | push_config_80_screensaver_dpms "${serial}" | ||
25 | } | ||
26 | |||
27 | set_screensaver_dpms() | ||
28 | { | ||
29 | local serial="${CLASS_ARGV[0]}" | ||
30 | local action="${CLASS_ARGV[1]}" | ||
31 | local value | ||
32 | |||
33 | case "${action}" in | ||
34 | enable) value=1 ;; | ||
35 | disable) value=0 ;; | ||
36 | *) | ||
37 | eecho "Unknown action '${action}'" | ||
38 | return 1 | ||
39 | ;; | ||
40 | esac | ||
41 | |||
42 | import_resource cfg_screensaver "${serial}" dpms "${value}" | ||
43 | } | ||
44 | |||
45 | push_config_80_screensaver_dpms() | ||
46 | { | ||
47 | local serial="$1" | ||
48 | local value | ||
49 | local action | ||
50 | |||
51 | value=$(mysqldo "select dpms from cfg_screensaver where serial='${serial}'") | ||
52 | if [[ -z ${value} ]] || [[ ${value} = NULL ]] | ||
53 | then | ||
54 | decho "retval NULL, not running 'control_client '${serial}' set screensaver.dpms '${value}''" | ||
55 | else | ||
56 | case "${value}" in | ||
57 | 0) action="disable" ;; | ||
58 | 1) action="enable" ;; | ||
59 | *) | ||
60 | decho "Unknown value '${value}'" | ||
61 | return 1 | ||
62 | ;; | ||
63 | esac | ||
64 | |||
65 | control_client "${serial}" set screensaver.dpms "${action}" | ||
66 | fi | ||
67 | } | ||
68 | |||
69 | help_screensaver_timeout() | ||
70 | { | ||
71 | local serial="${CLASS_ARGV[0]}" | ||
72 | control_client "${serial}" help screensaver.timeout | ||
73 | } | ||
74 | |||
75 | control_screensaver_timeout() | ||
76 | { | ||
77 | local serial="${CLASS_ARGV[0]}" | ||
78 | push_config_80_screensaver_timeout "${serial}" | ||
79 | } | ||
80 | |||
81 | set_screensaver_timeout() | ||
82 | { | ||
83 | local serial="${CLASS_ARGV[0]}" | ||
84 | local value="${CLASS_ARGV[1]}" | ||
85 | |||
86 | import_resource cfg_screensaver "${serial}" timeout "${value}" | ||
87 | } | ||
88 | |||
89 | push_config_80_screensaver_timeout() | ||
90 | { | ||
91 | local serial="$1" | ||
92 | local value | ||
93 | |||
94 | value=$(mysqldo "select timeout from cfg_screensaver where serial='${serial}'") | ||
95 | if [[ ${value} = NULL ]] | ||
96 | then | ||
97 | decho "retval NULL, not running 'control_client '${serial}' set screensaver.timeout '${value}''" | ||
98 | else | ||
99 | control_client "${serial}" set screensaver.timeout "${value}" | ||
100 | fi | ||
101 | } |