diff --git a/i3/config b/i3/config
index 8726c29..415db7f 100644
--- a/i3/config
+++ b/i3/config
@@ -145,7 +145,9 @@ bindsym $mod+Shift+p            exec rofi-pass --root $(grep path ~/.config/gopa
 bindsym $mod+Shift+e            exec "pkill rofi; rofi -show emoji -modi emoji -normal-window"
 bindsym $mod+Shift+i            exec rofi-fontawesome
 bindsym --release Print         exec screenshot
-bindsym --release $mod+Print    exec imgur-screenshot
+bindsym --release $mod+Print    exec screenshot --clip
+bindsym --release Shift+Print   exec screenshot --active
+bindsym --release $mod+Shift+Print exec screenshot --active --clip
 bindsym $mod+Shift+x            exec systemd-run-i3 -n i3-sensible-terminal --class floating-term --hold -e /bin/echo "$(xprop -id $(xdotool getactivewindow))"
 bindsym $mod+$alt+space         exec systemd-run-i3 -n ~/.config/i3/cycleaudio.py && pkill -RTMIN+10 i3blocks
 bindsym $mod+numbersign         exec systemd-run-i3 -n i3-sensible-terminal --hold -e sh -c 'xclip -o | gpg --decrypt 2>&1'
diff --git a/scripts/screenshot b/scripts/screenshot
index a2416e7..b9f88f3 100755
--- a/scripts/screenshot
+++ b/scripts/screenshot
@@ -13,6 +13,29 @@ URL_PATH=https://frebib.net/s
 
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
+params=$(getopt -o ac -l active,clip -n screenshot -- "$@")
+eval set -- "$params"
+unset params
+
+while true; do
+    case "$1" in
+        '-a'|'--active')
+            active=1
+            shift
+            continue;;
+        '-c'|'--clip')
+            clip=1
+            shift
+            continue;;
+		'--')
+			shift
+			break;;
+		*)
+			echo 'getopt error' >&2
+			exit 1;;
+	esac
+done
+
 send_notification() {
     title="$1"
     body="$2"
@@ -28,24 +51,24 @@ send_notification() {
 
 # Make the screenshot directory
 mkdir -p "$DIRECTORY"
-
-# Take screenshot geometry
-read -r winid geom < <(slop -f "%i %g") || :
-if [ -z "$geom" -o -z "$winid" ]; then
-    send_notification "Screenshot error" "Failed to capture screenshot area" > /dev/null
-    exit 1
-fi
-
 out_path="$DIRECTORY/$FILENAME"
-args=(-g "$geom")
 
-# If selection is the root window
-if xwininfo -id "$winid" | grep -qw root; then
-    isroot=1
-    args+=(-i "$winid")
-elif [ "$1" == "--active" -o "$1" == "-a" ]; then
+if [ "$active" = '1' ]; then
     args+=(-i "$(xdotool getactivewindow)")
-    shift
+else
+    # Take screenshot geometry
+    read -r winid geom < <(slop -f "%i %g") || :
+    if [ -z "$geom" -o -z "$winid" ]; then
+        send_notification "Screenshot error" "Failed to capture screenshot area" > /dev/null
+        exit 1
+    fi
+    args=(-g "$geom")
+
+    # If selection is the root window
+    if xwininfo -id "$winid" | grep -qw root; then
+        isroot=1
+        args+=(-i "$winid")
+    fi
 fi
 
 # Take the screenshot and save it
@@ -60,10 +83,10 @@ if [ "$isroot" != "1" ]; then
     convert "$out_path" \( +clone -background black -alpha set -channel Alpha -evaluate set 60% -shadow 100x16+0+0 \) +swap -background none -layers merge +repage "$out_path" || :
 fi
 
-if [ "$1" == "--clip" -o "$1" == "-c" ]; then
+if [ "$clip" = '1' ]; then
     # Add image to clipboard
     xclip -i "$out_path" -selection clipboard -t image/png
-    send_notification "Screenshot captured" "$FILENAME
The image is available in the clipboard"
+    send_notification "Screenshot captured" "$FILENAME
The image is available in the clipboard" >/dev/null
 
     exit 0
 fi