Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2760 - (hide annotations) (download)
Tue Feb 2 14:49:47 2016 UTC (8 years, 3 months ago) by niro
File size: 4872 byte(s)
-fixed a typo
1 niro 2532 # $Id$
2    
3 niro 2576 push_config 80_fluxbox_menuitem
4 niro 2623 push_config 80_fluxbox_autostart
5 niro 2564
6 niro 2532 help_fluxbox_menuitem()
7     {
8     local serial="${CLASS_ARGV[0]}"
9     control_client "${serial}" help fluxbox.menuitem
10     }
11    
12     set_fluxbox_menuitem()
13     {
14     local serial="${CLASS_ARGV[0]}"
15     local action="${CLASS_ARGV[1]}"
16     local name="${CLASS_ARGV[2]}"
17     local exec="${CLASS_ARGV[3]}"
18     local workdir="${CLASS_ARGV[4]}"
19     local icon="${CLASS_ARGV[5]}"
20 niro 2535 local id
21 niro 2545 local enabled
22 niro 2532
23     case "${action}" in
24 niro 2545 add) enabled=1 ;;
25     del) enabled=0 ;;
26     *)
27     eecho "Unknown action '${action}'"
28     return 1
29 niro 2536 ;;
30 niro 2532 esac
31 niro 2545
32 niro 2567 if [[ -z ${name} ]]
33     then
34     eecho "No name given"
35     return 1
36     fi
37    
38 niro 2545 id=$(mysqldo "select id from cfg_fluxbox_menuitem where serial='${serial}' and name='${name}';")
39     if [[ -n ${id} ]]
40     then
41     mysqldo "update cfg_fluxbox_menuitem set name='${name}', exec='${exec}', workdir='${workdir}', icon='${icon}', enabled='${enabled}' where id=${id};"
42     else
43     mysqldo "insert into cfg_fluxbox_menuitem(serial,name,exec,workdir,icon,enabled) values('${serial}','${name}','${exec}','${workdir}','${icon}','${enabled}');"
44     fi
45 niro 2532 }
46    
47     control_fluxbox_menuitem()
48     {
49     local serial="${CLASS_ARGV[0]}"
50 niro 2576 push_config_80_fluxbox_menuitem "${serial}"
51 niro 2564 }
52    
53 niro 2576 push_config_80_fluxbox_menuitem()
54 niro 2564 {
55     local serial="$1"
56 niro 2532 local values
57     local id
58    
59     values=$(mysqldo "select id from cfg_fluxbox_menuitem where serial='${serial}';")
60     for id in ${values}
61     do
62     evaluate_table_xml cfg_fluxbox_menuitem "where serial='${serial}'"
63     if [[ -z ${cfg_fluxbox_menuitem_name} ]]
64     then
65     eecho "Name must not be empty id->'${id}'"
66     continue
67     fi
68 niro 2545 if [[ -z ${cfg_fluxbox_menuitem_enabled} ]]
69     then
70     eecho "Enabled must not be empty id->'${id}'"
71     continue
72     fi
73     if [[ ${cfg_fluxbox_menuitem_enabled} = 1 ]]
74     then
75     control_client "${serial}" set fluxbox.menuitem add "${cfg_fluxbox_menuitem_name}" "${cfg_fluxbox_menuitem_exec}" "${cfg_fluxbox_menuitem_workdir}" "${cfg_fluxbox_menuitem_icon}"
76     elif [[ ${cfg_fluxbox_menuitem_enabled} = 0 ]]
77 niro 2547 then
78 niro 2545 control_client "${serial}" set fluxbox.menuitem del "${cfg_fluxbox_menuitem_name}"
79     # remove from database too
80     mysqldo "delete from cfg_fluxbox_menuitem where id='${id}';"
81     else
82     eecho "unknown enabled value id->'${id}', cfg_fluxbox_menuitem_enabled -> '${cfg_fluxbox_menuitem_enabled}'"
83     return 1
84 niro 2546 fi
85 niro 2532 done
86     }
87    
88 niro 2623 help_fluxbox_autostart()
89     {
90     local serial="${CLASS_ARGV[0]}"
91     control_client "${serial}" help fluxbox.autostart
92     }
93    
94     set_fluxbox_autostart()
95     {
96     local serial="${CLASS_ARGV[0]}"
97     local action="${CLASS_ARGV[1]}"
98     local name="${CLASS_ARGV[2]}"
99     local exec="${CLASS_ARGV[3]}"
100     local id
101     local enabled
102    
103     case "${action}" in
104     add) enabled=1 ;;
105     del) enabled=0 ;;
106     *)
107     eecho "Unknown action '${action}'"
108     return 1
109     ;;
110     esac
111    
112     if [[ -z ${name} ]]
113     then
114     eecho "No name given"
115     return 1
116     fi
117    
118     id=$(mysqldo "select id from cfg_autostart where serial='${serial}' and name='${name}';")
119     if [[ -n ${id} ]]
120     then
121 niro 2625 mysqldo "update cfg_autostart set name='${name}', exec='${exec}', enabled='${enabled}' where id=${id};"
122 niro 2623 else
123 niro 2625 mysqldo "insert into cfg_autostart(serial,name,exec,enabled) values('${serial}','${name}','${exec}','${enabled}');"
124 niro 2623 fi
125     }
126    
127     control_fluxbox_autostart()
128     {
129     local serial="${CLASS_ARGV[0]}"
130     push_config_80_fluxbox_autostart "${serial}"
131     }
132    
133     push_config_80_fluxbox_autostart()
134     {
135     local serial="$1"
136     local values
137     local id
138    
139     values=$(mysqldo "select id from cfg_autostart where serial='${serial}';")
140     for id in ${values}
141     do
142     evaluate_table_xml cfg_autostart "where serial='${serial}'"
143     if [[ -z ${cfg_autostart_name} ]]
144     then
145     eecho "Name must not be empty id->'${id}'"
146     continue
147     fi
148     if [[ -z ${cfg_autostart_enabled} ]]
149     then
150     eecho "Enabled must not be empty id->'${id}'"
151     continue
152     fi
153     if [[ ${cfg_autostart_enabled} = 1 ]]
154     then
155 niro 2625 control_client "${serial}" set fluxbox.autostart add "${cfg_autostart_name}" "${cfg_autostart_exec}"
156 niro 2623 elif [[ ${cfg_autostart_enabled} = 0 ]]
157     then
158     control_client "${serial}" set fluxbox.autostart del "${cfg_autostart_name}"
159     # remove from database too
160     mysqldo "delete from cfg_autostart where id='${id}';"
161     else
162     eecho "unknown enabled value id->'${id}', cfg_autostart_enabled -> '${cfg_autostart_enabled}'"
163     return 1
164     fi
165     done
166     }
167    
168 niro 2532 help_fluxbox_theme()
169     {
170     local serial="${CLASS_ARGV[0]}"
171     control_client "${serial}" help fluxbox.menuitem
172     }
173    
174     set_fluxbox_theme()
175     {
176     local serial="${CLASS_ARGV[0]}"
177     local theme="${CLASS_ARGV[1]}"
178    
179     import_resource cfg_fluxbox_theme "${serial}" theme "${theme}"
180     }
181    
182     control_fluxbox_theme()
183     {
184     local serial="${CLASS_ARGV[0]}"
185 niro 2564 push_config_fluxbox_theme "${serial}"
186     }
187    
188 niro 2760 push_config_80_fluxbox_theme()
189 niro 2564 {
190     local serial="$1"
191 niro 2532 local value
192    
193     value=$(mysqldo "select theme from cfg_fluxbox.menuitem where serial='${serial}'")
194     if [[ -z ${value} ]] || [[ ${value} = NULL ]]
195     then
196     decho "No theme retrieved"
197     else
198     control_client "${serial}" set fluxbox.theme "${value}"
199     fi
200     }