Magellan Linux

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

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