diff --git a/CHANGELOG.md b/CHANGELOG.md index e9652019..2195b801 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,2 +1,21 @@ ## Contributors +- **[@MatthewCox](https://github.com/MatthewCox)** + + +## Images + +- [w3m] Added `--loop` flag which makes Neofetch draw the image once per second. + - This is a workaround to the images disappearing on resize and workspace switch. + - Use Ctrl+C to exit. + + +## Info + +**Terminal Emulator** + +- [Termite] Fix font mismatch. **[@MatthewCox](https://github.com/MatthewCox)** + +**GPU** + +- [Linux] Fixed GPU sort. diff --git a/config/config b/config/config index 4e419715..a1555503 100644 --- a/config/config +++ b/config/config @@ -540,6 +540,7 @@ disk_display="off" # Backend Settings + # Image backend. # # Default: 'ascii' @@ -602,6 +603,15 @@ ascii_bold="on" # Image Options +# Image loop +# Setting this to on will make neofetch redraw the image constantly until +# Ctrl+C is pressed. This fixes display issues in some terminal emulators. +# +# Default: 'off' +# Values: 'on', 'off' +# Flag: --loop +image_loop="off" + # Thumbnail directory # # Default: '~/.cache/thumbnails/neofetch' diff --git a/neofetch b/neofetch index 323ce35a..415d7c89 100755 --- a/neofetch +++ b/neofetch @@ -1071,7 +1071,7 @@ get_gpu() { "Linux") # Read GPUs into array. IFS=$'\n' - gpus=($(lspci -mm | awk -F '\\"|\\" \\"' '!a[$0]++ && /"Display|"3D|"VGA/ {print $3 " " $4}')) + gpus=($(lspci -mm | awk -F '\\"|\\" \\"' '/"Display|"3D|"VGA/ {print $3 " " $4}' | sort -u)) IFS="$old_ifs" # Number the GPUs if more than one exists. @@ -1756,7 +1756,7 @@ get_term_font() { "termite") [[ -f "${XDG_CONFIG_HOME}/termite/config" ]] && termite_config="${XDG_CONFIG_HOME}/termite/config" - term_font="$(awk -F '= ' '/\[options\]/ {opt=1} /^font/ {if(opt==1) a=$2; opt=0} END{print a}' "/etc/xdg/termite/config" "$termite_config")" + term_font="$(awk -F '= ' '/\[options\]/ {opt=1} /^\s*font/ {if(opt==1) a=$2; opt=0} END{print a}' "/etc/xdg/termite/config" "$termite_config")" ;; "urxvt" | "urxvtd" | "rxvt-unicode" | "xterm") @@ -3967,6 +3967,7 @@ ASCII: Possible values: bar, infobar, barinfo, off IMAGE: + --loop Redraw the image constantly until Ctrl+C is used. This fixes issues in some terminals emulators when using image mode. --size 00px | --size 00% How to size the image. Possible values: auto, 00px, 00%, none --crop_mode mode Which crop mode to use @@ -4151,6 +4152,7 @@ get_args() { ;; # Image options + "--loop") image_loop="on" ;; "--image_size" | "--size") image_size="$2" ;; "--crop_mode") crop_mode="$2" ;; "--crop_offset") crop_offset="$2" ;; @@ -4255,6 +4257,9 @@ main() { # Show error messages. [[ "$verbose" == "on" ]] && printf "%b" "$err" >&2 + # If `--loop` was used, constantly redraw the image. + while [[ "$image_loop" == "on" && "$image_backend" == "w3m" ]]; do display_image; sleep 1s; done + return 0 } diff --git a/neofetch.1 b/neofetch.1 index 583a171f..a465054e 100644 --- a/neofetch.1 +++ b/neofetch.1 @@ -247,6 +247,9 @@ Hide the info text and only show the ascii logo. Possible values: bar, infobar, barinfo, off .SS "IMAGE:" .TP +\fB\-\-loop\fR +Redraw the image constantly until Ctrl+C is used. This fixes issues in some terminals emulators when using image mode. +.TP \fB\-\-size\fR 00px | \fB\-\-size\fR 00% How to size the image. Possible values: auto, 00px, 00%, none