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:
--title string Change the title at the top
--distro string/cmd Manually set the distro
--kernel string/cmd Manually set the kernel
--uptime string/cmd Manually set the uptime
--uptime_shorthand on/off --v
Shorten the output of uptime
--packages string/cmd Manually set the package count
--shell string/cmd Manually set the shell
--winman string/cmd Manually set the window manager
--cpu string/cmd Manually set the cpu name
--memory string/cmd Manually set the memory
--speed_type Change the type of cpu speed to get
Possible values: current, min, max
--song string/cmd Manually set the current song
Info:
--title string Change the title at the top
--distro string/cmd Manually set the distro
--kernel string/cmd Manually set the kernel
--uptime string/cmd Manually set the uptime
--uptime_shorthand on/off --v
Shorten the output of uptime
--packages string/cmd Manually set the package count
--shell string/cmd Manually set the shell
--winman string/cmd Manually set the window manager
--use_wmctrl on/off Use wmctrl for a more accurate reading
--cpu string/cmd Manually set the cpu name
--memory string/cmd Manually set the memory
--speed_type Change the type of cpu speed to get
Possible values: current, min, max
--song string/cmd Manually set the current song
Text Colors:
--colors 1 2 3 4 5 Change the color of text
(title, subtitle, colon, info)
--title_color num Change the color of the title
--subtitle_color num Change the color of the subtitle
--colon_color num Change the color of the colons
--underline_color num Change the color of the underline
--info_color num Change the color of the info
Text Colors:
--colors 1 2 3 4 5 Change the color of text
(title, subtitle, colon, underline, info)
--title_color num Change the color of the title
--subtitle_color num Change the color of the subtitle
--colon_color num Change the color of the colons
--underline_color num Change the color of the underlines
--info_color num Change the color of the info
Text Formatting:
--underline on/off Enable/Disable title underline
--underline_char char Character to use when underlineing title
--line_wrap on/off Enable/Disable line wrapping
--bold on/off Enable/Disable bold text
--prompt_height num Set this to your prompt height to fix
issues with the text going off screen at the top
Text Formatting:
--underline on/off Enable/Disable title underline
--underline_char char Character to use when underlineing title
--line_wrap on/off Enable/Disable line wrapping
--bold on/off Enable/Disable bold text
--prompt_height num Set this to your prompt height to fix
issues with the text going off screen at the top
Color Blocks:
--color_blocks on/off Enable/Disable the color blocks
--block_range start end --v
Range of colors to print as blocks
--block_width num Width of color blocks
Color Blocks:
--color_blocks on/off Enable/Disable the color blocks
--block_width num Width of color blocks
--block_range start end --v
Range of colors to print as blocks
Image:
--image Image to display with the script
The image gets priority over other
images: (wallpaper, \$img)
Image:
--image Image source. Where and what image we display.
Possible values: wall, shuffle, /path/to/img, off
--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
--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 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
--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
to the top edge of the window
--clean Remove all cropped images
--gap num Gap between image and text right side
--images on/off Enable/Disable all images
--wall on/off Enable/Disable the wallpaper function
and fallback to \$img
--clean Remove all cropped images
Other:
--help Print this text and exit
Other:
--help Print this text and exit
```

53
fetch
View File

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