diff --git a/Changelog.md b/Changelog.md
index 561598b2..130ed372 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -3,6 +3,7 @@
- **[@konimex](https://github.com/konimex)**
- **[@iandrewt](https://github.com/iandrewt)**
- **[@coypoop](https://github.com/coypoop)**
+- **[@ncmprhnsbl](https://github.com/ncmprhnsbl)**
@@ -12,12 +13,14 @@
- Change all `OS X` references to `macOS`. **[@iandrewt](https://github.com/iandrewt)**
- Fix corrupted text when long lines are cut-off.
- Don't dynamically place prompt in `image=off` mode.
+- Cursor Position: Fix issues when using URxvt+Padding
## Operating System
- Added support for Bitrig. **[@konimex](https://github.com/konimex)**
- Added support for Sparky Linux.
+- Added support for Porteus. **[@ncmprhnsbl](https://github.com/ncmprhnsbl)**
## Packages
@@ -65,6 +68,7 @@ Note: `\033[14t` is still supported, if images already work for you then you don
- Bold ascii art by default.
- Fixed incorrect prompt location when using `ascii_logo_size small`.
+- Update Void Linux ascii art. **[@ncmprhnsbl](https://github.com/ncmprhnsbl)**
## Info
@@ -74,6 +78,12 @@ Note: `\033[14t` is still supported, if images already work for you then you don
- Expanded `distro_shorthand` to macOS and Solaris. **[@konimex](https://github.com/konimex)**
- Removed `osx_buildversion` and `osx_codename` in favour of `distro_shorthand`. **[@konimex](https://github.com/konimex)**
+**Desktop Environment**
+
+- [Windows] Added support for showing DE.
+ - Windows 8 and above: `Modern UI/Metro`
+ - Windows 7 and below: `Aero`
+
**Window Manager**
- [Windows] Added support for custom WMs/Shells.
@@ -86,10 +96,21 @@ Note: `\033[14t` is still supported, if images already work for you then you don
**CPU**
+- Added `cpu_speed` which lets you hide/show the speed in the output.
- Expanded `cpu_cores` option by adding two new values, `logical` and `physical`.
- `logical`: Show all virtual cores (hyperthreaded).
- `physical`: Only show physical cores.
+- [Linux] Added support for showing CPU temperature.
+ - Added new option called `cpu_temp`.
+ - Note: This is disabled by default and can be enabled by changing the value of `cpu_temp` in your config to `on`.
- [macOS] Print physical cores instead of hyper-threaded cores. **[@iandrewt](https://github.com/iandrewt)**
+- [iOS] Rewrite CPU function.
+
+**GPU**
+
+- [iOS] Rewrite GPU function.
+- [Linux] Rewrite GPU function.
+ - Neofetch also caches the info until reboot.
**Uptime**
@@ -102,6 +123,7 @@ Note: `\033[14t` is still supported, if images already work for you then you don
**Memory**
+- [Linux] Correctly calculate used memory.
- [NetBSD] Fix memory output for sizes over 4GB. **[@coypoop](https://github.com/coypoop)**
**Shell**
@@ -109,6 +131,12 @@ Note: `\033[14t` is still supported, if images already work for you then you don
- Hide shell path by default.
- Show shell version by default.
+**Battery**
+
+- [Linux] Rewrote and simplified battery function.
+- Removed `battery_shorthand`
+- Removed `battery_num`
+
**Theme Font**
- [XFCE] Fixed incorrect font output.
@@ -128,3 +156,5 @@ Note: `\033[14t` is still supported, if images already work for you then you don
**Song**
- [macOS] Fix iTunes automatically opening. **[@iandrewt](https://github.com/iandrewt)**
+- Added support for Audacious. **[@ncmprhnsbl](https://github.com/ncmprhnsbl)**
+- Rewrote song function, it's now much faster/cleaner.
diff --git a/README.md b/README.md
index e6b53b45..35bbec6e 100644
--- a/README.md
+++ b/README.md
@@ -434,22 +434,22 @@ alias neofetch2="neofetch \
--cpu_cores type Whether or not to display the number of CPU cores
Takes: logical, physical, off
Note: 'physical' doesn't work on BSD.
+ --cpu_speed on/off Hide/Show cpu speed.
+ --cpu_temp on/off Hide/Show cpu temperature.
+ NOTE This only works on linux.
--distro_shorthand on/off Shorten the output of distro (tiny, on, off)
NOTE: This is only possible on Linux, macOS, and Solaris
--kernel_shorthand on/off Shorten the output of kernel
--uptime_shorthand on/off Shorten the output of uptime (tiny, on, off)
--refresh_rate on/off Whether to display the refresh rate of each monitor
Unsupported on Windows
- --gpu_shorthand on/off Shorten the output of GPU (tiny, on, off)
--gpu_brand on/off Enable/Disable GPU brand in output. (AMD/NVIDIA/Intel)
--gtk_shorthand on/off Shorten output of gtk theme/icons
--gtk2 on/off Enable/Disable gtk2 theme/icons output
--gtk3 on/off Enable/Disable gtk3 theme/icons output
--shell_path on/off Enable/Disable showing \$SHELL path
--shell_version on/off Enable/Disable showing \$SHELL version
- --battery_num num Which battery to display, default value is 'all'
- --battery_shorthand on/off Whether or not each battery gets its own line/title
- --ip_host url Url to ping for public IP
+ --ip_host url Url to query for public IP
--song_shorthand on/off Print the Artist/Title on seperate lines
--birthday_shorthand on/off Shorten the output of birthday
--birthday_time on/off Enable/Disable showing the time in birthday output
diff --git a/ascii/distro/porteus b/ascii/distro/porteus
new file mode 100644
index 00000000..cd521b70
--- /dev/null
+++ b/ascii/distro/porteus
@@ -0,0 +1,25 @@
+"\
+${c1} \`.-:::-.\`
+ -+ydmNNNNNNNmdy+-
+ .+dNmdhs+//////+shdmdo.
+ .smmy+-\` ./sdy:
+ \`omdo. \`.-/+osssso+/-\` \`+dy.
+ \`yms. \`:shmNmdhsoo++osyyo-\`\`oh.
+ hm/ .odNmds/.\` \`\`.....:::-+s
+/m: \`+dNmy:\` \`./oyhhhhyyooo++so
+ys \`yNmy- .+hmmho:-.\` \`\`\`
+s: yNm+\` .smNd+.
+\`\` /Nm: +dNd+\`
+ yN+ \`smNy.
+ dm oNNy\`
+ hy -mNm.
+ +y oNNo
+ \`y\` sNN:
+ \`: +NN:
+ \` .mNo
+ /mm\`
+ /my\`
+ .sy\`
+ .+:
+ \`
+"
diff --git a/ascii/distro/opensuse b/ascii/distro/suse
similarity index 100%
rename from ascii/distro/opensuse
rename to ascii/distro/suse
diff --git a/ascii/distro/void b/ascii/distro/void
index 7e7dba62..92d53126 100644
--- a/ascii/distro/void
+++ b/ascii/distro/void
@@ -6,11 +6,11 @@ ${c1} __.;=====;.__
_vi, \` --+=++++:
.uvnvi. _._ -==+==+.
.vvnvnI\` .;==|==;. :|=||=|.
-${c2}+QmQQmpvvnv; ${c2}_yYsyQQWUUQQQm #QmQ#${c1}:${c2}QQQWUV\$QQmL
-${c2} -QQWQWpvvo${c2}wZ?.wQQQE${c1}==<${c2}QWWQ/QWQW.QQWW${c1}(: ${c2}jQWQE
+${c2}+QmQQm${c1}pvvnv; ${c2}_yYsyQQWUUQQQm #QmQ#${c1}:${c2}QQQWUV\$QQmL
+${c2} -QQWQW${c1}pvvo${c2}wZ?.wQQQE${c1}==<${c2}QWWQ/QWQW.QQWW${c1}(: ${c2}jQWQE
${c2} -\$QQQQmmU' jQQQ@${c1}+=<${c2}QWQQ)mQQQ.mQQQC${c1}+;${c2}jWQQ@'
-${c2} -\$WQ8YnI: ${c2}QWQQwgQQWV${c1}\`${c2}mWQQ.jQWQQgyyWW@!
- -1vvnvv. ${c1}\`~+++\` ++|+++
+${c2} -\$WQ8Y${c1}nI: ${c2}QWQQwgQQWV${c1}\`${c2}mWQQ.jQWQQgyyWW@!
+${c1} -1vvnvv. \`~+++\` ++|+++
+vnvnnv, \`-|===
+vnvnvns. . :=-
-Invnvvnsi..___..=sv=. \`
@@ -18,3 +18,4 @@ ${c2} -\$WQ8YnI: ${c2}QWQQwgQQWV${c1}\`${c2}mWQQ.jQWQQgyyWW@!
~|Invnvnvvnvvvnnv}+\`
-~\|{*l}*|\\~
"
+
diff --git a/config/config b/config/config
index 18b52af9..15b98e72 100644
--- a/config/config
+++ b/config/config
@@ -14,7 +14,7 @@ export LANG=C
# Info
# See this wiki page for more info:
# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
-printinfo () {
+printinfo() {
info title
info underline
@@ -55,7 +55,7 @@ printinfo () {
# Kernel
# Show more kernel info
-# --kernel_shorthand on/off
+# --kernel_shorthand on, off
kernel_shorthand="on"
@@ -66,7 +66,7 @@ kernel_shorthand="on"
distro_shorthand="off"
# Show 'x86_64' and 'x86' in 'Distro:' output.
-# --os_arch on/off
+# --os_arch on, off
os_arch="on"
@@ -80,11 +80,11 @@ uptime_shorthand="off"
# Shell
# Show the path to $SHELL
-# --shell_path on/off
+# --shell_path on, off
shell_path="off"
# Show $SHELL's version
-# --shell_version on/off
+# --shell_version on, off
shell_version="on"
@@ -106,6 +106,11 @@ cpu_shorthand="off"
# --cpu_display bar, infobar, barinfo, off
cpu_display="off"
+# CPU Speed
+# Hide/Show CPU speed.
+# --cpu_speed on, off
+cpu_speed="on"
+
# CPU Cores
# Display CPU cores in output
# Logical: All virtual cores
@@ -114,56 +119,44 @@ cpu_display="off"
# Note: 'physical' doesn't work on BSD.
cpu_cores="logical"
+# CPU Temperature
+# Hide/Show CPU temperature.
+# --cpu_temp on, off
+# Note: Only works on Linux.
+cpu_temp="off"
+
# GPU
-# Shorten output of the getgpu funcion
-# --gpu_shorthand on/off/tiny
-gpu_shorthand="on"
-
# Enable/Disable GPU Brand
-# --gpu_brand on/off
+# --gpu_brand on, off
gpu_brand="on"
+
# Resolution
# Display refresh rate next to each monitor
# Unsupported on Windows
-# --refresh_rate on/off
+# --refresh_rate on, off
refresh_rate="off"
# Gtk Theme / Icons
# Shorten output (Hide [GTK2] etc)
-# --gtk_shorthand on/off
+# --gtk_shorthand on, off
gtk_shorthand="off"
# Enable/Disable gtk2 theme/icons output
-# --gtk2 on/off
+# --gtk2 on, off
gtk2="on"
# Enable/Disable gtk3 theme/icons output
-# --gtk3 on/off
+# --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
@@ -174,7 +167,7 @@ public_ip_host="http://ident.me"
# Song
# Print the Artist and Title on seperate lines
-# --song_shorthand on/off
+# --song_shorthand on, off
song_shorthand="off"
@@ -183,11 +176,11 @@ song_shorthand="off"
# 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 on, off
birthday_shorthand="off"
# Whether to show the time in the output
-# --birthday_time on/off
+# --birthday_time on, off
birthday_time="on"
# Date format to use when printing birthday
@@ -216,11 +209,11 @@ colors=(distro)
# Toggle bold text
-# --bold on/off
+# --bold on, off
bold="on"
# Enable/Disable Underline
-# --underline on/off
+# --underline on, off
underline_enabled="on"
# Underline character
@@ -239,7 +232,7 @@ start=0
end=7
# Toggle color blocks
-# --color_blocks on/off
+# --color_blocks on, off
color_blocks="on"
# Color block width in spaces
@@ -262,7 +255,7 @@ progress_char_elapsed="-"
progress_char_total="="
# Progress border
-# --progress_border on/off
+# --progress_border on, off
progress_border="on"
# Progress bar length in spaces
@@ -283,9 +276,9 @@ progress_color_total="distro"
# barinfo: The bar is displayed before the info.
# off: Only the info is displayed.
#
-# --memory_display bar/infobar/barinfo/off
-# --battery_display bar/infobar/barinfo/off
-# --disk_display bar/infobar/barinfo/off
+# --memory_display bar, infobar, barinfo, off
+# --battery_display bar, infobar, barinfo, off
+# --disk_display bar, infobar, barinfo, off
memory_display="off"
battery_display="off"
disk_display="off"
@@ -308,19 +301,14 @@ thumbnail_dir="$HOME/.cache/thumbnails/neofetch"
# Some systems have this in another location
w3m_img_path="/usr/lib/w3m/w3mimgdisplay"
-# Image position
-# Only works with the w3m backend.
-# --image_position left/right
-image_position="left"
-
# Crop mode
-# --crop_mode normal/fit/fill
+# --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 northwest, north, northeast, west, center
+# east, southwest, south, southeast
crop_offset="center"
# Image size
@@ -380,7 +368,7 @@ ascii_logo_size="normal"
# Bold ascii logo
# Whether or not to bold the ascii logo.
-# --ascii_bold on/off
+# --ascii_bold on, off
ascii_bold="on"
diff --git a/neofetch b/neofetch
index 01052b32..fb4e1ac7 100755
--- a/neofetch
+++ b/neofetch
@@ -46,7 +46,8 @@ getmodel() {
elif [ -f /sys/devices/virtual/dmi/id/product_name ] ||\
[ -f /sys/devices/virtual/dmi/id/product_version ]; then
- model="$(cat /sys/devices/virtual/dmi/id/product_{name,version} 2>/dev/null)"
+ model="$(< /sys/devices/virtual/dmi/id/product_name)"
+ model+=" $(< /sys/devices/virtual/dmi/id/product_version)"
model="${model/To Be Filled*}"
elif [ -f /sys/firmware/devicetree/base/model ]; then
@@ -133,10 +134,11 @@ getdistro() {
elif type -p lsb_release >/dev/null 2>&1; then
case "$distro_shorthand" in
- "on") distro="$(lsb_release -sir 2>/dev/null)" ;;
- "tiny") distro="$(lsb_release -si 2>/dev/null)" ;;
- *) distro="$(lsb_release -sd 2>/dev/null)" ;;
+ "on") lsb_flags="-sir" ;;
+ "tiny") lsb_flags="-si" ;;
+ *) lsb_flags="-sd" ;;
esac
+ distro="$(lsb_release $lsb_flags 2>/dev/null)"
elif type -p guix >/dev/null 2>&1; then
distro="GuixSD"
@@ -239,6 +241,7 @@ getdistro() {
"on" | "tiny") distro="$(awk 'NR==1{print $1 " " $2;}' /etc/release)" ;;
*) distro="$(awk 'NR==1{print $1 " " $2 " " $3;}' /etc/release)" ;;
esac
+ distro="${distro/\(*}"
;;
esac
@@ -349,7 +352,7 @@ getuptime() {
getpackages() {
case "$os" in
- "Linux" | "iPhone OS")
+ "Linux" | "iPhone OS" | "Solaris")
type -p pacman >/dev/null 2>&1 && \
packages="$(pacman -Qq --color never | wc -l)"
@@ -371,8 +374,10 @@ getpackages() {
type -p pisi >/dev/null 2>&1 && \
packages="$((packages+=$(pisi list-installed | wc -l)))"
- type -p pkg >/dev/null 2>&1 && \
+ if type -p pkg >/dev/null 2>&1; then
packages="$((packages+=$(ls -1 /var/db/pkg | wc -l)))"
+ [ "$packages" == "0" ] && packages="$((packages+=$(pkg list | wc -l)))"
+ fi
type -p emerge >/dev/null 2>&1 && \
packages="$((packages+=$(ls -d /var/db/pkg/*/* | wc -l)))"
@@ -432,10 +437,6 @@ getpackages() {
[ -d "/cygdrive/c/ProgramData/chocolatey/lib" ] && \
packages="$((packages+=$(ls -1 /cygdrive/c/ProgramData/chocolatey/lib | wc -l)))"
;;
-
- "Solaris")
- packages="$(pkg list | wc -l)"
- ;;
esac
[ "$packages" == "0" ] && unset packages
@@ -489,6 +490,13 @@ getshell() {
getde() {
case "$os" in
"Mac OS X") de="Aqua" ;;
+ "Windows")
+ case "$distro" in
+ "Windows 8"* | "Windows 10"*) de="Modern UI/Metro" ;;
+ *) de="Aero" ;;
+ esac
+ ;;
+
*)
de="${XDG_CURRENT_DESKTOP/i3}"
de="${de/'X-'}"
@@ -531,12 +539,7 @@ getwm() {
"Windows")
wm="$(tasklist | grep -m 1 -o "bugn\|Windawesome\|blackbox\|emerge\|litestep")"
[ "$wm" == "blackbox" ] && wm="bbLean (Blackbox)"
-
- if [ "$wm" ]; then
- wm="$wm, Explorer"
- else
- wm="Explorer"
- fi
+ wm="${wm:+$wm, }Explorer"
;;
esac
fi
@@ -690,10 +693,11 @@ getcpu() {
"Android"*) cpu="$(getprop ro.product.board)" ;;
*) cpu="$(awk -F ': | @' '/model name|Processor/ {printf $2; exit}' /proc/cpuinfo)" ;;
esac
- cpu_dir="/sys/devices/system/cpu/cpu0/cpufreq"
+ speed_dir="/sys/devices/system/cpu/cpu0/cpufreq"
+ temp_dir="/sys/class/hwmon/hwmon0/temp1_input"
# Get cpu speed
- if [ -d "$cpu_dir" ]; then
+ if [ -d "$speed_dir" ]; then
case "$speed_type" in
current) speed_type="scaling_cur_freq" ;;
min) speed_type="scaling_min_freq" ;;
@@ -705,8 +709,8 @@ getcpu() {
esac
# Fallback to cpuinfo_max_freq if $speed_type fails
- read -t 1 -r speed < "${cpu_dir}/${speed_type}" || \
- read -t 1 -r speed < "${cpu_dir}/cpuinfo_max_freq"
+ speed="$(< "${speed_dir}/${speed_type}")" || \
+ speed="$(< "${speed_dir}/cpuinfo_max_freq")"
speed="$((speed / 100000))"
else
@@ -714,6 +718,13 @@ getcpu() {
speed="$((speed / 100))"
fi
+ # Get cpu temp
+ if [ "$cpu_temp" == "on" ] && [ -f "$temp_dir" ]; then
+ temp="$(< "$temp_dir")"
+ temp="$((temp * 100 / 10000))"
+ temp="[${temp/${temp: -1}}.${temp: -1}°C]"
+ fi
+
# Show/hide hyperthreaded cores
case "$cpu_cores" in
"logical" | "on") cores="$(grep -c ^processor /proc/cpuinfo)" ;;
@@ -727,7 +738,7 @@ getcpu() {
speed="${speed:0:1}.${speed:1}"
fi
- cpu="$cpu @ ${speed}GHz"
+ cpu="$cpu @ ${speed}GHz $temp"
;;
"Mac OS X")
@@ -742,110 +753,27 @@ getcpu() {
"iPhone OS")
case "${ios_model:-$(uname -m)}" in
- "iPhone1,1" | "iPhone1,2" | "iPod1,1")
- cpu="Samsung S5L8900 @ 412MHz"
- cores="1"
- ;;
-
- "iPhone2,1")
- cpu="Samsung S5PC100 @ 600MHz"
- cores="1"
- ;;
-
- "iPhone3,1" | "iPhone3,2" | "iPhone3,3" | "iPod4,1")
- cpu="Apple A4 @ 800MHz"
- cores="1"
- ;;
-
- "iPhone4,1" | "iPod5,1")
- cpu="Apple A5 @ 800MHz"
- cores="2"
- ;;
-
- "iPhone5,1" | "iPhone5,2" | "iPhone5,3" | "iPhone5,4")
- cpu="Apple A6 @ 1.3GHz"
- cores="2"
- ;;
-
- "iPhone6,1" | "iPhone6,2")
- cpu="Apple A7 @ 1.3GHz"
- cores="2"
- ;;
-
- "iPhone7,1" | "iPhone7,2")
- cpu="Apple A8 @ 1.4GHz"
- cores="2"
- ;;
-
- "iPhone8,1" | "iPhone8,2" | "iPhone8,4")
- cpu="Apple A9 @ 1.85GHz"
- cores="2"
- ;;
-
- "iPod2,1")
- cpu="Samsung S5L8720 @ 533MHz"
- cores="1"
- ;;
-
- "iPod3,1")
- cpu="Samsung S5L8922 @ 600MHz"
- cores="1"
- ;;
-
- "iPod7,1")
- cpu="Apple A8 @ 1.1GHz"
- cores="2"
- ;;
-
- "iPad1,1")
- cpu="Apple A4 @ 1GHz"
- cores="1"
- ;;
-
- "iPad2,1" | "iPad2,2" | "iPad2,3" | "iPad2,4" | "iPad2,5" | "iPad2,6" | "iPad2,7")
- cpu="Apple A5 @ 1GHz"
- cores="2"
- ;;
-
- "iPad3,1" | "iPad3,2" | "iPad3,3")
- cpu="Apple A5X @ 1GHz"
- cores="2"
- ;;
-
- "iPad3,4" | "iPad3,5" | "iPad3,6")
- cpu="Apple A6X @ 1.4GHz"
- cores="2"
- ;;
-
- "iPad4,1" | "iPad4,2" | "iPad4,3")
- cpu="Apple A7 @ 1.4GHz"
- cores="2"
- ;;
-
- "iPad4,4" | "iPad4,5" | "iPad4,6" | "iPad4,7" | "iPad4,8" | "iPad4,9")
- cpu="Apple A7 @ 1.4GHz"
- cores="2"
- ;;
-
- "iPad5,1" | "iPad5,2")
- cpu="Apple A8 @ 1.5GHz"
- cores="2"
- ;;
-
- "iPad5,3" | "iPad5,4")
- cpu="Apple A8X @ 1.5GHz"
- cores="3"
- ;;
-
- "iPad6,3" | "iPad6,4")
- cpu="Apple A9X @ 2.16GHz"
- cores="2"
- ;;
-
- "iPad6,7" | "iPad6,8")
- cpu="Apple A9X @ 2.26GHz"
- cores="2"
- ;;
+ "iPhone1,"[1-2] | "iPod1,1") cpu="Samsung S5L8900 (1) @ 412MHz" ;;
+ "iPhone2,1") cpu="Samsung S5PC100 (1) @ 600MHz" ;;
+ "iPhone3,"[1-3] | "iPod4,1") cpu="Apple A4 (1) @ 800MHz" ;;
+ "iPhone4,1" | "iPod5,1") cpu="Apple A5 (2) @ 800MHz" ;;
+ "iPhone5,"[1-4]) cpu="Apple A6 (2) @ 1.3GHz" ;;
+ "iPhone6,"[1-2]) cpu="Apple A7 (2) @ 1.3GHz" ;;
+ "iPhone7,"[1-2]) cpu="Apple A8 (2) @ 1.4GHz" ;;
+ "iPhone8,"[1-4]) cpu="Apple A9 (2) @ 1.85GHz" ;;
+ "iPod2,1") cpu="Samsung S5L8720 (1) @ 533MHz" ;;
+ "iPod3,1") cpu="Samsung S5L8922 (1) @ 600MHz" ;;
+ "iPod7,1") cpu="Apple A8 (2) @ 1.1GHz" ;;
+ "iPad1,1") cpu="Apple A4 (1) @ 1GHz" ;;
+ "iPad2,"[1-7]) cpu="Apple A5 (2) @ 1GHz" ;;
+ "iPad3,"[1-3]) cpu="Apple A5X (2) @ 1GHz" ;;
+ "iPad3,"[4-6]) cpu="Apple A6X (2) @ 1.4GHz" ;;
+ "iPad4,"[1-3]) cpu="Apple A7 (2) @ 1.4GHz" ;;
+ "iPad4,"[4-9]) cpu="Apple A7 (2) @ 1.4GHz" ;;
+ "iPad5,"[1-2]) cpu="Apple A8 (2) @ 1.5GHz" ;;
+ "iPad5,"[3-4]) cpu="Apple A8X (3) @ 1.5GHz" ;;
+ "iPad6,"[3-4]) cpu="Apple A9X (2) @ 2.16GHz" ;;
+ "iPad6,"[7-8]) cpu="Apple A9X (2) @ 2.26GHz" ;;
esac
;;
@@ -918,6 +846,10 @@ getcpu() {
[ "$cpu_cores" != "off" ] && [ "$cores" ] && \
cpu="${cpu/@/(${cores}) @}"
+ # Remove speed from output
+ [ "$cpu_speed" == "off" ] && \
+ cpu="${cpu/@ *GHz}"
+
# Make the output of cpu shorter
case "$cpu_shorthand" in
"name") cpu="${cpu/@*}" ;;
@@ -979,67 +911,36 @@ getcpu_usage() {
getgpu() {
case "$os" in
"Linux")
- gpu="$(PATH="/sbin:$PATH" lspci | grep -F "3D")"
-
- # If a GPU with a prefix of '3D' doesn't exist
- # fallback to looking for a prefix of 'VGA'
- [ -z "$gpu" ] && \
- gpu="$(PATH="/sbin:$PATH" lspci | grep -F "VGA")"
-
- gpu="${gpu//??':'??'.'?}"
-
- # Count the number of GPUs
- count="$(printf "%s" "$gpu" | uniq -c)"
- count="${count/ VGA*}"
- count="${count/ 3D*}"
-
- # If there's more than one gpu
- # Display the count.
- if [ "$count" -gt 1 ]; then
- count=" x $count"
+ # Use cache if it exists
+ if [ -f "/tmp/neofetch/gpu" ]; then
+ source "/tmp/neofetch/gpu"
else
- unset count
+ gpu="$(PATH="/sbin:$PATH" lspci -mm | awk -F '\\"|\\" \\"' '/3D|VGA/ {print $3 " " $4}')"
+
+ case "$gpu" in
+ intel*) gpu="Intel Integrated Graphics" ;;
+
+ advanced*)
+ gpu="${gpu/'[AMD/ATI]' }"
+ gpu="${gpu/'[AMD]' }"
+ gpu="${gpu/*\[}"
+ gpu="${gpu/\]*}"
+ gpu="${gpu/\/*}"
+ gpu="AMD $gpu"
+ ;;
+
+ nvidia*)
+ gpu="${gpu/*\[}"
+ gpu="${gpu/\]*}"
+ gpu="NVIDIA $gpu"
+ ;;
+
+ *virtualbox*)
+ gpu="VirtualBox Graphics Adapter"
+ ;;
+ esac
+ cache "gpu" "$gpu" "/tmp"
fi
-
- # Format the output
- gpu="${gpu/* VGA compatible controller: }"
- gpu="${gpu/* 3D controller: }"
- gpu="${gpu/(rev*)}"
-
- case "$gpu" in
- intel*)
- gpu="Intel Integrated Graphics"
- ;;
-
- advanced*)
- gpu="${gpu/Advanced Micro Devices, Inc\. }"
- gpu="${gpu/'[AMD/ATI]' }"
- gpu="${gpu/Tahiti PRO}"
- gpu="${gpu/XTX}"
- gpu="${gpu/ OEM}"
- gpu="${gpu/ \[}"
- gpu="${gpu/\]}"
- gpu="${gpu/*Radeon/Radeon}"
-
- brand="AMD "
- ;;
-
- nvidia*)
- gpu="${gpu/NVIDIA Corporation }"
- gpu="${gpu/G????M }"
- gpu="${gpu/G???? }"
- gpu="${gpu/\[}"
- gpu="${gpu/\] }"
-
- brand="NVIDIA "
- ;;
-
- *virtualbox*)
- gpu="VirtualBox Graphics Adapter"
- ;;
- esac
-
- gpu="${brand}${gpu}"
;;
"Mac OS X")
@@ -1055,55 +956,34 @@ getgpu() {
;;
"iPhone OS")
- ios_model="${ios_model:-"$(uname -m)"}"
- case "$ios_model" in
- "iPhone1,1" | "iPhone1,2")
- gpu="PowerVR MBX Lite 3D"
- ;;
+ case "${ios_model:-"$(uname -m)"}" in
+ "iPhone1,"[1-2]) gpu="PowerVR MBX Lite 3D" ;;
+ "iPhone5,"[1-4]) gpu="PowerVR SGX543MP3" ;;
+ "iPhone8,"[1-4]) gpu="PowerVR GT7600" ;;
+ "iPad3,"[1-3]) gpu="PowerVR SGX534MP4" ;;
+ "iPad3,"[4-6]) gpu="PowerVR SGX554MP4" ;;
+ "iPad5,"[3-4]) gpu="PowerVR GXA6850" ;;
+ "iPad6,"[3-8]) gpu="PowerVR 7XT" ;;
- "iPhone2,1" | "iPhone3,1" | "iPhone3,2" | "iPhone3,3" | "iPod3,1" | "iPod4,1" | "iPad1,1")
+ "iPhone2,1" | "iPhone3,"[1-3] | "iPod3,1" | "iPod4,1" | "iPad1,1")
gpu="PowerVR SGX535"
;;
- "iPhone4,1" | "iPad2,1" | "iPad2,2" | "iPad2,3" | "iPad2,4" | "iPad2,5" | "iPad2,6" | "iPad2,7" | "iPod5,1")
+ "iPhone4,1" | "iPad2,"[1-7] | "iPod5,1")
gpu="PowerVR SGX543MP2"
;;
- "iPhone5,1" | "iPhone5,2" | "iPhone5,3" | "iPhone5,4")
- gpu="PowerVR SGX543MP3"
- ;;
-
- "iPhone6,1" | "iPhone6,2" | "iPad4,1" | "iPad4,2" | "iPad4,3" | "iPad4,4" | "iPad4,5" | "iPad4,6" | "iPad4,7" | "iPad4,8" | "iPad4,9")
+ "iPhone6,"[1-2] | "iPad4,"[1-9])
gpu="PowerVR G6430"
;;
- "iPhone7,1" | "iPhone7,2" | "iPod7,1" | "iPad5,1" | "iPad5,2")
+ "iPhone7,"[1-2] | "iPod7,1" | "iPad5,"[1-2])
gpu="PowerVR GX6450"
;;
- "iPhone8,1" | "iPhone8,2" | "iPhone8,4")
- gpu="PowerVR GT7600"
- ;;
-
"iPod1,1" | "iPod2,1")
gpu="PowerVR MBX Lite"
;;
-
- "iPad3,1" | "iPad3,2" | "iPad3,3")
- gpu="PowerVR SGX534MP4"
- ;;
-
- "iPad3,4" | "iPad3,5" | "iPad3,6")
- gpu="PowerVR SGX554MP4"
- ;;
-
- "iPad5,3" | "iPad5,4")
- gpu="PowerVR GXA6850"
- ;;
-
- "iPad6,3" | "iPad6,4" | "iPad6,7" | "iPad6,8")
- gpu="PowerVR 7XT"
- ;;
esac
;;
@@ -1128,35 +1008,11 @@ getgpu() {
;;
esac
- case "$gpu_shorthand" in
- "on" | "tiny")
- gpu="${gpu// Rev\. ?}"
- gpu="${gpu//AMD*\/ATI\]/AMD}"
- gpu="${gpu// Tahiti}"
- gpu="${gpu// PRO}"
- gpu="${gpu// OEM}"
- gpu="${gpu// Mars}"
- gpu="${gpu// Series}"
- gpu="${gpu// Controller}"
- gpu="${gpu/\/*}"
-
- case "$gpu_shorthand" in
- "tiny")
- gpu="${gpu/Graphics }"
- gpu="${gpu/GeForce }"
- gpu="${gpu/Radeon }"
- ;;
- esac
- ;;
- esac
-
if [ "$gpu_brand" == "off" ]; then
gpu="${gpu/AMD}"
gpu="${gpu/NVIDIA}"
gpu="${gpu/Intel}"
fi
-
- gpu="${gpu}${count}"
}
# }}}
@@ -1166,16 +1022,18 @@ getgpu() {
getmemory() {
case "$os" in
"Linux" | "Windows")
- if grep -F "MemAvail" /proc/meminfo >/dev/null 2>&1; then
- mem=($(awk -F ':| kB' '/MemTotal|MemAvail/ {printf $2}' /proc/meminfo))
- memused="$((mem[0] - mem[1]))"
- else
- mem=($(awk -F ':| kB' '/MemTotal|MemFree|Buffers|Cached/ {printf $2}' /proc/meminfo) 0 0)
- memused="$((mem[0] - mem[1] - mem[2] - mem[3]))"
- fi
+ # MemUsed = Memtotal + Shmem - MemFree - Buffers - Cached - SReclaimable
+ # Source: https://github.com/KittyKatt/screenFetch/issues/386#issuecomment-249312716
+ while IFS=":" read -r a b; do
+ case "$a" in
+ "MemTotal") memused="$((memused+=${b/kB}))"; memtotal="${b/kB}" ;;
+ "Shmem") memused="$((memused+=${b/kB}))" ;;
+ "MemFree" | "Buffers" | "Cached" | "SReclaimable") memused="$((memused-=${b/kB}))" ;;
+ esac
+ done < /proc/meminfo
memused="$((memused / 1024))"
- memtotal="$((mem[0] / 1024))"
+ memtotal="$((memtotal / 1024))"
;;
"Mac OS X" | "iPhone OS")
@@ -1220,77 +1078,93 @@ getmemory() {
# Song {{{
getsong() {
- if mpc version >/dev/null 2>&1; then
- song="$(mpc current 2>/dev/null)"
- state="$(mpc | awk -F '\\[|\\]' '/\[/ {printf $2}' 2>/dev/null)"
+ # 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}')"
- elif [ -n "$(ps x | awk '!(/awk/) && /cmus/')" ]; then
- IFS=$'\n'
- song=("$(cmus-remote -Q | grep "tag artist \|title \|status" 2>/dev/null | sort)")
- artist="${song[1]/tag artist }"
- title="${song[2]/tag title }"
- state="${song[0]/status }"
+ case "${player/*\/}" in
+ "mpd"*)
+ song="$(mpc current 2>/dev/null)"
+ state="$(mpc | awk -F '\\[|\\]' '/\[/ {printf $2}' 2>/dev/null)"
+ ;;
- song="$artist - $title"
+ "cmus"*)
+ IFS=$'\n'
+ song=($(cmus-remote -Q | grep "tag artist \|tag title \|status" 2>/dev/null | sort))
+ state="${song[0]/status }"
+ artist="${song[1]/tag artist }"
+ title="${song[2]/tag title }"
+ song="${artist/tag title } - ${title/tag artist }"
+ ;;
- elif pgrep "mocp" >/dev/null 2>&1; then
- song="$(mocp -Q "%artist - %song" 2>/dev/null)"
- state="$(mocp -Q "%state" 2>/dev/null)"
+ "mocp"*)
+ song="$(mocp -Q "%artist - %song" 2>/dev/null)"
+ state="$(mocp -Q "%state" 2>/dev/null)"
+ ;;
- elif [ -n "$(ps x | awk '!(/awk/) && /spotify/')" ]; then
- case "$os" in
- "Linux")
- # This command is way too long
- song="$(\
- dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 \
- org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'Metadata' |\
- awk -F 'string "' '/string|array/ {printf "%s",$2; next}{print ""}' |\
- awk -F '"' '/artist|title/ {printf $2 " - "}'
- )"
- song="${song% - }"
- song="${song/'('*}"
- song="${song//'['*}"
- ;;
+ "spotify"*)
+ case "$os" in
+ "Linux")
+ # Thanks dbus
+ song="$(\
+ dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 \
+ org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'Metadata' |\
+ awk -F 'string "' '/string|array/ {printf "%s",$2; next}{print ""}' |\
+ awk -F '"' '/artist|title/ {printf $2 " - "}'
+ )"
+ song="${song% - }"
+ song="${song/'('*}"
+ song="${song//'['*}"
+ ;;
- "Mac OS X")
- song="$(osascript -e 'tell application "Spotify" to artist of current track as string & " - " & name of current track as string')"
- state="$(osascript -e 'tell application "Spotify" to player state as string')"
- ;;
- esac
+ "Mac OS X")
+ song="$(osascript -e 'tell application "Spotify" to artist of current track as string & " - " & name of current track as string')"
+ state="$(osascript -e 'tell application "Spotify" to player state as string')"
+ ;;
+ esac
+ ;;
- elif [ -n "$(ps x | awk '!(/awk/ || /Helper/) && /Google Play Music Desktop Player/')" ] && type -p gpmdp-remote >/dev/null 2>&1; then
- song="$(gpmdp-remote current)"
- state="$(gpmdp-remote status)"
+ "google play"*)
+ song="$(gpmdp-remote current 2>/dev/null)"
+ state="$(gpmdp-remote status 2>/dev/null)"
+ ;;
- elif [ -n "$(ps x | awk '!(/awk/ || /Helper/ || /Cache/) && /iTunes.app/')" ]; then
- song="$(osascript -e 'tell application "iTunes" to artist of current track as string & " - " & name of current track as string')"
- state="$(osascript -e 'tell application "iTunes" to player state as string')"
+ "itunes"*)
+ song="$(osascript -e 'tell application "iTunes" to artist of current track as string & " - " & name of current track as string')"
+ state="$(osascript -e 'tell application "iTunes" to player state as string')"
+ ;;
- elif [ -n "$(ps x | awk '!(/awk/) && /rhythmbox/')" ]; then
- song="$(rhythmbox-client --print-playing)"
- # Well, what can you expect? It's dbus after all.
- state="$(dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 \
- org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string: 'PlayBackStatus' |\
- awk -F 'string "' '{printf $2}')"
- state="${state//\"}"
+ "rhythmbox"*)
+ song="$(rhythmbox-client --print-playing)"
+ # Thanks dbus
+ state="$(dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 \
+ org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string: 'PlayBackStatus' |\
+ awk -F 'string "' '{printf $2}')"
+ state="${state//\"}"
+ ;;
- elif [ -n "$(ps x | awk '!(/awk/) && /banshee/')" ]; then
- artist="$(banshee --query-artist | awk -F':' '{print $2}')"
- title="$(banshee --query-title | awk -F':' '{print $2}')"
- song="$artist - $title"
- state="$(banshee --query-current-state | awk -F':' '{print $2}')"
+ "banshee"*)
+ artist="$(banshee --query-artist | awk -F':' '{print $2}')"
+ title="$(banshee --query-title | awk -F':' '{print $2}')"
+ song="$artist - $title"
+ state="$(banshee --query-current-state | awk -F':' '{print $2}')"
+ ;;
- elif [ -n "$(ps x | awk '!(/awk/) && /amarok/')" ]; then
- artist="$(qdbus org.kde.amarok /Player GetMetadata | awk -F':' '/^artist/ {print $2}')"
- title="$(qdbus org.kde.amarok /Player GetMetadata | awk -F':' '/title/ {print $2}')"
- song="$artist - $title"
+ "amarok"*)
+ artist="$(qdbus org.kde.amarok /Player GetMetadata | awk -F':' '/^artist/ {print $2}')"
+ title="$(qdbus org.kde.amarok /Player GetMetadata | awk -F':' '/title/ {print $2}')"
+ song="$artist - $title"
+ ;;
- elif [ -n "$(ps x | awk '!(/awk/) && /deadbeef/')" ]; then
- song="$(deadbeef --nowplaying '%a - %t')"
+ "deadbeef"*)
+ song="$(deadbeef --nowplaying '%a - %t')"
+ ;;
- else
- song="Not Playing"
- fi
+ "audacious"*)
+ song="$(audtool current-song)"
+ ;;
+
+ *) song="Not Playing" ;;
+ esac
case "$state" in
"paused" | "PAUSE" | "Paused")
@@ -1508,6 +1382,10 @@ getstyle() {
[ "$gtk2" == "off" ] && unset gtk2theme
[ "$gtk3" == "off" ] && unset gtk3theme
+ # Trim whitespace
+ gtk2theme="$(trim "$gtk2theme")"
+ gtk3theme="$(trim "$gtk3theme")"
+
# Format the string based on which themes exist
if [ "$gtk2theme" ] && [ "$gtk2theme" == "$gtk3theme" ]; then
gtk3theme+=" [GTK2/3]"
@@ -1713,53 +1591,25 @@ getdisk() {
getbattery() {
case "$os" in
"Linux")
- if [ "$(ls /sys/class/power_supply/)" ]; then
- # Set the index to the battery number.
- case "$battery_num" in
- "all") battery_num="*" index=0 ;;
- *) index="$battery_num" ;;
- esac
+ # We use 'prin' here and exit the function early so that we can
+ # do multi battery support with a single battery per line.
+ if [ -f /sys/class/power_supply/**/capacity ]; then
+ for bat in "/sys/class/power_supply/BAT"*; do
+ capacity="$(< ${bat}/capacity)"
+ status="$(< ${bat}/status)"
+ battery="${capacity}% [${status}]"
- case "$distro" in
- "Android"*)
- batteries="$(< /sys/class/power_supply/battery/capacity)"
- battery_state="$(< /sys/class/power_supply/battery/status)"
- ;;
+ case "$battery_display" in
+ "bar") battery="$(bar "$capacity" 100)" ;;
+ "infobar") battery+=" $(bar "$capacity" 100)" ;;
+ "barinfo") battery="$(bar "$capacity" 100) ${battery}" ;;
+ esac
- *)
- batteries=($(< /sys/class/power_supply/BAT${battery_num}/capacity))
- battery_state=($(< /sys/class/power_supply/BAT${battery_num}/status))
- ;;
- esac
-
- # Get the subtitle and reassign it so it doesn't change.
- title="$subtitle"
-
- # If shorthand is on, print each value on the same line
- if [ "$battery_shorthand" == "on" ]; then
- battery="${batteries[*]}"
- battery="${battery// /%, }"
- battery="${battery}%"
-
- else
- if [ "${#batteries[@]}" -gt 1 ]; then
- unset battery
-
- # Print each battery on a separate line.
- for bat in "${batteries[@]}"; do
- case "$battery_display" in
- "bar") prin "${title}${index:-0}" "$(bar "${bat/'%'}" 100)" ;;
- "infobar") prin "${title}${index:-0}" "${bat}% $(bar "${bat/'%'}" 100)" ;;
- "barinfo") prin "${title}${index:-0}" "$(bar "${bat/'%'}" 100) ${bat}%" ;;
- *) prin "${title}${index:-0}" "${bat}%" ;;
- esac
- index="$((index+=1))"
- done
- return
- fi
- battery="${batteries[0]}%"
- fi
+ prin "${subtitle}${bat: -1}" "$battery"
+ done
fi
+ unset battery
+ return
;;
"BSD")
@@ -2400,11 +2250,7 @@ scrot_upload() {
;;
esac
- if [ "$image_url" ]; then
- printf "%s\n" "$image_url"
- else
- printf "%s\n" "[!] Image failed to upload"
- fi
+ printf "%s\n" "${image_url:-'[!] Image failed to upload'}"
}
# }}}
@@ -2591,7 +2437,7 @@ colors() {
setcolors 4 3
;;
- "Mageia"*)
+ "Mageia"* | "Porteus"*)
setcolors 6 7
;;
@@ -2621,7 +2467,7 @@ colors() {
setcolors 3 7 6 1 8
;;
- "OpenSuse"* | "Manjaro"* | "Deepin"*)
+ *"SUSE"* | "Manjaro"* | "Deepin"*)
setcolors 2 7
;;
@@ -2935,16 +2781,39 @@ kdeconfigdir() {
# }}}
+# 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.
+
+gettermpadding() {
+ [ -z "$term" ] && getterm
+
+ case "$term" in
+ "URxvt"*)
+ border="$(xrdb -query | grep -i "\(URxvt\|\*\)\.InternalBorder")"
+ border="${border/*:}"
+ ;;
+ esac
+}
+
+# }}}
+
# Dynamic prompt location {{{
dynamicprompt() {
# Calculate image height in terminal cells.
- # The '+ 1' adds a gap between the prompt and the content.
if [ "$image" != "ascii" ]; then
- lines="$((${height:-1} / ${font_height:-1} + 3))"
- cursor_yoffset="$((${yoffset:-1} / ${font_height:-1}))"
+ gettermpadding
+ lines="$(((height + ${border:-0} + ${yoffset:-0}) / font_height))"
else
- cursor_yoffset="0 - 2"
+ lines="$((lines-=2))"
fi
# If the info is higher than the ascii/image place the prompt
@@ -2952,7 +2821,7 @@ dynamicprompt() {
if [ "${lines:-0}" -lt "${info_height:-0}" ]; then
lines="-2"
else
- lines="$((lines - info_height + cursor_yoffset))"
+ lines="$((lines - info_height))"
fi
# Set the prompt location
@@ -2963,7 +2832,7 @@ dynamicprompt() {
fi
# Add some padding
- [ "$image" == "ascii" ] && printf "\n\n"
+ printf "\n\n"
}
# }}}
@@ -3007,23 +2876,23 @@ usage() { cat << EOF
Possible values: name, speed, tiny, on, off
--cpu_cores type Whether or not to display the number of CPU cores
Takes: logical, physical, off
- Note: 'physical' doesn't work on BSD.
+ NOTE: 'physical' doesn't work on BSD.
+ --cpu_speed on/off Hide/Show cpu speed.
+ --cpu_temp on/off Hide/Show cpu temperature.
+ NOTE This only works on linux.
--distro_shorthand on/off Shorten the output of distro (tiny, on, off)
NOTE: This is only possible on Linux, macOS, and Solaris
--kernel_shorthand on/off Shorten the output of kernel
--uptime_shorthand on/off Shorten the output of uptime (tiny, on, off)
--refresh_rate on/off Whether to display the refresh rate of each monitor
Unsupported on Windows
- --gpu_shorthand on/off Shorten the output of GPU (tiny, on, off)
--gpu_brand on/off Enable/Disable GPU brand in output. (AMD/NVIDIA/Intel)
--gtk_shorthand on/off Shorten output of gtk theme/icons
--gtk2 on/off Enable/Disable gtk2 theme/icons output
--gtk3 on/off Enable/Disable gtk3 theme/icons output
--shell_path on/off Enable/Disable showing \$SHELL path
--shell_version on/off Enable/Disable showing \$SHELL version
- --battery_num num Which battery to display, default value is 'all'
- --battery_shorthand on/off Whether or not each battery gets its own line/title
- --ip_host url Url to ping for public IP
+ --ip_host url Url to query for public IP
--song_shorthand on/off Print the Artist/Title on seperate lines
--birthday_shorthand on/off Shorten the output of birthday
--birthday_time on/off Enable/Disable showing the time in birthday output
@@ -3135,12 +3004,13 @@ getargs() {
# Info
--os_arch) os_arch="$2" ;;
--cpu_cores) cpu_cores="$2" ;;
+ --cpu_speed) cpu_speed="$2" ;;
+ --cpu_temp) cpu_temp="$2" ;;
--speed_type) speed_type="$2" ;;
--distro_shorthand) distro_shorthand="$2" ;;
--kernel_shorthand) kernel_shorthand="$2" ;;
--uptime_shorthand) uptime_shorthand="$2" ;;
--cpu_shorthand) cpu_shorthand="$2" ;;
- --gpu_shorthand) gpu_shorthand="$2" ;;
--gpu_brand) gpu_brand="$2" ;;
--refresh_rate) refresh_rate="$2" ;;
--gtk_shorthand) gtk_shorthand="$2" ;;
@@ -3148,8 +3018,6 @@ getargs() {
--gtk3) gtk3="$2" ;;
--shell_path) shell_path="$2" ;;
--shell_version) shell_version="$2" ;;
- --battery_num) battery_num="$2" ;;
- --battery_shorthand) battery_shorthand="$2" ;;
--ip_host) public_ip_host="$2" ;;
--song_shorthand) song_shorthand="$2" ;;
--birthday_shorthand) birthday_shorthand="$2" ;;
@@ -3220,6 +3088,7 @@ getargs() {
--clean)
rm -rf "$thumbnail_dir"
rm -rf "/Library/Caches/neofetch/"
+ rm -rf "/tmp/neofetch/"
exit
;;
@@ -3281,6 +3150,7 @@ getargs() {
cpu_display="infobar"
memory_display="infobar"
disk_display="infobar"
+ cpu_temp="on"
printinfo() {
if [ "$TRAVIS_OS_NAME" ]; then
@@ -3357,11 +3227,15 @@ main() {
# Print the info
printinfo
- [ "$image" != "off" ] && dynamicprompt
- # w3m-img: Draw the image a second time to fix
- # rendering issues in specific terminal emulators.
- [ "$image_backend" == "w3m" ] && displayimage
+ # Prompt calculation
+ if [ "$image" != "off" ]; then
+ dynamicprompt
+
+ # w3m-img: Draw the image a second time to fix
+ # rendering issues in specific terminal emulators.
+ [ "$image_backend" == "w3m" ] && displayimage
+ fi
# Re-enable line wrap
printf "%b%s" "\033[?7h"
diff --git a/neofetch.1 b/neofetch.1
index 62d98dd4..a5aec131 100644
--- a/neofetch.1
+++ b/neofetch.1
@@ -40,6 +40,14 @@ Whether or not to display the number of CPU cores
.br
Note: 'physical' doesn't work on BSD.
.TP
+.B \--cpu_speed 'on/off'
+Hide/Show cpu speed.
+.TP
+.B \--cpu_temp 'on/off'
+Hide/Show cpu temperature.
+.br
+NOTE This only works on linux.
+.TP
.B \--distro_shorthand 'on/off'
Shorten the output of distro (tiny, on, off)
.br
@@ -56,9 +64,6 @@ Whether to display the refresh rate of each monitor
.br
Note: Unsupported on Windows
.TP
-.B \--gpu_shorthand 'on/off'
-Shorten the output of GPU (tiny, on, off)
-.TP
.B \--gpu_brand on/off
Enable/Disable GPU brand in output. (AMD/NVIDIA/Intel)
.TP
@@ -77,14 +82,8 @@ Enable/Disable showing $SHELL path
.B \--shell_version 'on/off'
Enable/Disable showing $SHELL version
.TP
-.B \--battery_num 'num'
-Which battery to display, default value is 'all'
-.TP
-.B \--battery_shorthand 'on/off'
-Whether or not each battery gets its own line/title
-.TP
.B \--ip_host 'url'
-URL to ping for public IP
+URL to query for public IP
.TP
.B \--song_shorthand 'on/off'
Print the Artist/Title on seperate lines