summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--util/fbsetbg111
1 files changed, 36 insertions, 75 deletions
diff --git a/util/fbsetbg b/util/fbsetbg
index be7b093..0aa0a31 100644
--- a/util/fbsetbg
+++ b/util/fbsetbg
@@ -23,7 +23,7 @@
23# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25# 25#
26# $Id: fbsetbg,v 1.2 2003/04/28 14:45:13 fluxgen Exp $ 26# $Id: fbsetbg,v 1.3 2003/04/29 11:26:34 rathnor Exp $
27 27
28# 28#
29# Portability notes: 29# Portability notes:
@@ -38,9 +38,10 @@
38# compensate for that. 38# compensate for that.
39# 39#
40 40
41wpsetters='wmsetbg Esetroot xli xsetbg display qiv xv xsri' 41wpsetters='Esetroot wmsetbg display qiv xv xsri xli xsetbg'
42lastwallpaper=${HOME}/.fluxbox/lastwallpaper 42lastwallpaper=${HOME}/.fluxbox/lastwallpaper
43 43
44
44WHOAMI=`whoami` 45WHOAMI=`whoami`
45[ "$WHOAMI" = "root" ] && PATH=/bin:/usr/bin/:/usr/local/bin:/usr/X11R6/bin 46[ "$WHOAMI" = "root" ] && PATH=/bin:/usr/bin/:/usr/local/bin:/usr/X11R6/bin
46 47
@@ -82,7 +83,7 @@ EOF
82display_tips(){ 83display_tips(){
83cat<<EOF 84cat<<EOF
84 85
85To replace all occurances of bsetbg in a file use this command: 86To replace all occurrences of bsetbg in a file use this command:
86 87
87 perl -pi -e 's,([^f]|^)bsetbg,fbsetbg,' 88 perl -pi -e 's,([^f]|^)bsetbg,fbsetbg,'
88 89
@@ -114,76 +115,21 @@ message() {
114} 115}
115 116
116remembercommand() { 117remembercommand() {
117 echo $option > $lastwallpaper 118 #if the $wallpaper path is absolute
118 echo $wallpaper >> $lastwallpaper 119 echo $option > $lastwallpaper
120 case $wallpaper in
121 /*) echo $wallpaper >> $lastwallpaper ;;
122 *) echo $PWD/$wallpaper >> $lastwallpaper ;;
123 esac
119} 124}
120 125
121debugfbsetbg (){ 126debugfbsetbg (){
122 127 echo
123 standardrant (){ 128 echo $debugstory
124 cat <<EOF 129 echo
125
126$WPSETTER sets the 'wrong' wallpaper. transparant apps like aterm and
127xchat wont work right with it. Consider using wmsetbg (from windowmaker)
128or Esetroot (from Eterm)
129
130EOF
131 }
132
133 for wpsetter in $wpsetters; do
134 if find_it $wpsetter; then
135 WPSETTER=$wpsetter
136 break
137 fi
138 done
139
140 case $WPSETTER in
141 xsri)
142 echo "This is a RedHat specific app. I can't find docs about it."
143 ;;
144 display)
145 standardrant
146 ;;
147 Esetroot)
148 echo 'Esetroot is a nice app :)'
149 echo "You won't have any problems."
150 ;;
151 wmsetbg)
152 echo 'wmsetbg is my favourite :)'
153 echo "You won't have any problems."
154 ;;
155 xsetbg)
156 standardrant
157 echo 'Is actually xli'
158 echo 'fillscreen option (-f) is broken, defaults to (-a)'
159 ;;
160 xli)
161 standardrant
162 echo 'fillscreen option (-f) is broken, defaults to (-a)'
163 ;;
164 qiv)
165 standardrant
166 ;;
167 xv)
168 standardrant
169 ;;
170 '')
171 cat <<EOF
172
173I Can't find and app to set the wallpaper with. You can install one in
174many many ways but I will give you some simple advice: install Eterm and
175your set. Eterm provides Esetroot and thats a great wallpapersetter. I
176recommend you install the package provided by your distro.
177
178EOF
179 esac
180 exit 0 130 exit 0
181} 131}
182 132
183if [ $1 = -d ];then
184 debugfbsetbg
185fi
186
187# Find the default wallpapersetter 133# Find the default wallpapersetter
188# The precise order is up for debate. 134# The precise order is up for debate.
189for wpsetter in $wpsetters; do 135for wpsetter in $wpsetters; do
@@ -193,79 +139,93 @@ for wpsetter in $wpsetters; do
193 fi 139 fi
194done 140done
195 141
142standardrant="$WPSETTER sets the 'wrong' wallpaper. Transparant apps like aterm and
143xchat won't work right with it. Consider using wmsetbg (from windowmaker)
144or Esetroot (from Eterm)"
145
196case $WPSETTER in 146case $WPSETTER in
197 xsri) 147 xsri)
198 full='--center-x --center-y --scale-width=100 --scale-width=100' 148 full='--center-x --center-y --scale-width=100 --scale-width=100'
199 tile='--tile' 149 tile='--tile'
200 center='--center-x --center-y' 150 center='--center-x --center-y'
201 aspect=$full 151 aspect=$full
152 debugstory="This is a RedHat specific app. I can't find docs about it."
202 ;; 153 ;;
203 display) 154 display)
204 full='`xwininfo -root|grep geom` -window root' 155 full='`xwininfo -root|grep geom` -window root'
205 tile='-window root' 156 tile='-window root'
206 center='-backdrop -window root' 157 center='-backdrop -window root'
207 aspect=$full 158 aspect=$full
159 debugstory=$standardrant
208 ;; 160 ;;
209 Esetroot) 161 Esetroot)
210 full='-scale' 162 full='-scale'
211 tile='' 163 tile=''
212 center='-c' 164 center='-c'
213 aspect='-fit' 165 aspect='-fit'
166 debugstory="Esetroot is a nice app. You won't have any problems."
214 ;; 167 ;;
215 wmsetbg) 168 wmsetbg)
216 full='-s -S' 169 full='-s -S'
217 tile='-t' 170 tile='-t'
218 center='-b black -e' 171 center='-b black -e'
219 aspect='-b black -a' 172 aspect='-b black -a'
173 debugstory="wmsetbg is a nice app. You won't have any problems."
220 ;; 174 ;;
221 xsetbg) 175 xsetbg)
222 tile='-border black' 176 tile='-border black'
223 center='-center -border black' 177 center='-center -border black'
224 aspect='-fullscreen -border black' 178 aspect='-fullscreen -border black'
225 full=$aspect #broken 179 full=$aspect #broken
180 debugstory="xsetbg is actually xli. The fillscreen option (-f) is broken, defaults to (-a). $standardrant"
226 ;; 181 ;;
227 xli) 182 xli)
228 tile='-onroot -quiet -border black' 183 tile='-onroot -quiet -border black'
229 center='-center -onroot -quiet -border black' 184 center='-center -onroot -quiet -border black'
230 aspect='-fullscreen -onroot -quiet -border black' 185 aspect='-fullscreen -onroot -quiet -border black'
231 full=$aspect #broken 186 full=$aspect #broken
187 debugstory='The fillscreen option (-f) is broken, defaults to (-a). $standardrant'
232 ;; 188 ;;
233 qiv) 189 qiv)
234 full='--root_s' 190 full='--root_s'
235 tile='--root_t' 191 tile='--root_t'
236 center='--root' 192 center='--root'
237 aspect='-m --root' 193 aspect='-m --root'
194 debugstory=$standardrant
238 ;; 195 ;;
239 xv) 196 xv)
240 full='-max -smooth -root -quit' 197 full='-max -smooth -root -quit'
241 tile='-root -quit' 198 tile='-root -quit'
242 center='-rmode 5 -root -quit' 199 center='-rmode 5 -root -quit'
243 aspect='-maxpect -smooth -root -quit' 200 aspect='-maxpect -smooth -root -quit'
201 debugstory=$standardrant
244 ;; 202 ;;
245 '') 203 '')
246 message "Can't find and app to set the wallpaper with. 204 message "I can't find an app to set the wallpaper with. You can install one in
247Use fbsetbg -d to find out what to do next" 205many many ways but I will give you some simple advice: install Eterm and
248 exit 1 206you're set. Eterm provides Esetroot and thats a great wallpaper setter. I
207recommend you install the package provided by your distro."
208 exit 1
209 ;;
249esac 210esac
250 211
251#Get options. 212#Get options.
252getopts ":a:f:c:t:Tlh-" COMMAND_LINE_ARGUMENT 213getopts ":a:f:c:t:Tdlh-" COMMAND_LINE_ARGUMENT
253case "${COMMAND_LINE_ARGUMENT}" in 214case "${COMMAND_LINE_ARGUMENT}" in
215 d) debugfbsetbg
216 exit 0
217 ;;
254 a) option=$aspect 218 a) option=$aspect
255 wallpaper=$OPTARG 219 wallpaper=$OPTARG
256 remembercommand
257 ;; 220 ;;
258 f) option=$full 221 f) option=$full
259 wallpaper=$OPTARG 222 wallpaper=$OPTARG
260 remembercommand
261 ;; 223 ;;
262 c) option=$center 224 c) option=$center
263 wallpaper=$OPTARG 225 wallpaper=$OPTARG
264 remembercommand
265 ;; 226 ;;
266 t) option=$tile 227 t) option=$tile
267 wallpaper=$OPTARG 228 wallpaper=$OPTARG
268 remembercommand
269 ;; 229 ;;
270 l) 230 l)
271 if [ -r $lastwallpaper ];then 231 if [ -r $lastwallpaper ];then
@@ -300,3 +260,4 @@ fi
300$WPSETTER $option "$wallpaper" || message "Something went wrong while setting the wallpaper 260$WPSETTER $option "$wallpaper" || message "Something went wrong while setting the wallpaper
301Run '$WPSETTER $option "$wallpaper"' from an xterm to find out what." 261Run '$WPSETTER $option "$wallpaper"' from an xterm to find out what."
302#remember previous wallpaper 262#remember previous wallpaper
263remembercommand