summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/Makefile.am2
-rw-r--r--util/Makefile.am6
-rw-r--r--util/fbsetbg71
-rwxr-xr-xutil/fluxbox-generate_menu.in3
4 files changed, 64 insertions, 18 deletions
diff --git a/data/Makefile.am b/data/Makefile.am
index 6b50932..3fda5cc 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -19,4 +19,4 @@ menu: ../util/fluxbox-generate_menu
19 ../util/fluxbox-generate_menu 19 ../util/fluxbox-generate_menu
20 20
21../util/fluxbox-generate_menu: 21../util/fluxbox-generate_menu:
22 cd ../util && make fluxbox-generate_menu 22 cd ../util && ${MAKE} fluxbox-generate_menu
diff --git a/util/Makefile.am b/util/Makefile.am
index 2e92c94..c5fb97a 100644
--- a/util/Makefile.am
+++ b/util/Makefile.am
@@ -32,8 +32,8 @@ fluxbox-generate_menu: fluxbox-generate_menu.in
32 -chmod 755 fluxbox-generate_menu 32 -chmod 755 fluxbox-generate_menu
33 33
34../src/FbRootWindow.o: 34../src/FbRootWindow.o:
35 cd ../src && make FbRootWindow.o 35 cd ../src && ${MAKE} FbRootWindow.o
36../src/I18n.o: 36../src/I18n.o:
37 cd ../src && make I18n.o 37 cd ../src && ${MAKE} I18n.o
38../src/FbAtoms.o: 38../src/FbAtoms.o:
39 cd ../src && make FbAtoms.o 39 cd ../src && ${MAKE} FbAtoms.o
diff --git a/util/fbsetbg b/util/fbsetbg
index c053ea2..73f2111 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.25 2003/12/12 13:07:47 fluxgen Exp $ 26# $Id: fbsetbg,v 1.26 2003/12/28 23:59:57 fluxgen Exp $
27 27
28# Portability notes: 28# Portability notes:
29# To guarantee this script works on all platforms that support fluxbox 29# To guarantee this script works on all platforms that support fluxbox
@@ -59,7 +59,9 @@ command="`basename \"$0\"`"
59# Functions 59# Functions
60display_usage() { 60display_usage() {
61 cat << EOF 61 cat << EOF
62Usage: $command [-u/-U [wallpapersetter]] [-fFcCtTaA /path/to/wallpaper] [-bB bsetrootoptions] [-l] [-h] [-i] [-p] 62Usage: $command [-u/-U [wallpapersetter]] [-fFcCtTaA /path/to/wallpaper]
63 [-r/-R /path/to/wallpaperdirectory]
64 [-b/-B bsetrootoptions] [-l] [-h] [-i] [-p]
63Use \`\`$command -h'' for a complete help message. 65Use \`\`$command -h'' for a complete help message.
64 66
65EOF 67EOF
@@ -79,8 +81,9 @@ Options:
79 we fall back to -f ) 81 we fall back to -f )
80 -u Use specified wallpapersetter, use no argument to forget. 82 -u Use specified wallpapersetter, use no argument to forget.
81 -b Forward the options to bsetroot. 83 -b Forward the options to bsetroot.
84 -r set random wallpaper from a directory
82 85
83 -F,-C,-T,-A,-U,-B same as uncapsed but without remembering. 86 -F,-C,-T,-A,-U,-B,-R same as uncapsed but without remembering.
84 87
85 -h Display this help. 88 -h Display this help.
86 89
@@ -259,7 +262,14 @@ while [ $# -gt 0 ]; do
259 shift 262 shift
260 wallpaper=$* 263 wallpaper=$*
261 remember=false 264 remember=false
262 break;; 265 break ;;
266 -r) option=random
267 wallpaper=$2 # in this case it's a dir
268 break ;;
269 -R) option=random
270 wallpaper=$2 # in this case it's a dir
271 remember=false
272 break ;;
263 -l) 273 -l)
264 if [ -r "$lastwallpaper" ]; then 274 if [ -r "$lastwallpaper" ]; then
265 option=`grep "|${DISPLAY}$" $lastwallpaper|cut -d'|' -f1` 275 option=`grep "|${DISPLAY}$" $lastwallpaper|cut -d'|' -f1`
@@ -270,8 +280,7 @@ while [ $# -gt 0 ]; do
270 fi 280 fi
271 fi 281 fi
272 remember=false 282 remember=false
273 break 283 break ;;
274 ;;
275 -p) display_tips ; exit 0 ;; 284 -p) display_tips ; exit 0 ;;
276 -h) display_help ; exit 0 ;; 285 -h) display_help ; exit 0 ;;
277 --) 286 --)
@@ -282,10 +291,11 @@ while [ $# -gt 0 ]; do
282 -*) 291 -*)
283 message "unrecognized option "\`"$1'" 292 message "unrecognized option "\`"$1'"
284 display_usage 293 display_usage
285 exit 1 294 exit 1 ;;
286 ;;
287 *) 295 *)
288 if [ ! -r "$1" ]; then 296 if [ "$option" = random ]; then
297 option='$aspect'
298 elif [ ! -r "$1" ]; then
289 message "$1 isn't an existing wallpaper or a valid option." 299 message "$1 isn't an existing wallpaper or a valid option."
290 display_usage 300 display_usage
291 exit 1 301 exit 1
@@ -296,8 +306,7 @@ while [ $# -gt 0 ]; do
296 else 306 else
297 wallpaper=$1 307 wallpaper=$1
298 break 308 break
299 fi 309 fi ;;
300 ;;
301 esac 310 esac
302done 311done
303 312
@@ -410,7 +419,7 @@ recommend you install the package provided by your distro."
410 ;; 419 ;;
411esac 420esac
412 421
413if [ "$debug" = true ];then 422if [ "$debug" = true ]; then
414 debugfbsetbg 423 debugfbsetbg
415 exit 0 424 exit 0
416fi 425fi
@@ -419,11 +428,12 @@ option=${option:='$full'}
419 428
420 429
421 430
422if [ -z "$DISPLAY" ];then 431if [ -z "$DISPLAY" ]; then
423 message "You are not connected to an X session\nPerhaps you should set the DISPLAY environment variable?" 432 message "You are not connected to an X session\nPerhaps you should set the DISPLAY environment variable?"
424 exit 1 433 exit 1
425fi 434fi
426 435
436
427if [ "$option" = bsetroot ]; then 437if [ "$option" = bsetroot ]; then
428 bsetroot $wallpaper 438 bsetroot $wallpaper
429 if [ ! "$remember" = false ]; then 439 if [ ! "$remember" = false ]; then
@@ -432,11 +442,45 @@ if [ "$option" = bsetroot ]; then
432 exit 0 442 exit 0
433fi 443fi
434 444
445
446# random wallpaper code
447if [ "$option" = random ]; then
448 # Lets make one thing clear...
449 wallpaperdir=$wallpaper
450 if [ -z "$wallpaperdir" ]; then
451 message "No random wallpaper directory specified."
452 exit 1
453 fi
454 if [ -d "$wallpaperdir" ]; then
455 number_of_wallpapers=`ls $wallpaperdir|wc -l`
456 # some shells don't support $RANDOM
457 if [ -z $RANDOM ]; then
458 randomnumber=`(echo $$ ;time ps; w ; date )2>&1 | cksum | cut -f1 -d' '`
459 else
460 randomnumber=$RANDOM
461 fi
462 wallpapernumber=`expr $randomnumber % $number_of_wallpapers + 1`
463 #remember previous wallpaper
464 if [ ! "$remember" = false ]; then
465 remembercommand
466 fi
467 remember=false
468 #set -x
469 wallpaper="$wallpaperdir/`ls $wallpaperdir|sed -n ${wallpapernumber}p`"
470 option='$aspect' # have to choose something...
471 else
472 message "Invalid random wallpaper directory specified."
473 exit 1
474 fi
475fi
476
477
435if [ ! -r "$wallpaper" ]; then 478if [ ! -r "$wallpaper" ]; then
436 message "Can't find wallpaper $wallpaper" 479 message "Can't find wallpaper $wallpaper"
437 exit 1 480 exit 1
438fi 481fi
439 482
483
440$WPSETTER `eval echo $option` "$wallpaper" 484$WPSETTER `eval echo $option` "$wallpaper"
441if [ $? -ne 0 ]; then 485if [ $? -ne 0 ]; then
442 message "Something went wrong while setting the wallpaper. 486 message "Something went wrong while setting the wallpaper.
@@ -444,6 +488,7 @@ Run '$WPSETTER "`eval echo $option` $wallpaper"' from an xterm to find out what.
444 exit 1 488 exit 1
445fi 489fi
446 490
491
447#remember previous wallpaper 492#remember previous wallpaper
448if [ ! "$remember" = false ]; then 493if [ ! "$remember" = false ]; then
449 remembercommand 494 remembercommand
diff --git a/util/fluxbox-generate_menu.in b/util/fluxbox-generate_menu.in
index 8f7ba53..6391462 100755
--- a/util/fluxbox-generate_menu.in
+++ b/util/fluxbox-generate_menu.in
@@ -22,7 +22,7 @@
22# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23# DEALINGS IN THE SOFTWARE. 23# DEALINGS IN THE SOFTWARE.
24# 24#
25# $Id: fluxbox-generate_menu.in,v 1.5 2003/12/22 01:19:02 fluxgen Exp $ 25# $Id: fluxbox-generate_menu.in,v 1.6 2003/12/28 23:59:57 fluxgen Exp $
26 26
27# 27#
28# Portability notes: 28# Portability notes:
@@ -1014,6 +1014,7 @@ append_submenu "${FBSETTINGSMENU}"
1014 NUMBER_OF_BACKGROUNDS=`find $BACKGROUND_DIRS -follow -type f 2> /dev/null|wc -l` 1014 NUMBER_OF_BACKGROUNDS=`find $BACKGROUND_DIRS -follow -type f 2> /dev/null|wc -l`
1015 if [ "$NUMBER_OF_BACKGROUNDS" -gt 0 ]; then 1015 if [ "$NUMBER_OF_BACKGROUNDS" -gt 0 ]; then
1016 append_menu "[submenu] (${BACKGROUNDMENU}) {${BACKGROUNDMENUTITLE}}" 1016 append_menu "[submenu] (${BACKGROUNDMENU}) {${BACKGROUNDMENUTITLE}}"
1017 append "[exec] (random background) {fbsetbg -r ${HOME}/.fluxbox/backgrounds}"
1017 if [ "$NUMBER_OF_BACKGROUNDS" -gt 30 ]; then 1018 if [ "$NUMBER_OF_BACKGROUNDS" -gt 30 ]; then
1018 menucounter=1 ; counter=1 1019 menucounter=1 ; counter=1
1019 append_menu "[submenu] (${BACKGROUNDMENU} $menucounter) {${BACKGROUNDMENUTITLE}}" 1020 append_menu "[submenu] (${BACKGROUNDMENU} $menucounter) {${BACKGROUNDMENUTITLE}}"