aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCrestwave <crest.wave@yahoo.com>2021-08-27 10:57:10 +0800
committerCrestwave <crest.wave@yahoo.com>2021-08-27 11:13:48 +0800
commit37280d7851d8a5d04c08e7fe9e34eca6fd3e4e05 (patch)
tree6dfa65bf85ca3133d60072d63e0efccc99a1b90b
parent428dd23578c7d7feb7498afd2e7e47991e4f2ff0 (diff)
downloadpfetch-37280d7851d8a5d04c08e7fe9e34eca6fd3e4e05.tar.gz
os: SerenityOS support
-rwxr-xr-xpfetch48
1 files changed, 47 insertions, 1 deletions
diff --git a/pfetch b/pfetch
index 8315f44..e311bc8 100755
--- a/pfetch
+++ b/pfetch
@@ -483,7 +483,7 @@ get_uptime() {
# converting that data into days, hours and minutes using simple
# math.
case $os in
- (Linux* | Minix*)
+ (Linux* | Minix* | SerenityOS*)
IFS=. read -r s _ < /proc/uptime
;;
@@ -648,6 +648,13 @@ get_pkgs() {
(IRIX)
versions -b
;;
+
+ (SerenityOS)
+ while IFS=" " read -r type _; do
+ [ "$type" != dependency ] &&
+ printf "\n"
+ done < /usr/Ports/packages.db
+ ;;
esac | wc -l
)
@@ -898,6 +905,33 @@ get_memory() {
mem_used=$((mem_full - mem_free))
;;
+
+ (SerenityOS)
+ IFS='{}' read -r _ memstat _ < /proc/memstat
+
+ set -f -- "$IFS"
+ IFS=,
+
+ for pair in $memstat; do
+ case $pair in
+ (*user_physical_allocated*)
+ mem_used=${pair##*:}
+ ;;
+
+ (*user_physical_available*)
+ mem_free=${pair##*:}
+ ;;
+ esac
+ done
+
+ IFS=$1
+ set +f --
+
+ mem_used=$((mem_used * 4096 / 1024 / 1024))
+ mem_free=$((mem_free * 4096 / 1024 / 1024))
+
+ mem_full=$((mem_used + mem_free))
+ ;;
esac
log memory "${mem_used:-?}M / ${mem_full:-?}M" >&6
@@ -1630,6 +1664,18 @@ get_ascii() {
EOF
;;
+ ([Ss]erenity[Oo][Ss]*)
+ read_ascii 4 <<-EOF
+ ${c7} _____
+ ${c1} ,-${c7} -,
+ ${c1} ;${c7} ( ;
+ ${c1}| ${c7}. \_${c1}.,${c7} |
+ ${c1}| ${c7}o _${c1} ',${c7} |
+ ${c1} ; ${c7}(_)${c1} )${c7} ;
+ ${c1} '-_____-${c7}'
+ EOF
+ ;;
+
([Ss]lackware*)
read_ascii 4 <<-EOF
${c4} ________