Add a patch that fixes df reporting, recognizes vmm, and plays nicely with

ps(1).
From Charlene Wendling (MAINTAINER)
This commit is contained in:
bcallah 2018-09-04 20:41:42 +00:00
parent 67096a6d1a
commit 557cf9ceaf
2 changed files with 70 additions and 4 deletions

View File

@ -1,8 +1,8 @@
# $OpenBSD: Makefile,v 1.2 2018/08/18 21:52:01 rsadowski Exp $
# $OpenBSD: Makefile,v 1.3 2018/09/04 20:41:42 bcallah Exp $
COMMENT = system information tool written in bash
CATEGORIES = sysutils misc
REVISION = 0
REVISION = 1
GH_ACCOUNT = dylanaraps
GH_PROJECT = neofetch

View File

@ -1,10 +1,76 @@
$OpenBSD: patch-neofetch,v 1.1 2018/08/18 21:52:01 rsadowski Exp $
$OpenBSD: patch-neofetch,v 1.2 2018/09/04 20:41:42 bcallah Exp $
Battery fixes. Add support for amphour and charging status.
From upstream 71df4ffd3b20abaf21c260c5a109793d579dfa11
Fix WM detection, add disk and vmm(4) support
From upstream e07f545c26a47151236af3a3bc73acae62d87922
Index: neofetch
--- neofetch.orig
+++ neofetch
@@ -3179,12 +3179,19 @@ get_battery() {
@@ -1137,6 +1137,7 @@ get_model() {
case "$model" in
"Standard PC"*) model="KVM/QEMU (${model})" ;;
+ "OpenBSD"*) model="vmm (${model})" ;;
esac
}
@@ -1474,8 +1475,13 @@ get_wm() {
# If function was run, stop here.
((wm_run == 1)) && return
+ case "$uname" in
+ *"OpenBSD"*) ps_flags=(x -c) ;;
+ *) ps_flags=(-e) ;;
+ esac
+
if [[ "$WAYLAND_DISPLAY" ]]; then
- wm="$(ps -e | grep -m 1 -o -F \
+ wm="$(ps "${ps_flags[@]}" | grep -m 1 -o -F \
-e "arcan" \
-e "asc" \
-e "clayland" \
@@ -1512,11 +1518,11 @@ get_wm() {
# Window Maker does not set _NET_WM_NAME
[[ "$wm" =~ "WINDOWMAKER" ]] && wm="wmaker"
-
# Fallback for non-EWMH WMs.
[[ -z "$wm" ]] && \
- wm="$(ps -e | grep -m 1 -o -F \
+ wm="$(ps "${ps_flags[@]}" | grep -m 1 -o -F \
-e "catwm" \
+ -e "fvwm" \
-e "dwm" \
-e "2bwm" \
-e "monsterwm" \
@@ -3084,9 +3090,20 @@ get_disk() {
# Create an array called 'disks' where each element is a separate line from
# df's output. We then unset the first element which removes the column titles.
- IFS=$'\n' read -d "" -ra disks <<< "$(df "${df_flags[@]}" "${disk_show[@]:-/}")"
- unset "disks[0]"
-
+ if [[ "$uname" == "OpenBSD" ]]; then
+ # On OpenBSD you can't use df against a /dev/... unless being root or
+ # in the 'operator' group. Making a separate disks array creation.
+ df_flags=(-h)
+ # building an AWK regexp
+ disk_re="${disk_show[*]:-/}"
+ disk_re="${disk_re// /\|}"
+ disk_re="^(${disk_re//\//\\\/})\$"
+ IFS=$'\n' read -d "" -ra disks <<< "$(df "${df_flags[@]}" | \
+ awk -v disk_re="$disk_re" '(NR > 1) && ($1 ~ disk_re || $6 ~ disk_re)')"
+ else
+ IFS=$'\n' read -d "" -ra disks <<< "$(df "${df_flags[@]}" "${disk_show[@]:-/}")"
+ unset "disks[0]"
+ fi
# Stop here if 'df' fails to print disk info.
[[ -z "${disks[*]}" ]] && {
err "Disk: df failed to print the disks, make sure the disk_show array is set properly."
@@ -3179,12 +3196,19 @@ get_battery() {
;;
"OpenBSD"* | "Bitrig"*)