Merge pull-request #1058 from 'julianaito/master'

This commit is contained in:
Muhammad Herdiansyah 2018-09-01 18:55:48 +07:00
commit 2c4fb88139
1 changed files with 23 additions and 6 deletions

View File

@ -1136,6 +1136,7 @@ get_model() {
case "$model" in case "$model" in
"Standard PC"*) model="KVM/QEMU (${model})" ;; "Standard PC"*) model="KVM/QEMU (${model})" ;;
"OpenBSD"*) model="vmm (${model})" ;;
esac esac
} }
@ -1474,8 +1475,13 @@ get_wm() {
# If function was run, stop here. # If function was run, stop here.
((wm_run == 1)) && return ((wm_run == 1)) && return
case "$uname" in
*"OpenBSD"*) ps_flags=(x -c) ;;
*) ps_flags=(-e) ;;
esac
if [[ "$WAYLAND_DISPLAY" ]]; then if [[ "$WAYLAND_DISPLAY" ]]; then
wm="$(ps -e | grep -m 1 -o -F \ wm="$(ps "${ps_flags[@]}" | grep -m 1 -o -F \
-e "arcan" \ -e "arcan" \
-e "asc" \ -e "asc" \
-e "clayland" \ -e "clayland" \
@ -1514,11 +1520,11 @@ get_wm() {
# Window Maker does not set _NET_WM_NAME # Window Maker does not set _NET_WM_NAME
[[ "$wm" =~ "WINDOWMAKER" ]] && wm="wmaker" [[ "$wm" =~ "WINDOWMAKER" ]] && wm="wmaker"
# Fallback for non-EWMH WMs. # Fallback for non-EWMH WMs.
[[ -z "$wm" ]] && \ [[ -z "$wm" ]] && \
wm="$(ps -e | grep -m 1 -o -F \ wm="$(ps "${ps_flags[@]}" | grep -m 1 -o -F \
-e "catwm" \ -e "catwm" \
-e "fvwm" \
-e "dwm" \ -e "dwm" \
-e "2bwm" \ -e "2bwm" \
-e "monsterwm" \ -e "monsterwm" \
@ -3081,9 +3087,20 @@ get_disk() {
# Create an array called 'disks' where each element is a separate line from # 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. # 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[@]:-/}")" if [[ "$uname" == "OpenBSD" ]]; then
unset "disks[0]" # 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. # Stop here if 'df' fails to print disk info.
[[ -z "${disks[*]}" ]] && { [[ -z "${disks[*]}" ]] && {
err "Disk: df failed to print the disks, make sure the disk_show array is set properly." err "Disk: df failed to print the disks, make sure the disk_show array is set properly."