Merge pull request #306 from dylanaraps/sourceconfig
Remove default config from inside script and instead source it from the user config file.
This commit is contained in:
commit
9ec7bbb421
4 changed files with 157 additions and 508 deletions
|
@ -11,4 +11,4 @@ before_install:
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- sudo make install
|
- sudo make install
|
||||||
- time neofetch --test --ascii --config off --ascii_distro travis
|
- time neofetch --ascii --config off --ascii_distro travis -v --test
|
||||||
|
|
6
1.8.md
6
1.8.md
|
@ -32,6 +32,11 @@ bottom of the window. See [#279](https://github.com/dylanaraps/neofetch/pull/279
|
||||||
- Removed `line_wrap` as having it set to `on` broke the output.
|
- Removed `line_wrap` as having it set to `on` broke the output.
|
||||||
- Minor text fixes.
|
- Minor text fixes.
|
||||||
- Fix issue with incorrect text color when `barinfo` is set.
|
- Fix issue with incorrect text color when `barinfo` is set.
|
||||||
|
- Fixed various Travis.ci bugs.
|
||||||
|
- `-v` now shows where the config files were sourced from.
|
||||||
|
- Removed in-script config in favor of sourcing the default user config.
|
||||||
|
- Moved commands near the bottom of the script to a new function called `main`.
|
||||||
|
- Cleanup
|
||||||
|
|
||||||
|
|
||||||
### OS
|
### OS
|
||||||
|
@ -125,4 +130,5 @@ distro ascii files. See this wiki page that explains the syntax. [Link](https://
|
||||||
- Better `Ubuntu-GNOME` ascii art. **[@hashhar](https://github.com/hashhar)**
|
- Better `Ubuntu-GNOME` ascii art. **[@hashhar](https://github.com/hashhar)**
|
||||||
- Fix a color issue with Debian's ascii logo.
|
- Fix a color issue with Debian's ascii logo.
|
||||||
- Added `--ascii_distro mac` as a shorter way of using the OS X ascii.
|
- Added `--ascii_distro mac` as a shorter way of using the OS X ascii.
|
||||||
|
- Added missing `$ascii_distro` config option.
|
||||||
|
|
||||||
|
|
|
@ -345,6 +345,11 @@ xoffset=0
|
||||||
# --ascii 'distro', path/to/ascii
|
# --ascii 'distro', path/to/ascii
|
||||||
ascii="distro"
|
ascii="distro"
|
||||||
|
|
||||||
|
# Ascii distro
|
||||||
|
# Which distro's ascii art to display.
|
||||||
|
# --ascii_distro 'auto', 'distro_name'
|
||||||
|
ascii_distro="auto"
|
||||||
|
|
||||||
# Ascii colors
|
# Ascii colors
|
||||||
# When this is set to distro it will use your
|
# When this is set to distro it will use your
|
||||||
# ditro's colors to color the ascii.
|
# ditro's colors to color the ascii.
|
||||||
|
|
652
neofetch
652
neofetch
|
@ -16,420 +16,13 @@ XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-${HOME}/.config}"
|
||||||
export LC_ALL=C
|
export LC_ALL=C
|
||||||
export LANG=C
|
export LANG=C
|
||||||
|
|
||||||
|
# Set no case match.
|
||||||
# Config Options {{{
|
shopt -s nocasematch
|
||||||
|
|
||||||
|
|
||||||
# Info Options {{{
|
|
||||||
|
|
||||||
|
|
||||||
# Info
|
|
||||||
# See this wiki page for more info:
|
|
||||||
# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
|
|
||||||
printinfo () {
|
|
||||||
info title
|
|
||||||
info underline
|
|
||||||
|
|
||||||
info "OS" distro
|
|
||||||
info "Kernel" kernel
|
|
||||||
info "Uptime" uptime
|
|
||||||
info "Packages" packages
|
|
||||||
info "Shell" shell
|
|
||||||
info "Resolution" resolution
|
|
||||||
info "DE" de
|
|
||||||
info "WM" wm
|
|
||||||
info "WM Theme" wmtheme
|
|
||||||
info "Theme" theme
|
|
||||||
info "Icons" icons
|
|
||||||
info "Terminal" term
|
|
||||||
info "Terminal Font" termfont
|
|
||||||
info "CPU" cpu
|
|
||||||
info "GPU" gpu
|
|
||||||
info "Memory" memory
|
|
||||||
|
|
||||||
# info "CPU Usage" cpu_usage
|
|
||||||
# info "Disk" disk
|
|
||||||
# info "Battery" battery
|
|
||||||
# info "Font" font
|
|
||||||
# info "Song" song
|
|
||||||
# info "Local IP" localip
|
|
||||||
# info "Public IP" publicip
|
|
||||||
# info "Users" users
|
|
||||||
# info "Birthday" birthday
|
|
||||||
|
|
||||||
info linebreak
|
|
||||||
info cols
|
|
||||||
info linebreak
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Kernel
|
|
||||||
|
|
||||||
# Show more kernel info
|
|
||||||
# --kernel_shorthand on/off
|
|
||||||
kernel_shorthand="on"
|
|
||||||
|
|
||||||
|
|
||||||
# Distro
|
|
||||||
|
|
||||||
# Mac OS X hide/show build version
|
|
||||||
# --osx_buildversion on/off
|
|
||||||
osx_buildversion="on"
|
|
||||||
|
|
||||||
# Mac OS X hide/show codename
|
|
||||||
# --osx_codename on/off
|
|
||||||
osx_codename="on"
|
|
||||||
|
|
||||||
# Show 'x86_64' and 'x86' in 'Distro:' output.
|
|
||||||
# --os_arch on/off
|
|
||||||
os_arch="on"
|
|
||||||
|
|
||||||
|
|
||||||
# Uptime
|
|
||||||
|
|
||||||
# Shorten the output of the uptime function
|
|
||||||
# --uptime_shorthand tiny, on, off
|
|
||||||
uptime_shorthand="off"
|
|
||||||
|
|
||||||
|
|
||||||
# Shell
|
|
||||||
|
|
||||||
# Show the path to $SHELL
|
|
||||||
# --shell_path on/off
|
|
||||||
shell_path="on"
|
|
||||||
|
|
||||||
# Show $SHELL's version
|
|
||||||
# --shell_version on/off
|
|
||||||
shell_version="off"
|
|
||||||
|
|
||||||
|
|
||||||
# CPU
|
|
||||||
|
|
||||||
# CPU speed type
|
|
||||||
# Only works on Linux with cpufreq.
|
|
||||||
# --speed_type current, min, max, bios,
|
|
||||||
# scaling_current, scaling_min, scaling_max
|
|
||||||
speed_type="max"
|
|
||||||
|
|
||||||
# CPU Shorthand
|
|
||||||
# Set shorthand setting
|
|
||||||
# --cpu_shorthand name, speed, tiny, on, off
|
|
||||||
cpu_shorthand="off"
|
|
||||||
|
|
||||||
# CPU Cores
|
|
||||||
# Display CPU cores in output
|
|
||||||
# --cpu_cores on/off
|
|
||||||
cpu_cores="on"
|
|
||||||
|
|
||||||
# GPU
|
|
||||||
|
|
||||||
# Shorten output of the getgpu funcion
|
|
||||||
# --gpu_shorthand on/off/tiny
|
|
||||||
gpu_shorthand="on"
|
|
||||||
|
|
||||||
# Resolution
|
|
||||||
|
|
||||||
# Display refresh rate next to each monitor
|
|
||||||
# Unsupported on Windows
|
|
||||||
# --refresh_rate on/off
|
|
||||||
refresh_rate="off"
|
|
||||||
|
|
||||||
# Gtk Theme / Icons
|
|
||||||
|
|
||||||
# Shorten output (Hide [GTK2] etc)
|
|
||||||
# --gtk_shorthand on/off
|
|
||||||
gtk_shorthand="off"
|
|
||||||
|
|
||||||
|
|
||||||
# Enable/Disable gtk2 theme/icons output
|
|
||||||
# --gtk2 on/off
|
|
||||||
gtk2="on"
|
|
||||||
|
|
||||||
# Enable/Disable gtk3 theme/icons output
|
|
||||||
# --gtk3 on/off
|
|
||||||
gtk3="on"
|
|
||||||
|
|
||||||
|
|
||||||
# Battery
|
|
||||||
|
|
||||||
# Which battery to display.
|
|
||||||
# By default we display all batteries.
|
|
||||||
# NOTE: Only works on Linux.
|
|
||||||
# --battery_num all, 0, 1, 2, etc
|
|
||||||
battery_num="all"
|
|
||||||
|
|
||||||
# Whether or not to print each battery on the same line.
|
|
||||||
# By default each battery gets its own line and title.
|
|
||||||
# NOTE: Only works on Linux.
|
|
||||||
# --battery_shorthand on/off
|
|
||||||
battery_shorthand="off"
|
|
||||||
|
|
||||||
|
|
||||||
# IP Address
|
|
||||||
|
|
||||||
# Website to ping for the public IP
|
|
||||||
# --ip_host url
|
|
||||||
public_ip_host="http://ident.me"
|
|
||||||
|
|
||||||
|
|
||||||
# Song
|
|
||||||
|
|
||||||
# Print the Artist and Title on seperate lines
|
|
||||||
# --song_shorthand on/off
|
|
||||||
song_shorthand="off"
|
|
||||||
|
|
||||||
|
|
||||||
# Birthday
|
|
||||||
|
|
||||||
# Whether to show a long pretty output
|
|
||||||
# or a shortened one
|
|
||||||
# NOTE: Long pretty output doesn't work on OpenBSD or NetBSD.
|
|
||||||
# --birthday_shorthand on/off
|
|
||||||
birthday_shorthand="off"
|
|
||||||
|
|
||||||
# Whether to show the time in the output
|
|
||||||
# --birthday_time on/off
|
|
||||||
birthday_time="on"
|
|
||||||
|
|
||||||
# Date format to use when printing birthday
|
|
||||||
# --birthday_format "format"
|
|
||||||
birthday_format="%a %d %b %Y %l:%M %p"
|
|
||||||
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Text Colors {{{
|
|
||||||
|
|
||||||
|
|
||||||
# Text Colors
|
|
||||||
# Each number represents a different part of
|
|
||||||
# the text in this order:
|
|
||||||
# title, @, underline, subtitle, colon, info
|
|
||||||
# colors=(4 6 1 8 8 6)
|
|
||||||
# You can also specify:
|
|
||||||
# fg (foreground color)
|
|
||||||
colors=(distro)
|
|
||||||
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Text Options {{{
|
|
||||||
|
|
||||||
|
|
||||||
# Toggle bold text
|
|
||||||
# --bold on/off
|
|
||||||
bold="on"
|
|
||||||
|
|
||||||
# Enable/Disable Underline
|
|
||||||
# --underline on/off
|
|
||||||
underline_enabled="on"
|
|
||||||
|
|
||||||
# Underline character
|
|
||||||
# --underline_char char
|
|
||||||
underline_char="-"
|
|
||||||
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Color Blocks {{{
|
|
||||||
|
|
||||||
|
|
||||||
# Color block range
|
|
||||||
# --block_range start end
|
|
||||||
start=0
|
|
||||||
end=7
|
|
||||||
|
|
||||||
# Toggle color blocks
|
|
||||||
# --color_blocks on/off
|
|
||||||
color_blocks="on"
|
|
||||||
|
|
||||||
# Color block width in spaces
|
|
||||||
# --block_width num
|
|
||||||
block_width=2
|
|
||||||
|
|
||||||
# Color block height in lines
|
|
||||||
# --block_height num
|
|
||||||
block_height=1
|
|
||||||
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Progress Bars {{{
|
|
||||||
|
|
||||||
|
|
||||||
# Progress bar character
|
|
||||||
# --progress_char elapsed_char total_char
|
|
||||||
progress_char_elapsed="="
|
|
||||||
progress_char_total="-"
|
|
||||||
|
|
||||||
# Progress vorder
|
|
||||||
# --progress_border on/off
|
|
||||||
progress_border="on"
|
|
||||||
|
|
||||||
# Progress bar length in spaces
|
|
||||||
# Number of chars long to make the progress bars.
|
|
||||||
# --progress_length num
|
|
||||||
progress_length="15"
|
|
||||||
|
|
||||||
# Progress bar colors
|
|
||||||
# When set to distro, uses your distro's logo colors
|
|
||||||
# Takes: num, "distro"
|
|
||||||
# --progress_colors col col
|
|
||||||
progress_color_elapsed="distro"
|
|
||||||
progress_color_total="distro"
|
|
||||||
|
|
||||||
# Customize how the info is displayed.
|
|
||||||
# bar: Only the progress bar is displayed.
|
|
||||||
# infobar: The bar is displayed after the info.
|
|
||||||
# barinfo: The bar is displayed before the info.
|
|
||||||
# off: Only the info is displayed.
|
|
||||||
#
|
|
||||||
# --cpu_display bar/infobar/barinfo/off
|
|
||||||
# --memory_display bar/infobar/barinfo/off
|
|
||||||
# --battery_display bar/infobar/barinfo/off
|
|
||||||
# --disk_display bar/infobar/barinfo/off
|
|
||||||
cpu_display="off"
|
|
||||||
memory_display="off"
|
|
||||||
battery_display="off"
|
|
||||||
disk_display="off"
|
|
||||||
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Image Options {{{
|
|
||||||
|
|
||||||
|
|
||||||
# Image Source
|
|
||||||
# --image wall, ascii, /path/to/img, /path/to/dir/, off
|
|
||||||
image="wall"
|
|
||||||
|
|
||||||
# Thumbnail directory
|
|
||||||
thumbnail_dir="$HOME/.cache/thumbnails/neofetch"
|
|
||||||
|
|
||||||
# W3m-img path
|
|
||||||
# This is automatically detected, this variable
|
|
||||||
# should only be set to w3m-img's location if the
|
|
||||||
# builtin detection doesn't work.
|
|
||||||
w3m_img_path="/usr/lib/w3m/w3mimgdisplay"
|
|
||||||
|
|
||||||
# Crop mode
|
|
||||||
# --crop_mode normal/fit/fill
|
|
||||||
crop_mode="normal"
|
|
||||||
|
|
||||||
# Crop offset
|
|
||||||
# Only affects normal mode.
|
|
||||||
# --crop_offset northwest/north/northeast/west/center
|
|
||||||
# east/southwest/south/southeast
|
|
||||||
crop_offset="center"
|
|
||||||
|
|
||||||
# Image size
|
|
||||||
# The image is half the terminal width by default.
|
|
||||||
# --size auto, 00px, 00%, none
|
|
||||||
image_size="auto"
|
|
||||||
|
|
||||||
# Right gap between image and text
|
|
||||||
# --gap num
|
|
||||||
gap=2
|
|
||||||
|
|
||||||
# Image offsets
|
|
||||||
# --xoffset px
|
|
||||||
# --yoffset px
|
|
||||||
yoffset=0
|
|
||||||
xoffset=0
|
|
||||||
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Ascii Options {{{
|
|
||||||
|
|
||||||
|
|
||||||
# Default ascii image to use
|
|
||||||
# When this is set to distro it will use your
|
|
||||||
# distro's logo as the ascii.
|
|
||||||
# --ascii 'distro', path/to/ascii
|
|
||||||
ascii="distro"
|
|
||||||
|
|
||||||
# Ascii colors
|
|
||||||
# When this is set to distro it will use your
|
|
||||||
# ditro's colors to color the ascii.
|
|
||||||
# NOTE: You can also set this to a range of colors
|
|
||||||
# which will allow you to custom color distro logos
|
|
||||||
# --ascii_colors distro
|
|
||||||
# --ascii_colors 2 4 5 6
|
|
||||||
ascii_colors=(distro)
|
|
||||||
|
|
||||||
# Logo size
|
|
||||||
# Arch, Crux and Gentoo have a smaller logo
|
|
||||||
# variant. Changing the value below to 'small'
|
|
||||||
# will make neofetch use the small logo.
|
|
||||||
# --ascii_logo_size small, normal
|
|
||||||
ascii_logo_size="normal"
|
|
||||||
|
|
||||||
# Bold ascii logo
|
|
||||||
# Whether or not to bold the ascii logo.
|
|
||||||
# --ascii_bold on/off
|
|
||||||
ascii_bold="off"
|
|
||||||
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Scrot Options {{{
|
|
||||||
|
|
||||||
|
|
||||||
# Whether or not to always take a screenshot
|
|
||||||
# You can manually take a screenshot with "--scrot" or "-s"
|
|
||||||
scrot="off"
|
|
||||||
|
|
||||||
# Screenshot program to launch
|
|
||||||
# --scrot_cmd
|
|
||||||
scrot_cmd="scrot -c -d 3"
|
|
||||||
|
|
||||||
# Scrot dir
|
|
||||||
# Where to save the screenshots
|
|
||||||
# --scrot_dir /path/to/screenshot/folder
|
|
||||||
scrot_dir="$HOME/Pictures/"
|
|
||||||
|
|
||||||
# Scrot filename
|
|
||||||
# What to name the screenshots
|
|
||||||
# --scrot_name str
|
|
||||||
scrot_name="neofetch-$(date +%F-%T).png"
|
|
||||||
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Stdout options {{{
|
|
||||||
|
|
||||||
# Separator for stdout mode
|
|
||||||
# --stdout_separator string
|
|
||||||
stdout_separator=" "
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
# Config Options {{{
|
|
||||||
|
|
||||||
|
|
||||||
# Enable/Disable config file
|
|
||||||
# --config off, none
|
|
||||||
config="on"
|
|
||||||
|
|
||||||
# Path to custom config file location
|
|
||||||
# --config path/to/config
|
|
||||||
config_file="${XDG_CONFIG_HOME:-${HOME}/.config}/neofetch/config"
|
|
||||||
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
|
|
||||||
# Gather Info {{{
|
# Gather Info {{{
|
||||||
|
|
||||||
|
|
||||||
# Set no case match.
|
|
||||||
shopt -s nocasematch
|
|
||||||
|
|
||||||
|
|
||||||
# Operating System {{{
|
# Operating System {{{
|
||||||
|
|
||||||
case "$(uname)" in
|
case "$(uname)" in
|
||||||
|
@ -2887,9 +2480,20 @@ trim() {
|
||||||
# Other {{{
|
# Other {{{
|
||||||
|
|
||||||
|
|
||||||
|
# Error {{{
|
||||||
|
|
||||||
|
err () {
|
||||||
|
err+="$(color 1)[!]$(color fg) $1
|
||||||
|
"
|
||||||
|
}
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
|
||||||
# Get script directory {{{
|
# Get script directory {{{
|
||||||
|
|
||||||
getscriptdir () {
|
getscriptdir () {
|
||||||
|
[ "$script_dir" ] && return
|
||||||
|
|
||||||
# Use $0 to get the script's physical path.
|
# Use $0 to get the script's physical path.
|
||||||
cd "${0%/*}" || exit
|
cd "${0%/*}" || exit
|
||||||
script_dir="${0##*/}"
|
script_dir="${0##*/}"
|
||||||
|
@ -2907,13 +2511,36 @@ getscriptdir () {
|
||||||
|
|
||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
|
# Source default config {{{
|
||||||
|
|
||||||
|
getdefaultconfig () {
|
||||||
|
if [ -f "/usr/share/neofetch/config" ]; then
|
||||||
|
default_config="/usr/share/neofetch/config"
|
||||||
|
|
||||||
|
elif [ -f "/usr/local/share/neofetch/config" ]; then
|
||||||
|
default_config="/usr/local/share/neofetch/config"
|
||||||
|
|
||||||
|
else
|
||||||
|
getscriptdir
|
||||||
|
default_config="${script_dir}/config/config"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if source "$default_config"; then
|
||||||
|
err "Sourced default config ($default_config)"
|
||||||
|
else
|
||||||
|
err "Default config not found, continuing..."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
|
||||||
# Source Config {{{
|
# Source Config {{{
|
||||||
|
|
||||||
# Check for $config_file first
|
getuserconfig () {
|
||||||
getconfig () {
|
|
||||||
# Check $config_file
|
# Check $config_file
|
||||||
if [ -f "$config_file" ]; then
|
if [ -f "$config_file" ]; then
|
||||||
source "$config_file"
|
source "$config_file"
|
||||||
|
err "Sourced user config ($config_file)"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
mkdir -p "$XDG_CONFIG_HOME/neofetch/"
|
mkdir -p "$XDG_CONFIG_HOME/neofetch/"
|
||||||
|
@ -2921,22 +2548,25 @@ getconfig () {
|
||||||
# Check $XDG_CONFIG_HOME/neofetch and create the
|
# Check $XDG_CONFIG_HOME/neofetch and create the
|
||||||
# dir/files if they don't exist.
|
# dir/files if they don't exist.
|
||||||
if [ -f "$XDG_CONFIG_HOME/neofetch/config" ]; then
|
if [ -f "$XDG_CONFIG_HOME/neofetch/config" ]; then
|
||||||
source "$XDG_CONFIG_HOME/neofetch/config"
|
config_file="$XDG_CONFIG_HOME/neofetch/config"
|
||||||
|
|
||||||
elif [ -f "/usr/share/neofetch/config" ]; then
|
elif [ -f "/usr/share/neofetch/config" ]; then
|
||||||
cp "/usr/share/neofetch/config" "$XDG_CONFIG_HOME/neofetch"
|
cp "/usr/share/neofetch/config" "$XDG_CONFIG_HOME/neofetch"
|
||||||
source "$XDG_CONFIG_HOME/neofetch/config"
|
config_file="$XDG_CONFIG_HOME/neofetch/config"
|
||||||
|
|
||||||
elif [ -f "/usr/local/share/neofetch/config" ]; then
|
elif [ -f "/usr/local/share/neofetch/config" ]; then
|
||||||
cp "/usr/local/share/neofetch/config" "$XDG_CONFIG_HOME/neofetch"
|
cp "/usr/local/share/neofetch/config" "$XDG_CONFIG_HOME/neofetch"
|
||||||
source "$XDG_CONFIG_HOME/neofetch/config"
|
config_file="$XDG_CONFIG_HOME/neofetch/config"
|
||||||
|
|
||||||
else
|
else
|
||||||
getscriptdir
|
getscriptdir
|
||||||
|
|
||||||
cp "$script_dir/config/config" "$XDG_CONFIG_HOME/neofetch"
|
cp "$script_dir/config/config" "$XDG_CONFIG_HOME/neofetch"
|
||||||
source "$XDG_CONFIG_HOME/neofetch/config"
|
config_file="$XDG_CONFIG_HOME/neofetch/config"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
source "$config_file"
|
||||||
|
err "Sourced user config ($config_file)"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Check the commandline flags early for '--config none/off'
|
# Check the commandline flags early for '--config none/off'
|
||||||
|
@ -2946,7 +2576,10 @@ case "$@" in
|
||||||
config="off"
|
config="off"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
[ "$config" == "on" ] && getconfig 2>/dev/null
|
|
||||||
|
getdefaultconfig 2>/dev/null
|
||||||
|
[ "${config:-on}" == "on" ] && getuserconfig 2>/dev/null
|
||||||
|
|
||||||
|
|
||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
|
@ -3003,14 +2636,6 @@ kdeconfigdir () {
|
||||||
|
|
||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
# Error {{{
|
|
||||||
|
|
||||||
err () {
|
|
||||||
err+="$(color 1)[!]$(color fg) $1 \n"
|
|
||||||
}
|
|
||||||
|
|
||||||
# }}}
|
|
||||||
|
|
||||||
|
|
||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
|
@ -3299,17 +2924,17 @@ while [ "$1" ]; do
|
||||||
--config)
|
--config)
|
||||||
case "$2" in
|
case "$2" in
|
||||||
"none" | "off") config="off" ;;
|
"none" | "off") config="off" ;;
|
||||||
*) config_file="$2"; config="on"; getconfig 2>/dev/null ;;
|
*) config_file="$2"; config="on"; getuserconfig 2>/dev/null ;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
--test)
|
--test)
|
||||||
info=(title underline distro kernel uptime packages shell resolution de wm wmtheme theme icons cpu cpu_usage gpu memory font disk battery song localip publicip users birthday term termfont)
|
info=(title underline distro kernel uptime packages shell resolution de wm wmtheme theme icons cpu cpu_usage gpu memory font disk battery song localip publicip users birthday term termfont)
|
||||||
|
|
||||||
refresh_rate="on"
|
readonly refresh_rate="on"
|
||||||
shell_version="on"
|
readonly shell_version="on"
|
||||||
cpu_display="infobar"
|
readonly cpu_display="infobar"
|
||||||
memory_display="infobar"
|
readonly memory_display="infobar"
|
||||||
disk_display="infobar"
|
readonly disk_display="infobar"
|
||||||
|
|
||||||
printinfo () {
|
printinfo () {
|
||||||
if [ "$TRAVIS_OS_NAME" ]; then
|
if [ "$TRAVIS_OS_NAME" ]; then
|
||||||
|
@ -3326,6 +2951,10 @@ while [ "$1" ]; do
|
||||||
info linebreak
|
info linebreak
|
||||||
printf "%b%s" "\033[$(tput lines)H"
|
printf "%b%s" "\033[$(tput lines)H"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Set the test func to readonly so a config source
|
||||||
|
# doesn't overwrite it.
|
||||||
|
readonly -f printinfo
|
||||||
;;
|
;;
|
||||||
|
|
||||||
-v) verbose="on" ;;
|
-v) verbose="on" ;;
|
||||||
|
@ -3343,105 +2972,114 @@ done
|
||||||
|
|
||||||
# Call Functions and Finish Up {{{
|
# Call Functions and Finish Up {{{
|
||||||
|
|
||||||
|
main () {
|
||||||
|
# Restore cursor and clear screen on ctrl+c
|
||||||
|
trap 'printf "\033[?25h"; clear; exit' 2
|
||||||
|
|
||||||
# Restore cursor and clear screen on ctrl+c
|
# If the script exits for any reason, unhide the cursor.
|
||||||
trap 'printf "\033[?25h"; clear; exit' 2
|
trap 'printf "\033[?25h"' EXIT
|
||||||
|
|
||||||
# Distro detection
|
# Distro detection
|
||||||
getdistro
|
getdistro
|
||||||
[ -z "$ascii_distro" ] && ascii_distro="$(trim "$distro")"
|
case "${ascii_distro:-auto}" in
|
||||||
|
"auto") ascii_distro="$(trim "$distro")" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
# Get colors and bold
|
# Get colors and bold
|
||||||
bold
|
bold
|
||||||
colors
|
colors
|
||||||
|
|
||||||
# If the script exits for any reason, unhide the cursor.
|
# Clear the scren
|
||||||
trap 'printf "\033[?25h"' EXIT
|
clear
|
||||||
|
|
||||||
# Clear the scren
|
# Hide the cursor
|
||||||
clear
|
printf "\033[?25l"
|
||||||
|
|
||||||
# Hide the cursor
|
# Images {{{
|
||||||
printf "\033[?25l"
|
|
||||||
|
|
||||||
if [ "$image" != "off" ]; then
|
# Get the image src
|
||||||
# If iterm2 is detected use iterm2 backend.
|
if [ "$image" != "off" ]; then
|
||||||
if [ -n "$ITERM_PROFILE" ]; then
|
# Set the image backend
|
||||||
image_backend="iterm2"
|
if [ -n "$ITERM_PROFILE" ]; then
|
||||||
|
image_backend="iterm2"
|
||||||
|
|
||||||
elif [ "$(tycat 2>/dev/null)" ]; then
|
elif [ "$(tycat 2>/dev/null)" ]; then
|
||||||
image_backend="tycat"
|
image_backend="tycat"
|
||||||
|
|
||||||
else
|
else
|
||||||
image_backend="w3m"
|
image_backend="w3m"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Find w3mimgdisplay
|
||||||
|
[ "$image_backend" == "w3m" ] && \
|
||||||
|
[ "$image" != "ascii" ] && \
|
||||||
|
getw3m_img_path
|
||||||
|
|
||||||
|
# Get the image
|
||||||
|
getimage
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Find w3mimgdisplay
|
# Display the image if enabled
|
||||||
[ "$image_backend" == "w3m" ] && \
|
if [ "$image" != "off" ] && [ "$image" != "ascii" ]; then
|
||||||
[ "$image" != "ascii" ] && \
|
case "$image_backend" in
|
||||||
getw3m_img_path
|
"w3m")
|
||||||
|
printf "%b%s\n" "0;1;$xoffset;$yoffset;$width;$height;;;;;$img\n4;\n3;" |\
|
||||||
|
$w3m_img_path 2>/dev/null || padding="\033[0C"
|
||||||
|
;;
|
||||||
|
|
||||||
# Get the image
|
"iterm2")
|
||||||
getimage
|
printf "%b%s\a\n" "\033]1337;File=width=${width}px;height=${height}px;inline=1:$(base64 < "$img")"
|
||||||
fi
|
;;
|
||||||
|
|
||||||
# Display the image if enabled
|
"tycat")
|
||||||
if [ "$image" != "off" ] && [ "$image" != "ascii" ]; then
|
tycat "$img"
|
||||||
case "$image_backend" in
|
;;
|
||||||
"w3m")
|
esac
|
||||||
printf "%b%s\n" "0;1;$xoffset;$yoffset;$width;$height;;;;;$img\n4;\n3;" |\
|
fi
|
||||||
$w3m_img_path 2>/dev/null || padding="\033[0C"
|
|
||||||
;;
|
|
||||||
|
|
||||||
"iterm2")
|
# }}}
|
||||||
printf "%b%s\a\n" "\033]1337;File=width=${width}px;height=${height}px;inline=1:$(base64 < "$img")"
|
|
||||||
;;
|
|
||||||
|
|
||||||
"tycat")
|
# Disable line wrap
|
||||||
tycat "$img"
|
printf "\033[?7l"
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Disable line wrap
|
# Move cursor to the top
|
||||||
printf "\033[?7l"
|
[ "$image" != "off" ] && printf "\033[0H"
|
||||||
|
|
||||||
# Move cursor to the top
|
# Print the info
|
||||||
[ "$image" != "off" ] && printf "\033[0H"
|
printinfo
|
||||||
|
|
||||||
# Print the info
|
# Dynamic prompt location {{{
|
||||||
printinfo
|
|
||||||
|
|
||||||
# Dynamic prompt location {{{
|
# Get cursor position
|
||||||
|
info_height="$(stty -echo; IFS=';' read -rdR -t 1 -d c -p $'\033[6n\033[c' ROW COL; printf "%s" "${ROW#*[}"; stty echo)"
|
||||||
|
|
||||||
# Get cursor position
|
# Calculate image height in terminal cells.
|
||||||
info_height="$(stty -echo; IFS=';' read -rdR -t 1 -d c -p $'\033[6n\033[c' ROW COL; printf "%s" "${ROW#*[}"; stty echo)"
|
# The '+ 3' adds a gap between the prompt and the content.
|
||||||
|
[ "$image" != "ascii" ] && [ "$image" != "off" ] && \
|
||||||
|
lines="$((${height:-1} / ${font_height:-1} + 3))"
|
||||||
|
|
||||||
# Calculate image height in terminal cells.
|
# If the info is higher than the ascii/image place the prompt
|
||||||
# The '+ 3' adds a gap between the prompt and the content.
|
# based on the info height instead of the ascii/image height.
|
||||||
[ "$image" != "ascii" ] && [ "$image" != "off" ] && \
|
[ "${lines:-0}" -lt "${info_height:-0}" ] && lines="$info_height"
|
||||||
lines="$((${height:-1} / ${font_height:-1} + 3))"
|
|
||||||
|
|
||||||
# If the info is higher than the ascii/image place the prompt
|
# Set the prompt location
|
||||||
# based on the info height instead of the ascii/image height.
|
[ "$image" != "off" ] && printf "%b%s" "\033[${lines:-0}H"
|
||||||
[ "${lines:-0}" -lt "${info_height:-0}" ] && lines="$info_height"
|
|
||||||
|
|
||||||
# Set the prompt location
|
# }}}
|
||||||
[ "$image" != "off" ] && printf "%b%s" "\033[${lines:-0}H"
|
|
||||||
|
# Re-enable line wrap
|
||||||
# }}}
|
printf "%b%s" "\033[?7h"
|
||||||
|
|
||||||
# Re-enable line wrap
|
# If enabled take a screenshot
|
||||||
printf "%b%s" "\033[?7h"
|
[ "$scrot" == "on" ] && takescrot
|
||||||
|
|
||||||
# If enabled take a screenshot
|
# Show error messages
|
||||||
if [ "$scrot" == "on" ]; then
|
[ "$verbose" == "on" ] && printf "%s" "$err"
|
||||||
takescrot
|
|
||||||
fi
|
# Reset exit status of the tests above.
|
||||||
|
printf "%s"
|
||||||
# Show error messages
|
}
|
||||||
if [ "$verbose" == "on" ]; then
|
|
||||||
printf "%s" "$err"
|
main
|
||||||
fi
|
|
||||||
|
|
||||||
# }}}
|
# }}}
|
||||||
|
|
Loading…
Reference in a new issue