From e44365650242b9781d83be4934e5b9584fc4fd75 Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Fri, 11 Nov 2016 11:15:05 +1100 Subject: [PATCH 1/4] General: Swap to syntax folding --- neofetch | 313 ++++++++--------------------------------------------- neofetch.1 | 2 +- 2 files changed, 46 insertions(+), 269 deletions(-) diff --git a/neofetch b/neofetch index a5526f8e..a974c483 100755 --- a/neofetch +++ b/neofetch @@ -1,6 +1,6 @@ #!/usr/bin/env bash # set -x -# vim: fdm=marker:noai:ts=4:sw=4:expandtab +# vim: noai:ts=4:sw=4:expandtab # # Neofetch: Simple system information script. # https://github.com/dylanaraps/neofetch @@ -19,9 +19,7 @@ export LANG=C # Set no case match. shopt -s nocasematch -# Gather Info {{{ - -# Operating System {{{ +# DETECT INFORMATION get_os() { case "$(uname)" in @@ -36,10 +34,6 @@ get_os() { esac } -# }}} - -# Model {{{ - get_model() { case "$os" in "Linux") @@ -118,17 +112,13 @@ get_model() { esac } -# }}} - -# Distro {{{ - get_distro() { [[ "$distro" ]] && return case "$os" in "Linux" | "GNU") - if grep -q -F 'Microsoft' /proc/version >/dev/null || \ - grep -q -F 'Microsoft' /proc/sys/kernel/osrelease >/dev/null; then + if grep -q -F 'Microsoft' /proc/version || \ + grep -q -F 'Microsoft' /proc/sys/kernel/osrelease; then case "$distro_shorthand" in "on") distro="$(lsb_release -sir) [Windows 10]" ;; "tiny") distro="Windows 10" ;; @@ -264,18 +254,10 @@ get_distro() { ascii_distro="$(trim "$distro")" } -# }}} - -# Title {{{ - get_title() { title="${USER:-$(whoami || printf "%s" "${HOME/*\/}")}@${HOSTNAME:-$(hostname)}" } -# }}} - -# Kernel {{{ - get_kernel() { case "$kernel_shorthand" in "on") kernel_flags="-r" ;; @@ -293,10 +275,6 @@ get_kernel() { fi } -# }}} - -# Uptime {{{ - get_uptime() { # Since Haiku's uptime cannot be fetched in seconds, a case outside # the usual case is needed @@ -376,10 +354,6 @@ get_uptime() { esac } -# }}} - -# Package Count {{{ - get_packages() { case "$os" in "Linux" | "iPhone OS" | "Solaris" | "GNU") @@ -476,10 +450,6 @@ get_packages() { (("$packages" == "0")) && unset packages } -# }}} - -# Shell {{{ - get_shell() { case "$shell_path" in "on") shell="$SHELL" ;; @@ -519,9 +489,6 @@ get_shell() { fi } -# }}} - -# Desktop Environment {{{ get_de() { case "$os" in "Mac OS X") de="Aqua" ;; @@ -552,10 +519,6 @@ get_de() { fi } -# }}} - -# Window Manager {{{ - get_wm() { if [[ -n "$DISPLAY" && "$os" != "Mac OS X" ]]; then id="$(xprop -root -notype | awk '$1=="_NET_SUPPORTING_WM_CHECK:"{print $5}')" @@ -581,10 +544,6 @@ get_wm() { fi } -# }}} - -# Window Manager Theme {{{ - get_wm_theme() { [[ -z "$wm" ]] && get_wm [[ -z "$de" ]] && get_de @@ -704,10 +663,6 @@ get_wm_theme() { (("$version" >= 4)) && wm_theme="${wm_theme^}" } -# }}} - -# CPU {{{ - get_cpu() { # NetBSD emulates the linux /proc filesystem instead of using sysctl for hw # information so we have to use this block below which temporarily sets the @@ -897,10 +852,6 @@ get_cpu() { esac } -# }}} - -# CPU Usage {{{ - get_cpu_usage() { case "$os" in "Windows") @@ -934,10 +885,6 @@ get_cpu_usage() { esac } -# }}} - -# GPU {{{ - get_gpu() { case "$os" in "Linux" | "GNU") @@ -1058,10 +1005,6 @@ get_gpu() { fi } -# }}} - -# Memory {{{ - get_memory() { case "$os" in "Linux" | "Windows" | "GNU") @@ -1128,10 +1071,6 @@ get_memory() { esac } -# }}} - -# Song {{{ - get_song() { # This is absurdly long. player="$(ps x | awk '!(/awk|Helper|Cache/) && /mpd|cmus|mocp|spotify|Google Play|iTunes.app|rhythmbox|banshee|amarok|deadbeef|audacious/ {printf $5 " " $6; exit}')" @@ -1246,10 +1185,6 @@ get_song() { fi } -# }}} - -# Resolution {{{ - get_resolution() { case "$os" in "Linux" | "BSD" | "Solaris" | "GNU") @@ -1309,10 +1244,6 @@ get_resolution() { resolution="${resolution%,*}" } -# }}} - -# Theme/Icons/Font {{{ - get_style() { # Fix weird output when the function # is run multiple times. @@ -1484,10 +1415,6 @@ get_font() { font="$theme" } -# }}} - -# Terminal Emulator {{{ - get_term() { # Check $PPID for terminal emulator. case "$os" in @@ -1532,10 +1459,6 @@ get_term() { esac } -# }}} - -# Terminal Emulator Font {{{ - get_term_font() { [[ -z "$term" ]] && get_term @@ -1587,10 +1510,6 @@ get_term_font() { (("$version" >= 4)) && term_font="${term_font^}" } -# }}} - -# Disk Usage {{{ - get_disk() { # df flags case "$os" in @@ -1652,10 +1571,6 @@ get_disk() { esac } -# }}} - -# Battery Usage {{{ - get_battery() { case "$os" in "Linux") @@ -1737,10 +1652,6 @@ get_battery() { esac } -# }}} - -# IP Address {{{ - get_local_ip() { case "$os" in "Linux") @@ -1781,19 +1692,11 @@ get_public_ip() { fi } -# }}} - -# Logged In Users {{{ - get_users() { users="$(who | awk '!seen[$1]++ {printf $1 ", "}')" users="${users%\,*}" } -# }}} - -# Birthday {{{ - get_birthday() { case "$os" in "Linux" | "GNU" | "iPhone OS") @@ -1863,10 +1766,6 @@ get_birthday() { birthday="${birthday/??:??*}" } -# }}} - -# Terminal colors {{{ - get_cols() { if [[ "$color_blocks" == "on" ]]; then # Convert the width to space chars. @@ -1896,13 +1795,7 @@ get_cols() { fi } -# }}} - -# }}} - -# Images {{{ - -# Wallpaper {{{ +# IMAGES get_wallpaper() { case "$os" in @@ -1956,10 +1849,6 @@ get_wallpaper() { [[ -z "$img" ]] && err "Image: Wallpaper detection failed, falling back to ascii mode." } -# }}} - -# Ascii {{{ - get_ascii() { if [[ ! -f "$ascii" || "$ascii" == "distro" ]]; then # Error message @@ -2032,10 +1921,6 @@ get_ascii() { export LC_ALL=C } -# }}} - -# Image {{{ - get_image() { # Fallback to ascii mode if imagemagick isn't installed. type -p convert >/dev/null 2>&1 || image="ascii" @@ -2236,11 +2121,6 @@ get_image() { img="$thumbnail_dir/$imgname" } -# }}} - -# Find w3m-img {{{ - -# Find w3mimgdisplay automatically get_w3m_img_path() { if [[ -x "$w3m_img_path" ]]; then return @@ -2263,10 +2143,6 @@ get_w3m_img_path() { fi } -# }}} - -# Display image {{{ - display_image() { if [[ "$image" != "ascii" ]]; then case "$image_backend" in @@ -2289,10 +2165,6 @@ display_image() { fi } -# }}} - -# Get image backend {{{ - get_image_backend() { if [[ -n "$ITERM_PROFILE" ]]; then image_backend="iterm2" @@ -2305,19 +2177,13 @@ get_image_backend() { fi } -# }}} - -# Screenshot {{{ +# SCREENSHOT take_scrot() { $scrot_cmd "${scrot_dir}${scrot_name}" [[ "$scrot_upload" == "on" ]] && scrot_upload } -# }}} - -# Screenshot Upload {{{ - scrot_upload() { if ! type -p curl >/dev/null 2>&1; then printf "%s\n" "[!] Install curl to upload images" @@ -2343,13 +2209,18 @@ scrot_upload() { printf "%s\n" "${image_url:-'[!] Image failed to upload'}" } -# }}} +scrot_args() { + scrot="on" + case "$2" in + "-"* | "") ;; + *) + scrot_name="${2##*/}" + scrot_dir="${2/$scrot_name}" + ;; + esac +} -# }}} - -# Text Formatting {{{ - -# Info {{{ +# TEXT FORMATTING info() { # $1 is the subtitle @@ -2404,10 +2275,6 @@ info() { fi } -# }}} - -# Prin {{{ - prin() { string="${1//$'\033[0m'}${2:+: $2}" @@ -2439,10 +2306,6 @@ prin() { prin=1 } -# }}} - -# Underline {{{ - get_underline() { if [[ "$underline_enabled" == "on" ]]; then underline="$(printf %"$length"s)" @@ -2450,10 +2313,6 @@ get_underline() { fi } -# }}} - -# Colors {{{ - colors() { # Reset colors/bold reset="\033[0m" @@ -2688,10 +2547,6 @@ color() { esac } -# }}} - -# Bold {{{ - bold() { case "$ascii_bold" in "on") ascii_bold="\033[1m" ;; @@ -2704,10 +2559,6 @@ bold() { esac } -# }}} - -# Linebreak {{{ - get_line_break() { line_break="​ " @@ -2715,42 +2566,29 @@ get_line_break() { info_height="$((info_height+=1))" } -# }}} - -# Trim whitespace {{{ - -# When a string is passed to 'echo' all trailing and leading -# whitespace is removed and inside the string multiple spaces are -# condensed into single spaces. -# -# The 'set -f/+f' is here so that 'echo' doesn't cause any expansion -# of special characters. -# -# The whitespace trim doesn't work with multiline strings so we use -# '${1//[[:space:]]/ }' to remove newlines beofre we trim the whitespace. trim() { + # When a string is passed to 'echo' all trailing and leading + # whitespace is removed and inside the string multiple spaces are + # condensed into single spaces. + # + # The 'set -f/+f' is here so that 'echo' doesn't cause any expansion + # of special characters. + # + # The whitespace trim doesn't work with multiline strings so we use + # '${1//[[:space:]]/ }' to remove newlines beofre we trim the whitespace. + set -f builtin echo -E ${1//[[:space:]]/ } set +f } -# }}} - -# }}} - -# Other {{{ - -# Error {{{ +# OTHER err() { err+="$(color 1)[!]\033[0m $1 " } -# }}} - -# Check for old flags {{{ - check_old_flags() { [[ -n "$osx_buildversion" ]] && err "Config: \$osx_buildversion is deprecated, use \$distro_shorthand instead." [[ -n "$osx_codename" ]] && err "Config: \$osx_codename is deprecated, use \$distro_shorthand instead." @@ -2758,10 +2596,6 @@ check_old_flags() { [[ "$cpu_cores" == "on" ]] && err "Config: \$cpu_cores='on' is deprecated, use \$cpu_cores='logical|physical|off' instead." } -# }}} - -# Get script directory {{{ - get_script_dir() { [[ "$script_dir" ]] && return @@ -2780,10 +2614,6 @@ get_script_dir() { script_dir="$(pwd -P)" } -# }}} - -# Source default config {{{ - get_default_config() { if [[ -f "/usr/share/neofetch/config" ]]; then default_config="/usr/share/neofetch/config" @@ -2807,10 +2637,6 @@ get_default_config() { fi } -# }}} - -# Source config {{{ - get_user_config() { # Check $config_file if [[ -f "$config_file" ]]; then @@ -2849,10 +2675,6 @@ get_user_config() { err "Config: Sourced user config ($config_file)" } -# }}} - -# Progress bars {{{ - bar() { # Get the values elapsed="$(($1 * progress_length / $2))" @@ -2874,19 +2696,11 @@ bar() { printf "%b\n" "${bar}${info_color}" } -# }}} - -# Cache {{{ - cache() { mkdir -p "$3/neofetch" echo "${1/*-}=\"$2\"" > "$3/neofetch/${1/*-}" } -# }}} - -# KDE config directory {{{ - kde_config_dir() { if [[ "$kde_config_dir" ]]; then return @@ -2905,20 +2719,18 @@ kde_config_dir() { fi } -# }}} - -# Terminal info {{{ -# -# Parse terminal config files to get -# info about padding. Due to how w3m-img -# works padding around the terminal throws -# off the cursor placement calculation in -# specific terminals. -# -# Note: This issue only seems to affect -# URxvt. - get_term_padding() { + # Terminal info + # + # Parse terminal config files to get + # info about padding. Due to how w3m-img + # works padding around the terminal throws + # off the cursor placement calculation in + # specific terminals. + # + # Note: This issue only seems to affect + # URxvt. + [[ -z "$term" ]] && get_term case "$term" in @@ -2929,10 +2741,6 @@ get_term_padding() { esac } -# }}} - -# Dynamic prompt location {{{ - dynamic_prompt() { # Calculate image height in terminal cells. if [[ "$image" != "ascii" ]]; then @@ -2960,29 +2768,12 @@ dynamic_prompt() { printf "\n\n\n\n" } -# }}} - -# Scrot args {{{ - -scrot_args() { - scrot="on" - case "$2" in - "-"* | "") ;; - *) - scrot_name="${2##*/}" - scrot_dir="${2/$scrot_name}" - ;; - esac -} - -# }}} - -# Deprecated functions {{{ -# Neofetch 2.0 changed the names of a few variables. -# This function adds backwards compatibility for the -# old variable names. - old_functions() { + # Deprecated functions + # Neofetch 2.0 changed the names of a few variables. + # This function adds backwards compatibility for the + # old variable names. + if type printinfo >/dev/null 2>&1; then print_info() { printinfo ; } get_wmtheme() { get_wm_theme; wmtheme="$wm_theme"; } @@ -2993,11 +2784,7 @@ old_functions() { fi } -# }}} - -# }}} - -# Usage {{{ +# FINISH uP usage() { printf "%s" " NEOFETCH @@ -3123,10 +2910,6 @@ usage() { printf "%s" " exit 1 } -# }}} - -# Args {{{ - get_args() { # Check the commandline flags early for '--config none/off' case "$@" in @@ -3295,10 +3078,6 @@ get_args() { done } -# }}} - -# Call Functions and Finish Up {{{ - main() { get_os get_default_config 2>/dev/null @@ -3367,5 +3146,3 @@ main() { } main "$@" - -# }}} diff --git a/neofetch.1 b/neofetch.1 index cbbb5377..403a3d46 100644 --- a/neofetch.1 +++ b/neofetch.1 @@ -1,4 +1,4 @@ -.TH NEOFETCH "1" "November 2016" "1.9.1" "User Commands" +.TH NEOFETCH "1" "November 2016" "2.0" "User Commands" .SH NAME neofetch \- simple system information script From 7a6e1d101ecc7791f81c4dde24fd264484ac4aba Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Fri, 11 Nov 2016 11:49:01 +1100 Subject: [PATCH 2/4] General: Remove fold markers from configs --- config/config | 64 +++++++++++++++++++++------------------------------ config/travis | 1 - neofetch | 28 +++++++++++----------- 3 files changed, 39 insertions(+), 54 deletions(-) diff --git a/config/config b/config/config index 689ff744..5ff6caee 100644 --- a/config/config +++ b/config/config @@ -1,5 +1,4 @@ #!/usr/bin/env bash -# vim:fdm=marker # # Neofetch config file # https://github.com/dylanaraps/neofetch @@ -8,10 +7,7 @@ export LC_ALL=C export LANG=C -# Info Options {{{ - -# Info # See this wiki page for more info: # https://github.com/dylanaraps/neofetch/wiki/Customizing-Info print_info() { @@ -54,15 +50,18 @@ print_info() { # Kernel -# Show more kernel info + +# Shorten the output of the kernel function # --kernel_shorthand on, off kernel_shorthand="on" # Distro -# Shorten the output of distro (tiny, on, off) + +# Shorten the output of the distro function # NOTE: This is only possible on Linux, macOS, and Solaris +# --distro_shorthand on, off, tiny distro_shorthand="off" # Show 'x86_64' and 'x86' in 'Distro:' output. @@ -72,6 +71,7 @@ os_arch="on" # Uptime + # Shorten the output of the uptime function # --uptime_shorthand tiny, on, off uptime_shorthand="off" @@ -79,25 +79,26 @@ uptime_shorthand="off" # Shell + # Show the path to $SHELL # --shell_path on, off shell_path="off" -# Show $SHELL's version +# Show $SHELL version # --shell_version on, off shell_version="on" # 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 +# Shorten the output of the CPU function # --cpu_shorthand name, speed, tiny, on, off cpu_shorthand="off" @@ -115,19 +116,20 @@ cpu_speed="on" # Display CPU cores in output # Logical: All virtual cores # Physical: All physical cores -# --cpu_cores logical, physical, off # Note: 'physical' doesn't work on BSD. +# --cpu_cores logical, physical, off cpu_cores="logical" # CPU Temperature # Hide/Show CPU temperature. -# --cpu_temp on, off # Note: Only works on Linux. +# --cpu_temp on, off cpu_temp="off" # GPU + # Enable/Disable GPU Brand # --gpu_brand on, off gpu_brand="on" @@ -135,6 +137,7 @@ gpu_brand="on" # Resolution + # Display refresh rate next to each monitor # Unsupported on Windows # --refresh_rate on, off @@ -143,6 +146,7 @@ refresh_rate="off" # Gtk Theme / Icons + # Shorten output (Hide [GTK2] etc) # --gtk_shorthand on, off gtk_shorthand="off" @@ -159,6 +163,7 @@ gtk3="on" # IP Address + # Website to ping for the public IP # --ip_host url public_ip_host="http://ident.me" @@ -166,6 +171,7 @@ public_ip_host="http://ident.me" # Song + # Print the Artist and Title on seperate lines # --song_shorthand on, off song_shorthand="off" @@ -173,6 +179,7 @@ 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. @@ -188,9 +195,7 @@ birthday_time="on" birthday_format="+%a %d %b %Y %l:%M %p" -# }}} - -# Text Colors {{{ +# Text Colors # Text Colors @@ -203,9 +208,7 @@ birthday_format="+%a %d %b %Y %l:%M %p" colors=(distro) -# }}} - -# Text Options {{{ +# Text Options # Toggle bold text @@ -221,9 +224,7 @@ underline_enabled="on" underline_char="-" -# }}} - -# Color Blocks {{{ +# Color Blocks # Color block range @@ -244,9 +245,7 @@ block_width=3 block_height=1 -# }}} - -# Progress Bars {{{ +# Progress Bars # Progress bar character @@ -284,9 +283,7 @@ battery_display="off" disk_display="off" -# }}} - -# Image Options {{{ +# Image Options # Image Source @@ -345,9 +342,7 @@ xoffset=0 background_color= -# }}} - -# Ascii Options {{{ +# Ascii Options # Default ascii image to use @@ -383,9 +378,7 @@ ascii_logo_size="normal" ascii_bold="on" -# }}} - -# Scrot Options {{{ +# Scrot Options # Whether or not to always take a screenshot @@ -417,9 +410,7 @@ image_host="imgur" imgur_client_id="0e8b44d15e9fc95" -# }}} - -# Config Options {{{ +# Config Options # Enable/Disable config file @@ -429,6 +420,3 @@ config="on" # Path to custom config file location # --config path/to/config config_file="${XDG_CONFIG_HOME:-${HOME}/.config}/neofetch/config" - - -# }}} diff --git a/config/travis b/config/travis index afc1e5b8..cf3c30da 100644 --- a/config/travis +++ b/config/travis @@ -1,5 +1,4 @@ #!/usr/bin/env bash -# vim:fdm=marker # # Neofetch config file for travis.ci # https://github.com/dylanaraps/neofetch diff --git a/neofetch b/neofetch index a974c483..618b9f86 100755 --- a/neofetch +++ b/neofetch @@ -2143,6 +2143,18 @@ get_w3m_img_path() { fi } +get_image_backend() { + if [[ -n "$ITERM_PROFILE" ]]; then + image_backend="iterm2" + + elif [[ "$(tycat 2>/dev/null)" ]]; then + image_backend="tycat" + + else + image_backend="w3m" + fi +} + display_image() { if [[ "$image" != "ascii" ]]; then case "$image_backend" in @@ -2165,18 +2177,6 @@ display_image() { fi } -get_image_backend() { - if [[ -n "$ITERM_PROFILE" ]]; then - image_backend="iterm2" - - elif [[ "$(tycat 2>/dev/null)" ]]; then - image_backend="tycat" - - else - image_backend="w3m" - fi -} - # SCREENSHOT take_scrot() { @@ -2730,7 +2730,6 @@ get_term_padding() { # # Note: This issue only seems to affect # URxvt. - [[ -z "$term" ]] && get_term case "$term" in @@ -2773,7 +2772,6 @@ old_functions() { # Neofetch 2.0 changed the names of a few variables. # This function adds backwards compatibility for the # old variable names. - if type printinfo >/dev/null 2>&1; then print_info() { printinfo ; } get_wmtheme() { get_wm_theme; wmtheme="$wm_theme"; } @@ -2784,7 +2782,7 @@ old_functions() { fi } -# FINISH uP +# FINISH UP usage() { printf "%s" " NEOFETCH From 17406f24f54184016fc9489d8bf697ce4e4306f8 Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Fri, 11 Nov 2016 15:42:11 +1100 Subject: [PATCH 3/4] Shell: Simplify bash version --- neofetch | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/neofetch b/neofetch index a5526f8e..e81fced3 100755 --- a/neofetch +++ b/neofetch @@ -490,9 +490,7 @@ get_shell() { shell+=" " case "${SHELL##*/}" in "bash") - shell+="$(bash --version)" - shell="${shell/ *, version}" - shell="${shell/$'\n'*}" + shell+=" ${BASH_VERSION/-*}" ;; "zsh") From 05a24a2dcc63508691dfc747a27508216cdaa3bd Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Fri, 11 Nov 2016 15:56:53 +1100 Subject: [PATCH 4/4] Changelog --- Changelog.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Changelog.md b/Changelog.md index 281dc2c1..4626944b 100644 --- a/Changelog.md +++ b/Changelog.md @@ -14,6 +14,8 @@ - Removed all traces of `eval` from neofetch. - All functions/variables now follow the same naming scheme. `example_func_name` - Convert math tests to correct syntax. +- Removed all vim fold markers and stopped enforcing folding for vim users. + - See [#431](https://github.com/dylanaraps/neofetch/pull/431) ## Operating System @@ -61,3 +63,7 @@ **CPU Usage**
- [iOS] Fixed CPU usage. + +**Shell**
+ +- [bash] Simplify bash version.