diff --git a/i3/.config/i3/config b/i3/.config/i3/config index c675a95..4e575f6 100644 --- a/i3/.config/i3/config +++ b/i3/.config/i3/config @@ -168,8 +168,8 @@ bindsym $mod+o move workspace to output up bindsym $mod+p move workspace to output right # take screenshots -bindsym $mod+s exec --no-startup-id maim -suo | xclip -selection clipboard -t image/png -bindsym $mod+Shift+s exec --no-startup-id maim -suo "${HOME}/Pictures/screenshots/$(date '+%Y%m%d_%H%M%S').png" +bindsym $mod+s exec --no-startup-id bash x11-screenshot.sh --clipboard +bindsym $mod+Shift+s exec --no-startup-id bash x11-screenshot.sh # use pactl for media keys set $refresh_i3status killall -SIGUSR1 i3status diff --git a/scripts/x11-screenshot.sh b/scripts/x11-screenshot.sh new file mode 100755 index 0000000..088d192 --- /dev/null +++ b/scripts/x11-screenshot.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +unset use_clipboard +if [[ "$1" == "-c" ]] || [[ "$1" == "--clipboard" ]]; then + use_clipboard="true" +fi + +if ! $(which maim &>/dev/null); then + notify-send "[screenshot]" "missing \`maim\`" + exit 1 +fi +if [[ -n "${use_clipboard}" ]] && ! $(which xclip &>/dev/null); then + notify-send "[screenshot]" "missing \`xclip\`" + exit 1 +fi + +if [[ -z "${use_clipboard}" ]]; then + screenshots_path="${HOME}/screenshots" + echo "${screenshots_path}" + if [[ ! -d "${screenshots_path}" ]]; then + mkdir "${screenshots_path}" + fi + maim -suo "${screenshots_path}/$(date '+%Y%m%d_%H%M%S').png" +else + maim -suo | xclip -selection clipboard -t image/png +fi