Hello community,

here is the log from the commit of package scrot for openSUSE:Factory checked 
in at 2020-07-24 12:29:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/scrot (Old)
 and      /work/SRC/openSUSE:Factory/.scrot.new.3592 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "scrot"

Fri Jul 24 12:29:35 2020 rev:4 rq:822601 version:1.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/scrot/scrot.changes      2020-05-13 
22:56:47.863092765 +0200
+++ /work/SRC/openSUSE:Factory/.scrot.new.3592/scrot.changes    2020-07-24 
12:29:38.190699759 +0200
@@ -1,0 +2,17 @@
+Fri Jul 24 08:53:30 UTC 2020 - Paolo Stivanin <i...@paolostivanin.com>
+
+- Update to 1.4:
+  * Added a new logo 128x128.
+  * New Feature: capture stack/overlapping windows.
+    Depends of libXcomposite (X11). New option: --stack or -k.
+  * Call XCloseDisplay on exit. This is the right thing in every
+    X server program, to release acquired resources.
+  * Fixed autoselect.
+  * Fixed capturing partially hidden windows on the edge of the desktop.
+  * Fixed required number.
+  * Fixed SIGSEGV, if running without DISPLAY environment variable.
+  * Fixed SIGSEGV, option --note.
+  * Minor fix: variable is assigned that is never used.
+  * Stack windows: client list spec EWMH.
+
+-------------------------------------------------------------------

Old:
----
  scrot-1.3.tar.gz

New:
----
  scrot-1.4.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ scrot.spec ++++++
--- /var/tmp/diff_new_pack.Npbqpc/_old  2020-07-24 12:29:39.254700847 +0200
+++ /var/tmp/diff_new_pack.Npbqpc/_new  2020-07-24 12:29:39.258700852 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           scrot
-Version:        1.3
+Version:        1.4
 Release:        0
 Summary:        Screenshot Capture Utility
 License:        SUSE-Scrot
@@ -27,6 +27,7 @@
 BuildRequires:  autoconf
 BuildRequires:  autoconf-archive
 BuildRequires:  automake
+BuildRequires:  libXcomposite-devel
 BuildRequires:  update-desktop-files
 BuildRequires:  pkgconfig(giblib)
 BuildRequires:  pkgconfig(imlib2)

++++++ scrot-1.3.tar.gz -> scrot-1.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scrot-1.3/.github/workflows/full-check.yml 
new/scrot-1.4/.github/workflows/full-check.yml
--- old/scrot-1.3/.github/workflows/full-check.yml      2020-04-16 
06:36:50.000000000 +0200
+++ new/scrot-1.4/.github/workflows/full-check.yml      2020-07-19 
05:11:08.000000000 +0200
@@ -1,3 +1,7 @@
+# Copyright 2020 Jeroen Roovers <j...@gentoo.org>
+# Copyright 2020 Joao Eriberto Mota Filho <eribe...@eriberto.pro.br>
+# Copyright 2020 spycapitan <spycapi...@protonmail.com>
+
 name: full-check
 
 on: [push, pull_request]
@@ -10,7 +14,7 @@
     steps:
     - uses: actions/checkout@v2
     - name: install_dependencies
-      run: sudo apt install autoconf-archive giblib-dev libimlib2-dev libtool 
libxcursor-dev libxfixes-dev
+      run: sudo apt install autoconf-archive giblib-dev libimlib2-dev libtool 
libxcomposite-dev libxfixes-dev
     - name: first_build
       run: |
            ./autogen.sh
@@ -28,4 +32,3 @@
     - name: run_program
       run: |
            scrot -v
-           
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scrot-1.3/ChangeLog new/scrot-1.4/ChangeLog
--- old/scrot-1.3/ChangeLog     2020-04-16 06:36:50.000000000 +0200
+++ new/scrot-1.4/ChangeLog     2020-07-19 05:11:08.000000000 +0200
@@ -1,3 +1,37 @@
+Sat Jul 18 23:23:00 -03:00 2020  Joao Eriberto Mota Filho 
<eribe...@eriberto.pro.br>
+Version 1.4
+
+  [ ideal ]
+
+  * Fix SIGSEGV, if running without DISPLAY environment variable.
+
+  [ Jeroen Roovers ]
+
+  * README.md: mention libXcomposite in build requirements.
+  * Removed libXcursor references.
+
+  [ Joao Eriberto Mota Filho ]
+
+  * Added a new logo 128x128.
+  * Added rights for "ideal", Jeroen Roovers and spycapitan.
+  * Fixed spelling errors in manpage.
+  * Prepare for new release.
+  * Updated manpage.
+  * Using create-man.sh 2.0 from txt2man package from Debian.
+
+  [ spycapitan ]
+
+  * Call XCloseDisplay on exit. This is the right thing in every X server
+    program, to release acquired resources.
+  * Fixed autoselect.
+  * Fixed capturing partially hidden windows on the edge of the desktop.
+  * Fixed required number.
+  * Fixed SIGSEGV, option --note.
+  * Minor fix: variable is assigned that is never used.
+  * New Feature: capture stack/overlapping windows. Depends of libXcomposite
+    (X11). New option: --stack or -k.
+  * Stack windows: client list spec EWMH.
+
 Sun Apr 16 00:08:00 -03:00 2020  Joao Eriberto Mota Filho 
<eribe...@eriberto.pro.br>
 Version 1.3
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scrot-1.3/README.md new/scrot-1.4/README.md
--- old/scrot-1.3/README.md     2020-04-16 06:36:50.000000000 +0200
+++ new/scrot-1.4/README.md     2020-07-19 05:11:08.000000000 +0200
@@ -42,7 +42,7 @@
   - giblib
   - imlib2
   - libtool
-  - libxcursor
+  - libxcomposite
   - libxfixes
 
 To build and install, run the following commands:
@@ -60,5 +60,5 @@
 
 scrot was originally developed by Tom Gilbert under MIT-advertising license.
 
-Currently, source code and newer versions are available at
-https://github.com/resurrecting-open-source-projects/scrot
+Currently, source code is maintained by volunteers. Newer versions are
+available at https://github.com/resurrecting-open-source-projects/scrot
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scrot-1.3/configure.ac new/scrot-1.4/configure.ac
--- old/scrot-1.3/configure.ac  2020-04-16 06:36:50.000000000 +0200
+++ new/scrot-1.4/configure.ac  2020-07-19 05:11:08.000000000 +0200
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to create configure.
 
-AC_INIT([scrot], [1.3], 
[https://github.com/resurrecting-open-source-projects/scrot/issues])
+AC_INIT([scrot], [1.4], 
[https://github.com/resurrecting-open-source-projects/scrot/issues])
 AC_CONFIG_SRCDIR([src/main.c])
 AM_INIT_AUTOMAKE
 AC_CONFIG_HEADER([src/config.h])
Binary files old/scrot-1.3/doc/scrot-128x128.png and 
new/scrot-1.4/doc/scrot-128x128.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scrot-1.3/man/create-man.sh 
new/scrot-1.4/man/create-man.sh
--- old/scrot-1.3/man/create-man.sh     2020-04-16 06:36:50.000000000 +0200
+++ new/scrot-1.4/man/create-man.sh     2020-07-19 05:11:08.000000000 +0200
@@ -1,18 +1,24 @@
 #!/bin/bash
 
-# Copyright 2015-2019 Joao Eriberto Mota Filho <eribe...@eriberto.pro.br>
-# Create a manpage using txt2man command.
-#
+# Copyright 2015-2020 Joao Eriberto Mota Filho <eribe...@eriberto.pro.br>
+# Create a manpage using txt2man command. Version 2.0, 2020-06-19.
+# This file is part of txt2man package for Debian.
 # This script can be used under BSD-3-Clause license.
 
+#--------------------------------------------------------
+# Don't change the following lines
 TEST=$(txt2man -h 2> /dev/null)
 [ "$TEST" ] || { echo -e "\nYou need to install txt2man, from 
https://github.com/mvertes/txt2man.\n";; exit 1; }
 
-T2M_DATE="16 April 2020"
+function create-man {
+txt2man -d "$T2M_DATE" -t $T2M_NAME -r $T2M_NAME-$T2M_VERSION -s $T2M_LEVEL -v 
"$T2M_DESC" $T2M_NAME.txt > $T2M_NAME.$T2M_LEVEL
+}
+#--------------------------------------------------------
+
+# Put here all data for your first manpage (in T2M lines)
+T2M_DATE="18 July 2020"
 T2M_NAME=scrot
-T2M_VERSION=1.3
+T2M_VERSION=1.4
 T2M_LEVEL=1
 T2M_DESC="command line screen capture utility"
-
-# Don't change the following line
-txt2man -d "$T2M_DATE" -t $T2M_NAME -r $T2M_NAME-$T2M_VERSION -s $T2M_LEVEL -v 
"$T2M_DESC" $T2M_NAME.txt > $T2M_NAME.$T2M_LEVEL
+create-man
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scrot-1.3/man/scrot.1 new/scrot-1.4/man/scrot.1
--- old/scrot-1.3/man/scrot.1   2020-04-16 06:36:50.000000000 +0200
+++ new/scrot-1.4/man/scrot.1   2020-07-19 05:11:08.000000000 +0200
@@ -1,5 +1,5 @@
 .\" Text automatically generated by txt2man
-.TH scrot 1 "16 April 2020" "scrot-1.3" "command line screen capture utility"
+.TH scrot 1 "18 July 2020" "scrot-1.4" "command line screen capture utility"
 .SH NAME
 \fBscrot \fP- command line screen capture utility
 \fB
@@ -115,6 +115,11 @@
 .B
 \fB-n\fP, \fB--note\fP
 Draw a text note. See NOTE FORMAT.
+.TP
+.B
+\fB-k\fP, \fB--stack\fP
+Capture stack/overlapped windows and join them together.
+A running Composite Manager is needed.
 .SH SPECIAL STRINGS
 Both the \fB--exec\fP and filename parameters can take format specifiers that 
are
 expanded by \fBscrot\fP when encountered. There are two types of format 
specifier.
@@ -143,7 +148,7 @@
 .PP
 .nf
 .fam C
-    scrot '%Y-%m-%d_$wx$h.png' -e 'mv $f ~/shots/'
+    $ scrot '%Y-%m-%d_$wx$h.png' -e 'mv $f ~/shots/'
 
 .fam T
 .fi
@@ -168,7 +173,7 @@
 
 .fam T
 .fi
-For the color you can use a name or a hexdecimal value.
+For the color you can use a name or a hexadecimal value.
 .PP
 .nf
 .fam C
@@ -180,7 +185,7 @@
 .PP
 .nf
 .fam C
-    scrot --line style=dash,width=3,color="red" --select
+    $ scrot --line style=dash,width=3,color="red" --select
 
 .fam T
 .fi
@@ -202,7 +207,7 @@
 .PP
 .nf
 .fam C
-    scrot --note "-f '/usr/share/fonts/TTF/DroidSans-Bold/40' -x 10 -y 20 -c 
255,0,0,255 -t 'Hi'"
+    $ scrot --note "-f '/usr/share/fonts/TTF/DroidSans-Bold/40' -x 10 -y 20 -c 
255,0,0,255 -t 'Hi'"
 
 .fam T
 .fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scrot-1.3/man/scrot.txt new/scrot-1.4/man/scrot.txt
--- old/scrot-1.3/man/scrot.txt 2020-04-16 06:36:50.000000000 +0200
+++ new/scrot-1.4/man/scrot.txt 2020-07-19 05:11:08.000000000 +0200
@@ -47,6 +47,8 @@
 
   -o, --overwrite    By default scrot does not overwrite the files, use this 
option to allow it.
   -n, --note         Draw a text note. See NOTE FORMAT.
+  -k, --stack        Capture stack/overlapped windows and join them together.
+                     A running Composite Manager is needed.
 
 SPECIAL STRINGS
   Both the --exec and filename parameters can take format specifiers that are
@@ -70,7 +72,7 @@
 
   Example:
 
-    scrot '%Y-%m-%d_$wx$h.png' -e 'mv $f ~/shots/'
+    $ scrot '%Y-%m-%d_$wx$h.png' -e 'mv $f ~/shots/'
 
   This would create a file called something like 2000-10-30_2560x1024.png
   and move it to your shots directory.
@@ -86,13 +88,13 @@
 
     style=solid,width=1
 
-  For the color you can use a name or a hexdecimal value.
+  For the color you can use a name or a hexadecimal value.
 
     color="red" or color="#ff0000"
 
   Example:
 
-    scrot --line style=dash,width=3,color="red" --select
+    $ scrot --line style=dash,width=3,color="red" --select
 
 NOTE FORMAT
   The following specifiers are recognised for the option --note:
@@ -106,7 +108,7 @@
 
   Example:
 
-    scrot --note "-f '/usr/share/fonts/TTF/DroidSans-Bold/40' -x 10 -y 20 -c 
255,0,0,255 -t 'Hi'"
+    $ scrot --note "-f '/usr/share/fonts/TTF/DroidSans-Bold/40' -x 10 -y 20 -c 
255,0,0,255 -t 'Hi'"
 
 AUTHOR
   scrot was originally developed by Tom Gilbert under MIT-advertising license
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scrot-1.3/src/Makefile.am 
new/scrot-1.4/src/Makefile.am
--- old/scrot-1.3/src/Makefile.am       2020-04-16 06:36:50.000000000 +0200
+++ new/scrot-1.4/src/Makefile.am       2020-07-19 05:11:08.000000000 +0200
@@ -2,6 +2,8 @@
 #                                   gilbe...@linuxbrit.co.uk,
 #                                   scrot_su...@linuxbrit.co.uk>
 # Copyright 2016      Joao Eriberto Mota Filho <eribe...@eriberto.pro.br>
+# Copyright 2020      Jeroen Roovers <j...@gentoo.org>
+# Copyright 2020      spycapitan <spycapi...@protonmail.com>
 #
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to
@@ -34,4 +36,4 @@
 bin_PROGRAMS      = scrot
 scrot_SOURCES       = main.c getopt.c getopt1.c getopt.h scrot.h \
 options.c options.h debug.h imlib.c structs.h note.c note.h
-scrot_LDADD         = -lX11 -lXfixes -lXcursor @GIBLIB_LIBS@
+scrot_LDADD         = -lX11 -lXfixes -lXcomposite @GIBLIB_LIBS@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scrot-1.3/src/imlib.c new/scrot-1.4/src/imlib.c
--- old/scrot-1.3/src/imlib.c   2020-04-16 06:36:50.000000000 +0200
+++ new/scrot-1.4/src/imlib.c   2020-07-19 05:11:08.000000000 +0200
@@ -1,7 +1,9 @@
 /* imlib.c
 
 Copyright 1999-2000 Tom Gilbert
+Copyright 2020      ideal <idealit...@gmail.com>
 Copyright 2020      Sean Brennan <zett...@gmail.com>
+Copyright 2020      spycapitan <spycapi...@protonmail.com>
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to
@@ -34,17 +36,28 @@
 int depth;
 Window root = 0;
 
+
+/* atexit register func. */
+static void uninit_x_and_imlib(void)
+{
+  if (disp) XCloseDisplay(disp);
+}
+
+
 void
 init_x_and_imlib(char *dispstr, int screen_num)
 {
    disp = XOpenDisplay(dispstr);
    if (!disp) {
       fprintf(stderr, "Can't open X display. It *is* running, yeah? [");
-      fprintf(stderr, "%s", dispstr);
-      fprintf(stderr, "]");
+      fprintf(stderr, "%s", dispstr ? dispstr :
+              (getenv("DISPLAY") ? getenv("DISPLAY") : "NULL"));
+      fprintf(stderr, "]\n");
       exit(EXIT_FAILURE);
    }
 
+   atexit(uninit_x_and_imlib);
+
    if (screen_num)
       scr = ScreenOfDisplay(disp, screen_num);
    else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scrot-1.3/src/main.c new/scrot-1.4/src/main.c
--- old/scrot-1.3/src/main.c    2020-04-16 06:36:50.000000000 +0200
+++ new/scrot-1.4/src/main.c    2020-07-19 05:11:08.000000000 +0200
@@ -10,6 +10,7 @@
 Copyright 2019      Jade Auer <j...@trashwitch.dev>
 Copyright 2020      Hinigatsu <hiniga...@protonmail.com>
 Copyright 2020      Sean Brennan <zett...@gmail.com>
+Copyright 2020      spycapitan <spycapi...@protonmail.com>
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to
@@ -72,6 +73,8 @@
     scrot_do_delay();
     if (opt.multidisp) {
       image = scrot_grab_shot_multi();
+    } else if (opt.stack) {
+      image = scrot_grab_stack_windows();
     } else {
       image = scrot_grab_shot();
     }
@@ -808,6 +811,74 @@
 }
 
 Imlib_Image
+scrot_grab_stack_windows(void)
+{
+    if (XGetSelectionOwner(disp, XInternAtom(disp, "_NET_WM_CM_S0", False)) == 
None) {
+        fprintf(stderr, "Composite Manager is not running, required to use 
this option.\n");
+        exit(EXIT_FAILURE);
+    }
+
+    unsigned long nitems_return;
+    unsigned long bytes_after_return;
+    unsigned char *prop_return;
+    long long_offset = 0L;
+    long long_length = ~0L;
+    Bool delete      = False;
+    int actual_format_return;
+    Atom actual_type_return;
+    gib_list *list_images   = NULL;
+    Imlib_Image im          = NULL;
+    XImage *ximage          = NULL;
+    XWindowAttributes attr;
+
+#define EWMH_CLIENT_LIST "_NET_CLIENT_LIST" // spec EWMH
+
+    Atom atom_prop = XInternAtom(disp, EWMH_CLIENT_LIST, False);
+    Atom atom_type = AnyPropertyType;
+
+    int result = XGetWindowProperty(disp, root, atom_prop, long_offset, 
long_length,
+                                delete, atom_type, &actual_type_return, 
&actual_format_return,
+                                &nitems_return, &bytes_after_return, 
&prop_return);
+
+    if (result != Success || nitems_return == 0) {
+       fprintf(stderr, "Failed XGetWindowProperty: " EWMH_CLIENT_LIST "\n");
+       exit(EXIT_FAILURE);
+    }
+
+    XCompositeRedirectSubwindows(disp, root, CompositeRedirectAutomatic);
+
+    for (int i = 0; i < nitems_return; i++) {
+
+        Window win = *((Window*)prop_return + i);
+
+        if (0 == XGetWindowAttributes(disp, win, &attr)) {
+           fprintf(stderr, "Failed XGetWindowAttributes\n");
+           exit(EXIT_FAILURE);
+        }
+
+        /* Only visible windows */
+        if (attr.map_state != IsViewable) {
+            continue;
+        }
+
+        ximage = XGetImage(disp, win, 0, 0, attr.width, attr.height, 
AllPlanes, ZPixmap);
+
+        if (ximage == NULL) {
+            fprintf(stderr, "Failed XGetImage: Window id 0x%lx.\n", win);
+            exit(EXIT_FAILURE);
+        }
+
+        im = imlib_create_image_from_ximage(ximage, NULL, attr.x, attr.y, 
attr.width, attr.height, 1);
+
+        XFree(ximage);
+
+        list_images = gib_list_add_end(list_images, im);
+    }
+
+    return stalk_image_concat(list_images);
+}
+
+Imlib_Image
 scrot_grab_shot_multi(void)
 {
   int screens;
@@ -821,8 +892,6 @@
   if (screens < 2)
     return scrot_grab_shot();
 
-  dispstr = DisplayString(disp);
-
   subdisp = gib_estrdup(DisplayString(disp));
 
   for (i = 0; i < screens; i++) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scrot-1.3/src/note.c new/scrot-1.4/src/note.c
--- old/scrot-1.3/src/note.c    2020-04-16 06:36:50.000000000 +0200
+++ new/scrot-1.4/src/note.c    2020-07-19 05:11:08.000000000 +0200
@@ -1,6 +1,7 @@
 /* note.c
 
-Copyright 2019  Daniel T. Borelli <danieltbore...@gmail.com>
+Copyright 2019 Daniel T. Borelli <danieltbore...@gmail.com>
+Copyright 2020 spycapitan <spycapi...@protonmail.com>
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to
@@ -49,12 +50,12 @@
 
 static inline void next_space(char **tok)
 {
-  while (*++*tok == ' ');
+  while (*++*tok == ' ' && **tok != '\0');
 }
 
 static inline void next_not_space(char **tok)
 {
-  while (*++*tok != ' ');
+  while (*++*tok != ' ' && **tok != '\0');
 }
 
 void scrot_note_new(char *format)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scrot-1.3/src/options.c new/scrot-1.4/src/options.c
--- old/scrot-1.3/src/options.c 2020-04-16 06:36:50.000000000 +0200
+++ new/scrot-1.4/src/options.c 2020-07-19 05:11:08.000000000 +0200
@@ -12,6 +12,7 @@
 Copyright 2019      Daniel T. Borelli <danieltbore...@gmail.com>
 Copyright 2019      Jade Auer <j...@trashwitch.dev>
 Copyright 2020      Sean Brennan <zett...@gmail.com>
+Copyright 2020      spycapitan <spycapi...@protonmail.com>
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to
@@ -52,6 +53,7 @@
    opt.line_width = 1;
    opt.line_color = NULL;
    opt.display = NULL;
+   opt.stack = 0;
 
    /* Parse the cmdline args */
    scrot_parse_option_array(argc, argv);
@@ -64,7 +66,9 @@
    int ret = 0;
    errno = 0;
 
-   ret = strtol(str, &end, 10);
+   if (str != NULL) {
+      ret = strtol(str, &end, 10);
+   }
 
    if (str == end) {
       fprintf(stderr, "the option is not a number: %s\n", end);
@@ -157,7 +161,7 @@
 static void
 scrot_parse_option_array(int argc, char **argv)
 {
-   static char stropts[] = "a:ofpbcd:e:hmq:st:uv+:zn:l:D:";
+   static char stropts[] = "a:ofpbcd:e:hmq:st:uv+:zn:l:D:k";
 
    static struct option lopts[] = {
       /* actions */
@@ -173,6 +177,7 @@
       {"pointer", 0, 0, 'p'},
       {"freeze", 0, 0, 'f'},
       {"overwrite", 0, 0, 'o'},
+      {"stack", 0, 0,'k'},
       /* toggles */
       {"thumb", 1, 0, 't'},
       {"delay", 1, 0, 'd'},
@@ -255,6 +260,9 @@
         case 'l':
            options_parse_line(optarg);
            break;
+        case 'k':
+           opt.stack = 1;
+        break;
         case '?':
            exit(EXIT_FAILURE);
         default:
@@ -334,7 +342,19 @@
      opt.autoselect_y=dimensions[1];
      opt.autoselect_w=dimensions[2];
      opt.autoselect_h=dimensions[3];
+
+     if (i != 4)
+     {
+       fprintf(stderr, "option 'autoselect' require 4 arguments\n");
+       exit(EXIT_FAILURE);
+     }
    }
+   else {
+       fprintf(stderr, "invalid format for option -- 'autoselect'\n");
+       exit(EXIT_FAILURE);
+   }
+
+
 }
 
 void
@@ -454,7 +474,8 @@
            "                            See SELECTION STYLE\n"
            "  -n, --note                Draw a text note.\n"
            "                            See NOTE FORMAT\n"
-
+           "  -k, --stack               Capture stack/overlaped windows and 
join them together.\n"
+           "                            A running Composite Manager is 
needed.\n"
            "\n" "  SPECIAL STRINGS\n"
            "  Both the --exec and filename parameters can take format 
specifiers\n"
            "  that are expanded by " SCROT_PACKAGE " when encountered.\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scrot-1.3/src/options.h new/scrot-1.4/src/options.h
--- old/scrot-1.3/src/options.h 2020-04-16 06:36:50.000000000 +0200
+++ new/scrot-1.4/src/options.h 2020-07-19 05:11:08.000000000 +0200
@@ -7,7 +7,8 @@
 Copyright 2010      Ibragimov Rinat <ibragimovri...@mail.ru>
 Copyright 2017      Stoney Sauce <stoneysa...@gmail.com>
 Copyright 2019      Daniel T. Borelli <danieltbore...@gmail.com>
-Copýright 2020      Sean Brennan <zett...@gmail.com>
+Copyright 2020      Sean Brennan <zett...@gmail.com>
+Copyright 2020      spycapitan <spycapi...@protonmail.com>
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to
@@ -52,6 +53,7 @@
    int overwrite;
    int line_style;
    int line_width;
+   int stack;
    char *line_color;
    char *output_file;
    char *thumb_file;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/scrot-1.3/src/scrot.h new/scrot-1.4/src/scrot.h
--- old/scrot-1.3/src/scrot.h   2020-04-16 06:36:50.000000000 +0200
+++ new/scrot-1.4/src/scrot.h   2020-07-19 05:11:08.000000000 +0200
@@ -5,7 +5,9 @@
                                   scrot_su...@linuxbrit.co.uk>
 Copyright 2009      James Cameron <qu...@us.netrek.org>
 Copyright 2019      Daniel T. Borelli <danieltbore...@gmail.com>
+Copyright 2020      Jeroen Roovers <j...@gentoo.org>
 Copyright 2020      Hinigatsu <hiniga...@protonmail.com>
+Copyright 2020      spycapitan <spycapi...@protonmail.com>
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to
@@ -39,7 +41,7 @@
 #include <X11/Xresource.h>
 #include <X11/cursorfont.h>
 #include <X11/extensions/Xfixes.h>
-#include <X11/Xcursor/Xcursor.h>
+#include <X11/extensions/Xcomposite.h>
 
 #include <stdio.h>
 #include <string.h>
@@ -94,6 +96,7 @@
                 char *filename_im, char *filename_thumb,
                 Imlib_Image im);
 Imlib_Image scrot_grab_shot_multi(void);
+Imlib_Image scrot_grab_stack_windows(void);
 Imlib_Image stalk_image_concat(gib_list *images);
 
 void scrot_grab_mouse_pointer(const Imlib_Image image,


Reply via email to