Magellan Linux

Contents of /mcore-src/trunk/mcore-tools/src/modules/xscreensaver/screensaver.control.class.in

Parent Directory Parent Directory | Revision Log 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)
-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 }