summary refs log tree commit diff
path: root/pkgs/applications/graphics/gscreenshot/default.nix
diff options
context:
space:
mode:
authorRichard Davis <davisrichard437@gmail.com>2023-01-24 20:30:46 -0500
committerpennae <82953136+pennae@users.noreply.github.com>2023-04-12 19:06:55 +0200
commit5128a000ada7cf9425d8e62676796d9accc4ce76 (patch)
tree1c0311f120484ab71c500634fdf03c3a9ece2429 /pkgs/applications/graphics/gscreenshot/default.nix
parent1501d6e0b9ba463ddad5569705d1ee50f83ca4af (diff)
downloadnixpkgs-5128a000ada7cf9425d8e62676796d9accc4ce76.tar
nixpkgs-5128a000ada7cf9425d8e62676796d9accc4ce76.tar.gz
nixpkgs-5128a000ada7cf9425d8e62676796d9accc4ce76.tar.bz2
nixpkgs-5128a000ada7cf9425d8e62676796d9accc4ce76.tar.lz
nixpkgs-5128a000ada7cf9425d8e62676796d9accc4ce76.tar.xz
nixpkgs-5128a000ada7cf9425d8e62676796d9accc4ce76.tar.zst
nixpkgs-5128a000ada7cf9425d8e62676796d9accc4ce76.zip
gscreenshot: init at 3.4.0
https://github.com/thenaterhood/gscreenshot/releases/tag/v3.4.0
Diffstat (limited to 'pkgs/applications/graphics/gscreenshot/default.nix')
-rw-r--r--pkgs/applications/graphics/gscreenshot/default.nix90
1 files changed, 90 insertions, 0 deletions
diff --git a/pkgs/applications/graphics/gscreenshot/default.nix b/pkgs/applications/graphics/gscreenshot/default.nix
new file mode 100644
index 00000000000..0847bc87cfd
--- /dev/null
+++ b/pkgs/applications/graphics/gscreenshot/default.nix
@@ -0,0 +1,90 @@
+{ lib
+, fetchFromGitHub
+, python3Packages
+, gettext
+, gobject-introspection
+, gtk3
+, wrapGAppsHook
+, xdg-utils
+, scrot
+, slop
+, xclip
+, grim
+, slurp
+, wl-clipboard
+, waylandSupport ? true
+, x11Support ? true
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "gscreenshot";
+  version = "3.4.0";
+
+  src = fetchFromGitHub {
+    owner = "thenaterhood";
+    repo = "${pname}";
+    rev = "v${version}";
+    sha256 = "YuISiTUReX9IQpckIgbt03CY7klnog/IeOtfBoQ1DZM=";
+  };
+
+  # needed for wrapGAppsHook to function
+  strictDeps = false;
+  # tests require a display and fail
+  doCheck = false;
+
+  nativeBuildInputs = [ wrapGAppsHook ];
+  propagatedBuildInputs = [
+    gettext
+    gobject-introspection
+    gtk3
+    xdg-utils
+  ] ++ lib.optionals waylandSupport [
+    # wayland deps
+    grim
+    slurp
+    wl-clipboard
+  ] ++ lib.optionals x11Support [
+    # X11 deps
+    scrot
+    slop
+    xclip
+    python3Packages.xlib
+  ] ++ (with python3Packages; [
+    pillow
+    pygobject3
+    setuptools
+  ]);
+
+  patches = [ ./0001-Changing-paths-to-be-nix-compatible.patch ];
+
+  meta = {
+    description = "A screenshot frontend (CLI and GUI) for a variety of screenshot backends";
+
+    longDescription = ''
+      gscreenshot provides a common frontend and expanded functionality to a
+      number of X11 and Wayland screenshot and region selection utilties.
+
+      In a nutshell, gscreenshot supports the following:
+
+      - Capturing a full-screen screenshot
+      - Capturing a region of the screen interactively
+      - Capturing a window interactively
+      - Capturing the cursor
+      - Capturing the cursor, using an alternate cursor glyph
+      - Capturing a screenshot with a delay
+      - Showing a notification when a screenshot is taken
+      - Capturing a screenshot from the command line or a custom script
+      - Capturing a screenshot using a GUI
+      - Saving to a variety of image formats including 'bmp', 'eps', 'gif', 'jpeg', 'pcx', 'pdf', 'ppm', 'tiff', 'png', and 'webp'.
+      - Copying a screenshot to the system clipboard
+      - Opening a screenshot in the configured application after capture
+
+      Other than region selection, gscreenshot's CLI is non-interactive and is suitable for use in scripts.
+    '';
+
+    homepage = "https://github.com/thenaterhood/gscreenshot";
+    license = lib.licenses.gpl2Only;
+    platforms = lib.platforms.linux;
+    maintainers = [ lib.maintainers.davisrichard437 ];
+  };
+}