diff --git a/neofetch b/neofetch index 72813772..4a6288fb 100755 --- a/neofetch +++ b/neofetch @@ -2801,7 +2801,7 @@ get_resolution() { ;; *) - if type -p xrandr >/dev/null; then + if type -p xrandr >/dev/null && [[ $DISPLAY && -z $WAYLAND_DISPLAY ]]; then case $refresh_rate in "on") resolution="$(xrandr --nograb --current |\ @@ -2820,13 +2820,20 @@ get_resolution() { esac resolution="${resolution//\*}" - elif type -p xwininfo >/dev/null; then + elif type -p xwininfo >/dev/null && [[ $DISPLAY && -z $WAYLAND_DISPLAY ]]; then read -r w h \ <<< "$(xwininfo -root | awk -F':' '/Width|Height/ {printf $2}')" resolution="${w}x${h}" - elif type -p xdpyinfo >/dev/null; then + elif type -p xdpyinfo >/dev/null && [[ $DISPLAY && -z $WAYLAND_DISPLAY ]]; then resolution="$(xdpyinfo | awk '/dimensions:/ {printf $2}')" + + elif [[ -d /sys/class/drm ]]; then + for dev in /sys/class/drm/*/modes; do + read -r resolution _ < "$dev" + + [[ $resolution ]] && break + done fi ;; esac