made resolution way faster on OS X

This commit is contained in:
Andrew Titmuss 2016-03-27 19:50:09 +11:00
parent c29cb10a2c
commit 9779e91672
3 changed files with 24 additions and 11 deletions

View file

@ -5,6 +5,10 @@ os:
- linux - linux
- osx - osx
before_install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install screenresolution; fi
script: script:
- sudo make install - sudo make install
- neofetch --test --ascii --color_blocks off --config off --ascii_distro travis - neofetch --test --ascii --color_blocks off --config off --ascii_distro travis

View file

@ -95,7 +95,7 @@ your distro's logo or any ascii art of your choice!
##### OSX ##### OSX
- Current Song: `itunes` - Resolution (quicker): `screenresolution
\[1\] See **[#79](https://github.com/dylanaraps/neofetch/issues/79)** about why this is now a required dependency. \[1\] See **[#79](https://github.com/dylanaraps/neofetch/issues/79)** about why this is now a required dependency.

View file

@ -12,10 +12,12 @@
# Optional Dependencies: (You'll lose these features without them) # Optional Dependencies: (You'll lose these features without them)
# Displaying Images: w3m + w3m-img # Displaying Images: w3m + w3m-img
# Image Cropping: ImageMagick # Image Cropping: ImageMagick
# Displaying song with Google Play Music: gpmdp-bash
# [ Linux / BSD ] Wallpaper Display: feh, nitrogen or gsettings # [ Linux / BSD ] Wallpaper Display: feh, nitrogen or gsettings
# [ Linux / BSD ] Current Song: mpc, cmus, moc # [ Linux / BSD ] Current Song: mpc, cmus, moc
# [ Linux ] Current Song: spotify # [ Linux ] Current Song: spotify
# [ Linux / BSD ] Resolution detection: xorg-xdpyinfo # [ Linux / BSD ] Resolution detection: xorg-xdpyinfo
# [ OS X ] Getting screen resolution (faster): screenresolution
# #
# Created by Dylan Araps # Created by Dylan Araps
# https://github.com/dylanaraps/ # https://github.com/dylanaraps/
@ -1251,16 +1253,23 @@ getresolution () {
;; ;;
"Mac OS X") "Mac OS X")
case "$refresh_rate" in if type -p screenresolution >/dev/null 2>&1; then
"on") resolution=$(screenresolution get 2>&1 | awk '/Display/ {printf $6"Hz, "}')
resolution=$(system_profiler SPDisplaysDataType |\ resolution=${resolution//x??@/ @ }
awk '/Resolution:/ {printf $2"x"$4" @ "$6"Hz, "}') [[ "$refresh_rate" == "off" ]] && resolution=${resolution// @ +([0-9])Hz}
;;
"off") else
resolution=$(system_profiler SPDisplaysDataType |\ case "$refresh_rate" in
awk '/Resolution:/ {printf $2"x"$4", "}') "on")
;; resolution=$(system_profiler SPDisplaysDataType |\
esac awk '/Resolution:/ {printf $2"x"$4" @ "$6"Hz, "}')
;;
"off")
resolution=$(system_profiler SPDisplaysDataType |\
awk '/Resolution:/ {printf $2"x"$4", "}')
;;
esac
fi
;; ;;
"Windows") "Windows")