From 6f6d67d20f12f94cacfc0f85a2548cfbe4b972d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Fri, 28 Sep 2018 09:57:47 +0200 Subject: Add xshot package --- profiles/desktop/x/packages | 3 +++ x11-misc/xshot/files/xshot | 56 +++++++++++++++++++++++++++++++++++++++++++ x11-misc/xshot/xshot-1.ebuild | 15 ++++++++++++ 3 files changed, 74 insertions(+) create mode 100755 x11-misc/xshot/files/xshot create mode 100644 x11-misc/xshot/xshot-1.ebuild diff --git a/profiles/desktop/x/packages b/profiles/desktop/x/packages index cf7718d..3601a6d 100644 --- a/profiles/desktop/x/packages +++ b/profiles/desktop/x/packages @@ -3,6 +3,9 @@ x11-wm/i3 sys-power/pm-i3lock x11-themes/background-lnxpcs +# My extensions +x11-misc/xshot + # X11 base x11-base/xorg-server x11-base/xorg-drivers diff --git a/x11-misc/xshot/files/xshot b/x11-misc/xshot/files/xshot new file mode 100755 index 0000000..decebc5 --- /dev/null +++ b/x11-misc/xshot/files/xshot @@ -0,0 +1,56 @@ +#!/bin/sh + +MODE= +OUTPUT= +while [ $# -gt 0 ]; do + case "$1" in + -h|--help) + echo "Usage: xshot [MODE] [OUTPUT]" + echo "Make Xorg screenshot" + echo + echo "Modes:" + echo " window (w)" + echo " screen (s)" + echo " desktop (d)" + echo "Default mode is window." + exit 0 + ;; + window|screen|desktop) + MODE="$1" + ;; + *) + if [ -z "$MODE" ]; then + MODE="$1" + elif [ -z "$OUTPUT" ]; then + OUTPUT="$1" + else + echo "Unknown argument: $1" >&2 + exit 1 + fi + esac + shift +done + +[ -n "$MODE" ] || MODE=window + +case "$MODE" in + window|w) + # TODO how about getting window class and naming it according to it + [ -n "$OUTPUT" ] || OUTPUT="xshot_$(date +%F_%H%M%S_%N).png" + import "$OUTPUT" + ;; + screen|s) + # TODO mode complicated + # https://unix.stackexchange.com/questions/247935/automatically-take-screenshot-of-specific-display-in-x#247936 + # This is going to work but question is how to specify screen/which screen + # is currently active + exit 1 + ;; + desktop|d) + [ -n "$OUTPUT" ] || OUTPUT="xshot_$(date +%F_%H%M%S_%N).png" + import -window root "$OUTPUT" + ;; + *) + echo "Unknown mode: $MODE" >&2 + exit 1 +esac diff --git a/x11-misc/xshot/xshot-1.ebuild b/x11-misc/xshot/xshot-1.ebuild new file mode 100644 index 0000000..8e89304 --- /dev/null +++ b/x11-misc/xshot/xshot-1.ebuild @@ -0,0 +1,15 @@ +EAPI=7 + +DESCRIPTION="Xorg easy and fast screenshot utility script" +HOMEPAGE="http://git.cynerd.cz/gentoo-personal-overlay/" +S="${WORKDIR}" + +LICENSE="GPL-3.0+" +SLOT="0" +KEYWORDS="amd64 x86" + +RDEPEND="media-gfx/imagemagick" + +src_install() { + doexe "${FILESDIR}/xshot" +} -- cgit v1.2.3