Magellan Linux

Contents of /mcore-src/trunk/mcore-tools/src/modules/fluxbox/fluxbox.client.class.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2776 - (show annotations) (download)
Thu Feb 11 15:05:16 2016 UTC (8 years, 2 months ago) by niro
File size: 4244 byte(s)
-fixed description
1 # $Id$
2
3 # todo wallpaper?
4
5 # what does this plugin provide?
6 provide fluxbox
7
8 help_fluxbox_menuitem()
9 {
10 mecho "get fluxbox.menuitem"
11 mecho " Shows all custom added menuitems of fluxbox."
12 mecho
13 mecho "set fluxbox.menuitem [action] [name] [exec] [workdir] [icon]"
14 mecho " Adds or deletes a fluxbox menu entry."
15 mecho " Actions:"
16 mecho " add - adds a menuitem"
17 mecho " del - deletes a menuitem"
18 mecho
19 mecho " name - menu entry name"
20 mecho " exec - executable to start"
21 mecho " workdir - working directory for the executable - optional"
22 mecho " icon - pixmap icon of the entry - optional"
23 mecho
24 mecho " If no [name] given, all entries will be deleted."
25 }
26
27 # set_fluxbox_menuitem $name $exec $workdir $icon
28 set_fluxbox_menuitem()
29 {
30 local action="${CLASS_ARGV[0]}"
31 local name="${CLASS_ARGV[1]}"
32 local exec="${CLASS_ARGV[2]}"
33 local workdir="${CLASS_ARGV[3]}"
34 local icon="${CLASS_ARGV[4]}"
35 local CONFIG
36
37 [[ -z ${action} ]] && help_fluxbox_menuitem && return 1
38
39 case "${action}" in
40 add)
41 [[ -z ${name} ]] && help_fluxbox_menuitem && return 1
42 [[ -z ${exec} ]] && help_fluxbox_menuitem && return 1
43 ${MCORE_LIBDIR}/fluxbox-menuitem --add --name "${name}" --exec "${exec}"
44 ;;
45 del)
46 if [[ -n ${name} ]]
47 then
48 ${MCORE_LIBDIR}/fluxbox-menuitem --del --name "${name}"
49 else
50 # delete all items
51 ${MCORE_LIBDIR}/fluxbox-menuitem --del
52 fi
53 ;;
54 *)
55 help_fluxbox_menuitem && return 1
56 ;;
57 esac
58
59 # rebuild the menu now
60 ${MCORE_LIBDIR}/fluxbox-rebuild-menu
61 }
62
63 # get_fluxbox_menuitem
64 get_fluxbox_menuitem()
65 {
66 ${MCORE_LIBDIR}/fluxbox-menuitem --print
67 }
68
69 help_fluxbox_autostart()
70 {
71 mecho "get fluxbox.autostart"
72 mecho " Shows all custom added autostarts of fluxbox."
73 mecho
74 mecho "set fluxbox.autostart [action] [name] [exec]"
75 mecho " Adds or deletes a fluxbox autostart entry."
76 mecho " Actions:"
77 mecho " add - adds an autostart entry"
78 mecho " del - deletes an autostart entry"
79 mecho
80 mecho " name - autostart entry name"
81 mecho " exec - executable to start"
82 mecho
83 mecho " If no [name] given, all entries will be deleted."
84 }
85
86 # set_fluxbox_autostart $name $exec
87 set_fluxbox_autostart()
88 {
89 local action="${CLASS_ARGV[0]}"
90 local name="${CLASS_ARGV[1]}"
91 local exec="${CLASS_ARGV[2]}"
92 local CONFIG
93
94 [[ -z ${action} ]] && help_fluxbox_autostart && return 1
95
96 case "${action}" in
97 add)
98 [[ -z ${name} ]] && help_fluxbox_autostart && return 1
99 [[ -z ${exec} ]] && help_fluxbox_autostart && return 1
100 ${MCORE_LIBDIR}/fluxbox-autostart --add --name "${name}" --exec "${exec}"
101 ;;
102 del)
103 if [[ -n ${name} ]]
104 then
105 ${MCORE_LIBDIR}/fluxbox-autostart --del --name "${name}"
106 else
107 # delete all items
108 ${MCORE_LIBDIR}/fluxbox-autostart --del
109 fi
110 ;;
111 *)
112 help_fluxbox_autostart && return 1
113 ;;
114 esac
115
116 # rebuild the autostart now
117 ${MCORE_LIBDIR}/fluxbox-rebuild-autostart
118 }
119
120 # get_fluxbox_autostart
121 get_fluxbox_autostart()
122 {
123 ${MCORE_LIBDIR}/fluxbox-autostart --print
124 }
125
126 help_fluxbox_theme()
127 {
128 mecho "get fluxbox.theme [method]"
129 mecho " Displays current installed or system-wide available themes."
130 mecho " Methods:"
131 mecho " system - shows systemwide available themes"
132 mecho " current - shows current selected theme"
133 mecho
134 mecho "set fluxbox.theme [theme]"
135 mecho " Sets a default theme for fluxbox."
136 }
137
138 set_fluxbox_theme()
139 {
140 local theme="${CLASS_ARGV[0]}"
141 local stylesdir="@@DATADIR@@/fluxbox/styles"
142
143 [[ -z ${theme} ]] && help_fluxbox_theme && return 1
144 [[ ! -x $(type -P fluxbox-remote) ]] && eecho "fluxbox-remote missing! Aborted" && return 1
145
146 if [[ -e ${stylesdir}/${theme} ]]
147 then
148 x11runas "fluxbox-remote 'SetStyle ${stylesdir}/${theme}'"
149 else
150 eecho "Theme '${theme}' does not exist!"
151 fi
152 }
153
154 get_fluxbox_theme()
155 {
156 local method="${CLASS_ARGV[0]}"
157 local stylesdir="@@DATADIR@@/fluxbox/styles"
158 local value
159 local i
160
161 [[ -z ${method} ]] && help_fluxbox_theme && return 1
162
163 case "${method}" in
164 system)
165 list_files_in_directory -type d -mindepth 1 -maxdepth 1 ${MROOT}/${stylesdir}
166 ;;
167
168 current)
169 value=$(grep -i '^session.stylefile' ${MROOT}/${MCORE_UNPRIV_HOME}/.fluxbox/init | sed 's:.*/\(.*\):\1:')
170 rvecho "${value}"
171 ;;
172 *) help_fluxbox_theme && return 1 ;;
173 esac
174 }