From cf57ebe7f73f0ea9b7062d6be280e3037392e266 Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Mon, 5 Dec 2016 15:42:32 +1100 Subject: [PATCH] Screenshot: Add support for macOS and Haiku --- neofetch | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/neofetch b/neofetch index e64a2a90..dd5a4eaa 100755 --- a/neofetch +++ b/neofetch @@ -2328,7 +2328,7 @@ to_off() { take_scrot() { if [[ -d "$scrot_dir" ]]; then - scrot_program "${scrot_dir}${scrot_name}" + scrot_program "${scrot_dir}${scrot_name}" 2>/dev/null else printf "%s\n" "Screenshot: $scrot_dir doesn't exist. Edit the config file or create the directory to take screenshots." fi @@ -2373,9 +2373,13 @@ scrot_args() { } scrot_program() { + # Detect screenshot program. + # + # We first check to see if an X server is running before + # falling back to OS specific screenshot tools. if [[ -n "$DISPLAY" ]]; then if [[ "$scrot_cmd" != "auto" ]] && type -p "$scrot_cmd" >/dev/null; then - scrot_program="scrot_cmd" + scrot_program="$scrot_cmd" elif type -p scrot >/dev/null; then scrot_program="scrot" @@ -2396,12 +2400,17 @@ scrot_program() { err "Scrot: No screen capture tool found." return fi - - # Take the scrot. - $scrot_program "$1" - - err "Scrot: Screen captured using $scrot_program" + else + case "$os" in + "Mac OS X") scrot_program="screencapture -S" ;; + "Haiku") scrot_program="screenshot -s" ;; + esac fi + + # Take the scrot. + $scrot_program "$1" + + err "Scrot: Screen captured using $scrot_program" } # TEXT FORMATTING