mirror of
https://github.com/dylanaraps/pfetch.git
synced 2026-01-02 16:02:12 +01:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
af166966b9 | ||
|
|
219d8f2117 | ||
|
|
0834d53b2a | ||
|
|
0f1d6845db | ||
|
|
3895dd003d | ||
|
|
6c3d5c3a87 | ||
|
|
616e1b0c3b | ||
|
|
44dca45301 | ||
|
|
256c1678d6 | ||
|
|
a3bdc11167 | ||
|
|
2bc0fd87a5 |
75
pfetch
75
pfetch
@@ -438,6 +438,7 @@ get_pkgs() {
|
||||
Linux*)
|
||||
# Commands which print packages one per line.
|
||||
has bonsai && bonsai list
|
||||
has crux && pkginfo -i
|
||||
has pacman-key && pacman -Qq
|
||||
has dpkg && dpkg-query -f '.\n' -W
|
||||
has rpm && rpm -qa
|
||||
@@ -508,7 +509,7 @@ get_pkgs() {
|
||||
esac | wc -l
|
||||
`
|
||||
|
||||
log pkgs "${packages:-?}" >&6
|
||||
[ "$packages" -gt 1 ] && log pkgs "$packages" >&6
|
||||
}
|
||||
|
||||
get_memory() {
|
||||
@@ -693,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.
|
||||
@@ -1301,8 +1363,12 @@ get_ascii() {
|
||||
# output without the use of a pipe ('|').
|
||||
# This ensures that any variables defined in the while loop
|
||||
# are still accessible in the script.
|
||||
#
|
||||
# The 'awk' command below used to be a simple 'sed', however
|
||||
# some versions of Android shipped with a totally broken 'sed'
|
||||
# command from 'toybox' and so we're forced to avoid 'sed'.
|
||||
done <<-EOF
|
||||
$(printf %s "$ascii" | sed 's/\[3.m//g')
|
||||
$(printf %s "$ascii" | awk '{gsub("\\[3.m","");print}')
|
||||
EOF
|
||||
|
||||
# Add a gap between the ascii art and the information.
|
||||
@@ -1325,6 +1391,11 @@ main() {
|
||||
# This gives full control over what it displayed on the screen.
|
||||
exec 6>&1 >/dev/null
|
||||
|
||||
# Ensure that the 'TMPDIR' is writable as heredocs use it and
|
||||
# fail without the write permission. This was found to be the
|
||||
# case on Android where the temporary directory requires root.
|
||||
[ -w "${TMPDIR:-/tmp}" ] || export TMPDIR=~
|
||||
|
||||
# Generic color list.
|
||||
# Disable warning about unused variables.
|
||||
# shellcheck disable=2034
|
||||
|
||||
Reference in New Issue
Block a user