Added the option to pick a directory and shuffle the images, Image settings are now unified.

This commit is contained in:
Dylan 2016-01-08 13:29:24 +11:00
parent d392373102
commit 039604f806
2 changed files with 91 additions and 84 deletions

122
Readme.md
View file

@ -57,75 +57,73 @@ Please report any bugs or issues you're having with this as I can't
``` ```
usage: scrot.sh [--colors 1 2 4 5] [--kernel "$(uname -rs)"] usage: ${0##*/} [--colors 1 2 3 4 5] [--kernel "\$\(uname -rs\)"]
Info: Info:
--title string Change the title at the top --title string Change the title at the top
--distro string/cmd Manually set the distro --distro string/cmd Manually set the distro
--kernel string/cmd Manually set the kernel --kernel string/cmd Manually set the kernel
--uptime string/cmd Manually set the uptime --uptime string/cmd Manually set the uptime
--uptime_shorthand on/off --v --uptime_shorthand on/off --v
Shorten the output of uptime Shorten the output of uptime
--packages string/cmd Manually set the package count --packages string/cmd Manually set the package count
--shell string/cmd Manually set the shell --shell string/cmd Manually set the shell
--winman string/cmd Manually set the window manager --winman string/cmd Manually set the window manager
--cpu string/cmd Manually set the cpu name --use_wmctrl on/off Use wmctrl for a more accurate reading
--memory string/cmd Manually set the memory --cpu string/cmd Manually set the cpu name
--speed_type Change the type of cpu speed to get --memory string/cmd Manually set the memory
Possible values: current, min, max --speed_type Change the type of cpu speed to get
--song string/cmd Manually set the current song Possible values: current, min, max
--song string/cmd Manually set the current song
Text Colors: Text Colors:
--colors 1 2 3 4 5 Change the color of text --colors 1 2 3 4 5 Change the color of text
(title, subtitle, colon, info) (title, subtitle, colon, underline, info)
--title_color num Change the color of the title --title_color num Change the color of the title
--subtitle_color num Change the color of the subtitle --subtitle_color num Change the color of the subtitle
--colon_color num Change the color of the colons --colon_color num Change the color of the colons
--underline_color num Change the color of the underline --underline_color num Change the color of the underlines
--info_color num Change the color of the info --info_color num Change the color of the info
Text Formatting: Text Formatting:
--underline on/off Enable/Disable title underline --underline on/off Enable/Disable title underline
--underline_char char Character to use when underlineing title --underline_char char Character to use when underlineing title
--line_wrap on/off Enable/Disable line wrapping --line_wrap on/off Enable/Disable line wrapping
--bold on/off Enable/Disable bold text --bold on/off Enable/Disable bold text
--prompt_height num Set this to your prompt height to fix --prompt_height num Set this to your prompt height to fix
issues with the text going off screen at the top issues with the text going off screen at the top
Color Blocks: Color Blocks:
--color_blocks on/off Enable/Disable the color blocks --color_blocks on/off Enable/Disable the color blocks
--block_range start end --v --block_width num Width of color blocks
Range of colors to print as blocks --block_range start end --v
--block_width num Width of color blocks Range of colors to print as blocks
Image: Image:
--image Image to display with the script --image Image source. Where and what image we display.
The image gets priority over other Possible values: wall, shuffle, /path/to/img, off
images: (wallpaper, \$img) --shuffledir Which directory to shuffle for an image.
--font_width px Used to automatically size the image
--image_position Where to display the image: (Left/Right)
--split_size num Width of img/text splits
A value of 2 makes each split half the terminal
width and etc
--crop_mode Which crop mode to use
Takes the values: normal, fit, fill
--crop_offset value Change the crop offset for normal mode.
Possible values: northwest, north, northeast,
west, center, east, southwest, south, southeast
--font_width px Used to automatically size the image --xoffset px How close the image will be
--image_position Where to display the image: (Left/Right) to the left edge of the window
--split_size num Width of img/text splits --yoffset px How close the image will be
A value of 2 makes each split half the terminal to the top edge of the window
width and etc --gap num Gap between image and text right side
--crop_mode Which crop mode to use to the top edge of the window
Takes the values: normal, fit, fill --clean Remove all cropped images
--crop_offset value Change the crop offset for crop_mode normal.
Possible values: northwest, north, northeast,
west, center, east, southwest, south, southeast
--xoffset px How close the image will be
to the left edge of the window
--yoffset px How close the image will be
to the top edge of the window
--gap num Gap between image and text right side Other:
--images on/off Enable/Disable all images --help Print this text and exit
--wall on/off Enable/Disable the wallpaper function
and fallback to \$img
--clean Remove all cropped images
Other:
--help Print this text and exit
``` ```

53
fetch
View file

@ -150,9 +150,9 @@ prompt_height=1
# Image Options {{{ # Image Options {{{
# Toggle all images # Image Source
# --images on/off # --image wall, shuffle, /path/to/img, off
images="on" image="shuffle"
# Thumbnail directory # Thumbnail directory
imgtempdir="$HOME/.fetchimages" imgtempdir="$HOME/.fetchimages"
@ -174,13 +174,8 @@ split_size=2
# --image_position left/right # --image_position left/right
image_position="left" image_position="left"
# Use current wallpaper as the image # Shuffle dir
# --wall on/off shuffledir="$HOME/Pictures/wallpapers/wash"
wall="on"
# Default image to use if wallpaper use is disabled
# --image img
img="$HOME/Pictures/avatars/gon.png"
# Crop mode # Crop mode
# --crop_mode normal/fit/fill # --crop_mode normal/fit/fill
@ -644,6 +639,12 @@ getwallpaper () {
esac esac
} }
getshuffle () {
# TODO: Test this on Windows.
img="$(find $shuffledir -type f \( -name '*.jpg' -o -name '*.png' \) -print0 |
shuf -n1 -z)"
}
getimage () { getimage () {
# Make the directory if it doesn't exist # Make the directory if it doesn't exist
mkdir -p "$imgtempdir" mkdir -p "$imgtempdir"
@ -665,7 +666,19 @@ getimage () {
esac esac
# If wall=on, Get image to display from current wallpaper. # If wall=on, Get image to display from current wallpaper.
[ "$wall" == "on" ] && getwallpaper case "$image" in
"wall")
getwallpaper
;;
"shuffle")
getshuffle
;;
*)
img="$image"
;;
esac
# Get name of image and prefix it with it's crop mode and offset # Get name of image and prefix it with it's crop mode and offset
imgname="$crop_mode-$crop_offset-$imgsize-${img##*/}" imgname="$crop_mode-$crop_offset-$imgsize-${img##*/}"
@ -809,9 +822,9 @@ usage () { cat << EOF
Range of colors to print as blocks Range of colors to print as blocks
Image: Image:
--image Image to display with the script --image Image source. Where and what image we display.
The image gets priority over other Possible values: wall, shuffle, /path/to/img, off
images: (wallpaper, \$img) --shuffledir Which directory to shuffle for an image.
--font_width px Used to automatically size the image --font_width px Used to automatically size the image
--image_position Where to display the image: (Left/Right) --image_position Where to display the image: (Left/Right)
--split_size num Width of img/text splits --split_size num Width of img/text splits
@ -829,9 +842,6 @@ usage () { cat << EOF
to the top edge of the window to the top edge of the window
--gap num Gap between image and text right side --gap num Gap between image and text right side
to the top edge of the window to the top edge of the window
--images on/off Enable/Disable all images
--wall on/off Enable/Disable the wallpaper function
and fallback to \$img
--clean Remove all cropped images --clean Remove all cropped images
Other: Other:
@ -890,7 +900,8 @@ while [ "$1" ]; do
--block_width) block_width="$2" ;; --block_width) block_width="$2" ;;
# Image # Image
--image) wall="off"; img="$2" ;; --image) image="$2" ;;
--shuffledir) shuffledir="$2" ;;
--font_width) font_width="$2" ;; --font_width) font_width="$2" ;;
--image_position) image_position="$2" ;; --image_position) image_position="$2" ;;
--split_size) split_size="$2" ;; --split_size) split_size="$2" ;;
@ -899,8 +910,6 @@ while [ "$1" ]; do
--xoffset) xoffset="$2" ;; --xoffset) xoffset="$2" ;;
--yoffset) yoffset="$2" ;; --yoffset) yoffset="$2" ;;
--gap) gap="$2" ;; --gap) gap="$2" ;;
--images) images="$2" ;;
--wall) wall="$2" ;;
--clean) rm -rf "$imgtempdir" || exit ;; --clean) rm -rf "$imgtempdir" || exit ;;
# Other # Other
@ -997,7 +1006,7 @@ lines=${termsize% *}
columns=${termsize#* } columns=${termsize#* }
# Get image # Get image
[ "$images" == "on" ] && getimage [ "$image" != "off" ] && getimage
# Clear the terminal and hide the cursor # Clear the terminal and hide the cursor
printf "\e[?25l" printf "\e[?25l"
@ -1012,7 +1021,7 @@ bold
printinfo printinfo
# Display the image # Display the image
[ "$images" == "on" ] && \ [ "$image" != "off" ] && \
printf "%b%s" "0;1;$xoffset;$yoffset;$imgsize;$imgsize;;;;;$img\n4;\n3;" |\ printf "%b%s" "0;1;$xoffset;$yoffset;$imgsize;$imgsize;;;;;$img\n4;\n3;" |\
$w3m_img_path $w3m_img_path