Contents of /mcore-src/trunk/mcore-tools/src/modules/xscreensaver/screensaver.control.class.in
Parent Directory | Revision Log
Revision 2851 -
(show 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 | # $Id$ |
2 | |
3 | push_firstboot 80_screensaver |
4 | push_config 80_screensaver_dpms 80_screensaver_timeout |
5 | |
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 | |
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 | } |