diff options
author | fluxgen <fluxgen> | 2003-12-29 00:00:28 (GMT) |
---|---|---|
committer | fluxgen <fluxgen> | 2003-12-29 00:00:28 (GMT) |
commit | 52869773937f18146f60b617e6c0618bbf40d751 (patch) | |
tree | 0eff0ba31d80cf9ae35b6b19d9f7612445a3e60c | |
parent | ea184b3566bfee3f720763edf4e11cd27e9cd1d0 (diff) | |
download | fluxbox-52869773937f18146f60b617e6c0618bbf40d751.zip fluxbox-52869773937f18146f60b617e6c0618bbf40d751.tar.bz2 |
patch from Han, minor fixes and fbsetbg random background
-rw-r--r-- | data/Makefile.am | 2 | ||||
-rw-r--r-- | util/Makefile.am | 6 | ||||
-rw-r--r-- | util/fbsetbg | 71 | ||||
-rwxr-xr-x | util/fluxbox-generate_menu.in | 3 |
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 |
60 | display_usage() { | 60 | display_usage() { |
61 | cat << EOF | 61 | cat << EOF |
62 | Usage: $command [-u/-U [wallpapersetter]] [-fFcCtTaA /path/to/wallpaper] [-bB bsetrootoptions] [-l] [-h] [-i] [-p] | 62 | Usage: $command [-u/-U [wallpapersetter]] [-fFcCtTaA /path/to/wallpaper] |
63 | [-r/-R /path/to/wallpaperdirectory] | ||
64 | [-b/-B bsetrootoptions] [-l] [-h] [-i] [-p] | ||
63 | Use \`\`$command -h'' for a complete help message. | 65 | Use \`\`$command -h'' for a complete help message. |
64 | 66 | ||
65 | EOF | 67 | EOF |
@@ -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 |
302 | done | 311 | done |
303 | 312 | ||
@@ -410,7 +419,7 @@ recommend you install the package provided by your distro." | |||
410 | ;; | 419 | ;; |
411 | esac | 420 | esac |
412 | 421 | ||
413 | if [ "$debug" = true ];then | 422 | if [ "$debug" = true ]; then |
414 | debugfbsetbg | 423 | debugfbsetbg |
415 | exit 0 | 424 | exit 0 |
416 | fi | 425 | fi |
@@ -419,11 +428,12 @@ option=${option:='$full'} | |||
419 | 428 | ||
420 | 429 | ||
421 | 430 | ||
422 | if [ -z "$DISPLAY" ];then | 431 | if [ -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 |
425 | fi | 434 | fi |
426 | 435 | ||
436 | |||
427 | if [ "$option" = bsetroot ]; then | 437 | if [ "$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 |
433 | fi | 443 | fi |
434 | 444 | ||
445 | |||
446 | # random wallpaper code | ||
447 | if [ "$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 | ||
475 | fi | ||
476 | |||
477 | |||
435 | if [ ! -r "$wallpaper" ]; then | 478 | if [ ! -r "$wallpaper" ]; then |
436 | message "Can't find wallpaper $wallpaper" | 479 | message "Can't find wallpaper $wallpaper" |
437 | exit 1 | 480 | exit 1 |
438 | fi | 481 | fi |
439 | 482 | ||
483 | |||
440 | $WPSETTER `eval echo $option` "$wallpaper" | 484 | $WPSETTER `eval echo $option` "$wallpaper" |
441 | if [ $? -ne 0 ]; then | 485 | if [ $? -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 |
445 | fi | 489 | fi |
446 | 490 | ||
491 | |||
447 | #remember previous wallpaper | 492 | #remember previous wallpaper |
448 | if [ ! "$remember" = false ]; then | 493 | if [ ! "$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}}" |