Compare commits

...

5 Commits
master ... disk

Author SHA1 Message Date
Dylan Araps
af166966b9
pfetch: revert unrelated commit. 2019-10-14 19:11:26 +03:00
Dylan Araps
219d8f2117
pfetch: revert unrelated commit. 2019-10-14 19:10:42 +03:00
Dylan Araps
0834d53b2a
pfetch: revert unrelated commit. 2019-10-14 19:06:31 +03:00
Dylan Araps
0f1d6845db
pfetch: revert unrelated commit. 2019-10-14 19:05:36 +03:00
Dylan Araps
3895dd003d
pfetch: disk support 2019-10-14 19:04:10 +03:00

61
pfetch
View File

@ -694,6 +694,67 @@ get_memory() {
log memory "${mem_used:-?}M / ${mem_full:-?}M" >&6
}
get_disk() {
# Store the version of the 'df' command as the available
# flags, options and implementation differs between operating
# systems and we need to handle these edge-cases.
df_version=$(df --version 2>&1)
case $df_version in
# The 'df' command is from AIX.
*IMitv*)
set -- -P -g
;;
# The 'df' command is from IRIX.
*befhikm*)
set -- -P -k
;;
# The 'df' command is from OpenBSD.
*hiklnP*)
set -- -h
;;
# The 'df' command is from Haiku and is wildly
# different and provides no workable output,
# end here.
*Tracker*) # Haiku
return
;;
# From testing it is saffe to assume that
# any other 'df' version provides these flags.
*)
set -- -P -h
;;
esac
# Read the output of 'df' line by line. The first line
# contains header information for the "table" so it is
# skipped.
#
# The next lines are then split to grab the relevant
# information and thankfully the output remains the
# same between all but one 'df' implementation.
#
# TODO: Configure disks to send to 'df'. Do we need to
# do this? I'd love to _not_ do it.
df "$@" / | while read -r name full used _ perc _; do
[ "$header" ] || { header=1; continue; }
case $df_version in
# The 'df' command is from IRIX.
*befhikm*)
used=$((used/1024/1024))G
full=$((full/1024/1024))G
;;
esac
log disk "$name [$used / $full ($perc)]" >&6
done
}
get_wm() {
case $os in
# Don't display window manager on macOS.