Fri Mar 13 22:16:21 -03:00 2026  Joao Eriberto Mota Filho <eriberto@eriberto.pro.br>
Version 2.0.0

 [ NRK ] alias @N-R-K

 * Fixes: `--line mode=edge` glitches under compositors (#423).
 * Fixes: Selection border getting into the screenshot with `--freeze` (#409).
 * Fixes: Ringing the bell after taking screenshot (#413).
 * Improvement: Use Xrandr instead of Xinerama for monitor capture (#406).
 * Improvement: Default line width is derived from the display DPI (#420).
 * Document: Correct description of $f and $m format specifier (#419).
 * Removed: `--note` and `--script` options (#420).
 * Document: Minimum required version for the required libraries (#420).
 * Upgrade: Upgrade minimum requiring Imlib2 version to 1.11.0 (#420).

 [ Ratiq Narwal ] alias @DogeTheBeast

 * Fixes: Mutually exclusive zsh completion (#415).
 * Improvement: Install zsh and bash completion by default (#415).

 [ Matt Stevens ] alias @Matt-Deacalion

 * Document: Correct image magick example (#414).


Wed Apr 02 12:25:52 -03:00 2025  Joao Eriberto Mota Filho <eriberto@eriberto.pro.br>
Version 1.12.1

 [ NRK ] alias @N-R-K

 * Fixes: Do no default to --line mode=edge if --freeze is also specified
   since that combination can lead to artifacts (#408).
 * Document: Correct description of edge mode regarding -f flag.

Tue Mar 25 22:52:44 -03:00 2025  Joao Eriberto Mota Filho <eriberto@eriberto.pro.br>
Version 1.12

 [ 7xnl ]

 * New feature: Allow cancelling selection by pressing alternate button.

 [ NRK ] alias @N-R-K

 * Fixes: Racy behavior of --freeze where the screenshot was different than
   the content it was frozen on (#381).
 * Fixes: Hanging when invoked with a button pressed (#389).
 * Fixes: Certain visual glitches with selection when run under
   a compositor (#387).
 * Document: Correct description of -m in help string.

 [ k4gi@pm.me ]

 * Document: Formatting of -u in manpage.

 [ Vitaly Zdanevich ]

 * Document: Clarify "other" formats in the README.

Mon Jun 10 14:36:36 -03:00 2024  Joao Eriberto Mota Filho <eriberto@eriberto.pro.br>
Version 1.11.1

 [ NRK ] alias @N-R-K

 * Fixes: remove trailing slash from etc/ from Makefile.am to allow the
   'make dist' command to run correctly.

Sun Jun 09 21:19:28 -03:00 2024  Joao Eriberto Mota Filho <eriberto@eriberto.pro.br>
Version 1.11

 [ Alejandro Cervera ] alias @tricantivu

 * Document: Correct strftime section in the manual

 [ Guilherme Janczak ] alias @guijan

 * Improvement: rewrite autogen.sh to be simpler and more robust
 * Fixes: replace dprintf() calls to fix the SmartOS port

 [ NRK ] alias @N-R-K

 * New feature: zsh and bash completion
 * Improvement: more detailed `--help` output and new `--list-options` flag
 * Improvement: better error reporting on newer imlib2 versions
 * Improvement: better handle mutually exclusive options
 * Improvement: `--stack` no longer errors out if no compositor is running
 * Improvement: print a warning if output file was changed
 * Improvement: default file-name extension is now based on the format used
 * Improvement: selection line mode will be automatically set to "edge" mode
   if no compositors is running
 * Document: add examples of using scrot with other utilities in manpage
 * Fixes: selection borders appearing in the screenshot (PR: #378)
 * Fixes: reject filenames with trailing slash
 * Fixes: incorrect line opacity mapping
 * Fixes: don't return 0 on exec failure
 * Fixes: bad extension detection
 * Fixes: stricter optional argument parsing
 * Fixes: buffer overrun due to bad x,y in imlib_create_image_from_ximage call
 * Fixes: printing potentially truncated file-size
 * Fixes: various memory leaks

Sat Jun 10 15:41:23 -03:00 2023  Joao Eriberto Mota Filho <eriberto@eriberto.pro.br>
Version 1.10

 [ Guilherme Janczak ] alias @guijan

 * Improvement: Timing in `scrot --delay`.
 * Improvement: Screenshot timestamps timing.
 * Improvement: Robustness of default CFLAGS.
 * Improvement: Don't duplicate {C,CPP}FLAGS in automake.
 * Document: Not all compositors support opacity.
 * Document: Depend on an interface, not an implementation.
 * Fixes: Use portable ifdef guards.

 [ NRK ] alias @N-R-K

 * New option: --compression to specify a compression level. Note that certain
   formats (such as PNG) will now use `--compression` instead of `--quality`.
 * Improvement: Use -O3 and do not build debug info by default if no CFLAGS
   was set by the user.
 * Improvement: Disable asserts by default by using scrotAssert().
 * Improvement: Fatally error out in case the mouse pointer image cannot be
   acquired.
 * Deprecate: --note.
 * Fixes: DestroyNotify regression with --line mode edge and non-default
   --select option.
 * Fixes: Build failure on c99 or -std=c99.
 * Fixes: Faulty strerror call.
 * Fixes: Loose suboption parsing for --line.
 * Fixes: Reset delaySelect properly.
 * Fixes: Unnecessary filename length check.
 * Fixes: Removed various unnecessary allocation and string duplications.
 * Fixes: Memory leak.
 * Fixes: Check for WIFEXITED first before using WEXITSTATUS.
 * Fixes: Use documented PACKAGE_NAME and PACKAGE_VERSION macros instead.
 * Document: Fixed license to MIT-feh. NOTE: this is NOT a license change, we
   simply fixed the document to correctly identify the license.
 * Document: Make it clear --window option takes an argument.
 * Document: Clarify imlib2 feature requirement.
 * Document: Fix --quality description in manpage.

Mon Apr 10 23:57:58 -03:00 2023  Joao Eriberto Mota Filho <eriberto@eriberto.pro.br>
Version 1.9

 [ Daniel T. Borelli ] alias @daltomi

 * Fixes: Add delay to all capture options
 * Fixes: Indicate that the value is not an integer
 * New option: --window

 [ Guilherme Janczak ] alias @guijan

 * Deprecate -S
 * Fixes: compilation on CentOS 7
 * Fixes: multiple bugs in output file handling
 * Fixes: multiple bugs in scrot's -C option
 * Fixes: restore "keep ratio" functionality in --thumb

 [ NRK ] alias @N-R-K

 * Fixes: Introduce scrotSleep() which deals with EINTR
 * New option: add --format flag
 * Improvement: allow `b` prefix in --delay argument
 * Fixes: displaying incorrect error message (bad err() usage).
 * Fixes: memory leak on multiple -F options
 * Fixes: filenameThumb memory leak
 * Fixes: hostname potentially getting truncated
 * Fixes: imPrintf: avoid going out of bound
 * Improvement: imPrintf: use dynamic buffer instead of strlcat
 * Improvement: manpage: use conventional brackets to indicate optional argument
 * Fixes: remove unnecessary allocation and truncation in display name
 * Fixes: replace unchecked calloc calls with ecalloc
 * Fixes: scrot.c: include stdint.h (fixes compile failure on certain systems)
 * Improvement: scrotDoDelay: output countdown to stderr
 * Fixes: Edge case of dot in last char when detecting file extension
 * Fixes: handle DestroyNotify event
 * Fixes: faulty assert, handle XCreateGC() error properly
 * Fixes: check type of XEvent union before reading it

Fri Jan 20 23:46:15 -03:00 2023  Joao Eriberto Mota Filho <eriberto@eriberto.pro.br>
Version 1.8.1

 [ Guilherme Janczak ] alias @guijan

 * Fixed libbsd feature test confusion. Rationale: users expressed confusion
   when using the old "--without-libbsd" configure flag. Some assumed that it
   compiles scrot without libbsd, but it only made the build script error if
   libbsd is a dependency. This is useful to package maintainers: it gives them
   a yes/no answer on whether the library is a dependency on their system. The
   old configure flag has been replaced by a more verbose
   "--enable-libbsd-feature-test".

 [ Joao Eriberto Mota Filho ] alias @eribertomota

 * Fixed 'make dist', adding some files to bootstrapped tarballs.

Mon Jan 09 23:33:55 -03:00 2023  Joao Eriberto Mota Filho <eriberto@eriberto.pro.br>
Version 1.8

 [ Daniel T. Borelli ] alias @daltomi

 * Created FAQ file.
 * README.md: added a reference to libXinerama.
 * Improvement: added new format specifier $W: name of the window.
 * Fixes: automake: using default compression format.
 * Bug fixed: issue when not showing counting progress in terminal.
 * Several other code improvements.

 [ Guilherme Janczak ] alias @guijan

 * Improvement: modified logo image, shown logo image in README.md.
 * Improvement: added estrdup function, renamed identifiers that use reserved
   names.
 * Improvement: untangle headers files, removed reference to oldstable in
   CONTRIBUTING.md.
 * Improvement: small CI revamp: added cygwin, added distcheck, updated MacOS
   CI.
 * Improvement: added informative error messages when parsing args.
 * Fixes: C99: empty initializer braces.
 * Fixes: removed VLA and imlib2 deprecated DATA32 type.
 * Fixes: MacOS CI build failures.
 * Autotools: removed stamp-h.in, check for more libbsd functions, added link
   time optimization(-flto) and warnings.

 [ Joao Eriberto Mota Filho ] alias @eribertomota

 * Removed copyright symbol from some source files.
 * Updated copyright notices.
 * Added SEE ALSO section to manpage.
 * Updated manpage.

 [ N-R-K ]

 * Fixes: memleak and potentially bad free data.
 * Fixes: shift error (undefined behavior) and remove deprecated type DATA32.

 [ Sam James ] alias @thesamesam

 * Fixes: autotools: respect --docdir.

 [ Zev Weiss ] alias @zevweiss

 * New option: added -M/--monitor option to capture a Xinerama display.
 * Added new library dependency: libXinerama.

Tue Nov 09 20:41:00 -03:00 2021  Joao Eriberto Mota Filho <eriberto@eriberto.pro.br>
Version 1.7

 [ a1346054 ]

 * Fixed: code style, add missing final newline.
 * Fixed: autogen.sh: fix some shellcheck issues.

 [ c0dev0id ]

 * Replace insecure c-strings functions (following libbsd integration).

 [ Daniel T. Borelli ] alias @daltomi

 * New option: --select=hole (-shole), hole selection area.
 * New option: --select=hide (-shide), hide selection area, support image.
 * New option: --select=blur (-sblur), blur selection area.
 * New option: (-) add redirection to standard output (format PNG).
 * Improvement option: --stack, add an optional join direction (v/h).
 * Fixed: free memory image and font resources.
 * Bug fixed: segfault if mouse cursor image was not obtained.
 * Use err/warn functions (following libbsd integration).
 * Others various code improvement.

 [ Guilherme Janczak ] alias @guijan

 * Added new library dependency: libbsd.
 * Autotools: added option --without-libbsd.
 * Improvement: Autotools: remove unused files, remove obsolete macros, assume
   C89 functions exist, delete scrot.spec.
 * Improvement: remove unused C macro, use strndup function, use designated
   initializers (C99).
 * Improvement: Doc: polish the txt2man manual, CONTRIBUTING.md, TODO.md.
 * Others various code improvement.

 [ IFo Hancroft ] alias @ifohancroft

 * New option: --file (-F), provide the filename as an option.
 * Fixed: code style guideline violations (WebKit).
 * Use strlcpy/strlcat (following libbsd integration).

 [ Joao Eriberto Mota Filho ] alias @eribertomota

 * Fixed a mistake in README.md.

 [ Peter Wu ] alias @peterwu

 * Convert all source files to the WebKit style.

 [ Wilson Smith ] alias @0wsmith

 * New option: --ignorekeyboard (-i), Don't exit for keyboard input. ESC still
   exits.

Sun Jul 25 23:30:00 -03:00 2021  Joao Eriberto Mota Filho <eriberto@eriberto.pro.br>
Version 1.6

  [ Christopher R. Nelson ] alias @languidnights

  * Removed dependence on giblib library.

  [ Daniel T. Borelli ] alias @daltomi

  * Fixed the capture when a window is hidden behind another.
  * Fixed the capture of the edge of the focused window.
  * Avoid capturing the selection box when drag and drop quickly.
  * Fixed issue when selection reaches the end of screen.
  * New feature: resize the selection with the arrow keys.
  * New feature: support script Imlib2 commands.
  * New feature: added WM_CLASS to exclude selection mode edge from some
    composite window managers.
  * Improvement: selection option, capture the mouse cursor when the delay
    option is used.
  * Removed forced compiler options: -g -O3

  [ Guilherme Janczak ] alias @guijan

  * Removed the local implementation function: strdup.
  * Removed the local implementation function: getopt_long.
  * Removed unused file debug.h.

  [ Martin C ] alias @Cationiz3r

  * New feature: change the cursor pointer according to the movement of the
    selection.

  [ Shawn Webb ] alias @lattera

  * Fixed Control Flow Integrity complain in HardenedBSD.

Thu Feb 04 22:35:00 -03:00 2021  Joao Eriberto Mota Filho <eriberto@eriberto.pro.br>
Version 1.5

  [ c0dev0id ]

  * Fixed compilation on Sparc64.

  [ Cungsten Tarbide ]

  * New feature: retry to grab the keyboard for 1s in 50ms intervals if it is
    still being grabbed by the windows manager.

  [ daltomi ]

  * Added 'make dist' feature.
  * Do not record pointer when selecting an area.
  * Fixed a possible overflow in src/options.c.
  * Fixed a segfault with --multidisp option.
  * Fixed issues when file extension is more than 3 characters.
  * New feature: allow save thumbnail without extension.
  * New option --class (-C): discriminate windows by class name.
  * Support various modes of drawing selection.
  * Use correct type for calloc and other assignments.

  [ Joao Eriberto Mota Filho ]

  * Added rights for blockparole, c0dev0id, Cungsten Tarbide, daltomi and
    nothub.

  [ nothub ]

  * Fix grammar in an error message.

Sat Jul 18 23:23:00 -03:00 2020  Joao Eriberto Mota Filho <eriberto@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 <eriberto@eriberto.pro.br>
Version 1.3

  [ Joao Eriberto Mota Filho ]

  * Added rights for Hinigatsu and Sean Brennan.
  * Created full-check.yml to provide CI tests.
  * Prepare for new release.
  * Updated manpage.
  * Using an updated README.md as replace for README.

  [ Hinigatsu ]

  * Added delay option to autoselect.
  * Fixed bug #39, mouse pointer not captured with -a -p options.

  [ Sean Brennan ]

  * Added -D option to specify the display to use.

Sun Aug 19 08:35:00 -03:00 2019  Joao Eriberto Mota Filho <eriberto@eriberto.pro.br>
Version 1.2

  [ Daniel T. Borelli ]

  * Changed the cursor to indicate the selection mode.
  * Fixed GCC >=8.0 warning: -Wstringop-truncation.
  * Evaluate return of strftime.

  [ Jade Auer ]

  * Added a gitignore to prevent accidentally including any files generated by
    autotools.

  [ Santhosh Raju ]

  * Fixes ambiguous else warning by providing proper braces for if in
    src/getopt.c.
  * Fixed missing <string.h> warnings.

  [ Joao Eriberto Mota Filho ]

  * Added rights for Santhosh Raju.
  * Prepare for new release.

Tue Jul 11 23:45:00 -03:00 2019  Joao Eriberto Mota Filho <eriberto@eriberto.pro.br>
Version 1.1.1

  [ Daniel T. Borelli ]

  * Update manpage and help.

  [ Joao Eriberto Mota Filho ]

  * New release.

Tue Jul 09 18:51:00 -03:00 2019  Joao Eriberto Mota Filho <eriberto@eriberto.pro.br>
Version 1.1

  [ Daniel T. Borelli ]

  * Added (-n, --note) to draw a text.
  * Added (-l, --line) to define the line to use to select an area to capture.

  [ Jade Auer ]

  * Added a specifier ($a) to embed hostname in output file.

  [ Joao Eriberto Mota Filho ]

  * Added a check for autoconf-archive presence in configure.ac.
  * Added rights for Jade.
  * Adjusted Makefile.am to remove src/scrot_config.h when distclean.
  * Updated manpage.
  * Final adjustments for a new release.
  * Several tests in Debian.

Sun Jun 11 11:01:00 -03:00 2019  Joao Eriberto Mota Filho <eriberto@eriberto.pro.br>
Version 1.0

  [ Daniel Lublin ]

  * Added EXIT_FAILURE when are no arguments required by some options. Fix
    Debian bug #685173.
  * Improved the manpage to show undocumented options.

  [ Daniel T. Borelli ]

  * Added option: --overwrite or -o. Now, by default do not overwrite the file.
    Fix Debian bug #807139.
  * Added support to grab mouse pointer (-p option). Fix Ubuntu bug #1698375.
  * Added support to freeze the screen when selection is activated (-f option).
  * Do not use gib_eprintf in calls to X11 functions. Fix Ubuntu bug #1523212.
  * Fix: scrot can't save files without extension. Fix Ubuntu bug #148659.
  * Fix: scrot don't complain about invalid numeric argument. Fix Ubuntu
    bug #371784.
  * Fixed some compiling warnings.

  [ Joao Eriberto Mota Filho ]

  * Final adjustments for a new release.
  * Several tests in Debian.
  * Updated AUTHORS file.

Tue Feb 12 19:06:11 -03:00 2019  Joao Eriberto Mota Filho <eriberto@eriberto.pro.br>
Version 0.9

  * Added --autoselect rectangle option. Thanks to Stoney Sauce
    <stoneysauce@gmail.com>.
  * Added --focused option. Thanks to James Cameron <quozl@us.netrek.org>.
  * Added an autogen.sh file.
  * Added some explanation about how to help the project.
  * Character cleanup for UTF-8 compatibility. Thanks to William Vera
    <billy@billy.com.mx>.
  * Fixed a missing option for beep prevention. Thanks to Ibragimov Rinat
    <ibragimovrinat@mail.ru>.
  * Fixed spelling errors in final binary. Thanks to William Vera
    <billy@billy.com.mx>.
  * Improved the autotools (acinclude.m4, configure.ac, Makefile.am and
    src/Makefile.am).
  * Improved the GCC hardening.
  * Prevent arbitrary long file names. Thanks to George Danchev
    <danchev@spnet.net>.
  * Several fixes in manpage.

Wed Mar 12 13:20:11 GMT 2003  Tom Gilbert <tom@linuxbrit.co.uk>

  * Patch from Claes Nasten <pekdon@gmx.net>
  * Enhances thumbnail related options:
  "First, specifying -t would break the $f param to -exec.
   Second, the thumbnail and the screenshot got different timestamps.
   Third, one weren't able to specify geometry with -t.

   I fixed those and added, $m ( mini, instead of $t as it was taken ) so
   that one can do.

   $ scrot -t 91x0 -e 'echo $f,$m'
   2003-03-08-104735_800x600_scrot.png,2003-03-08-104735_91x68_scrot-thumb.png`

   About the geometry, having either the width or height set to 0 makes it
   fill in the other pertaining the aspect ratio.
  "
  * Once I update the docs I'll release 0.8

Tue Feb 25 13:13:03 GMT 2003  Tom Gilbert <tom@linuxbrit.co.uk>

  * Update for latest giblib. Requires latest release now.
  * release 0.7

Sat Feb 23 12:37:29 GMT 2002  Tom Gilbert <tom@linuxbrit.co.uk>

  * Patch from Eric Z. Ayers <eric.ayers@compgen.com>
  * Changes the cursor to a bottom left corner when you start to drag to
    select a grab region.

Thu Jan 11 17:43:19 2001  Tom Gilbert  <gilbertt@linuxbrit.co.uk>

	* Patch from Michael Roberts <m.t.roberts@student.murdoch.edu.au>
        to add -t, --thumb option to generate thumbnails. I modified it a
	little, specify the percentage size of the thumbnail on the
	command line.

Mon Dec  4 23:46:03 2000  Tom Gilbert  <gilbertt@linuxbrit.co.uk>

	* Added -m, --multidisp, which is for multiple heads (not xinerama)
	grabs shots from each and joins them together.
	* Fixed doing the string escapes when saving files. My bad.


Sun Nov 12 15:16:40 2000  Tom Gilbert  <gilbertt@linuxbrit.co.uk>

	* Now uses giblib. You'll need the very latest giblib from CVS as
	of right now.

Sun Nov  5 02:17:57 2000  Tom Gilbert  <gilbertt@linuxbrit.co.uk>

	* Beep when about to take the shot.
	* Added -b, --border to grab wm borders too.
	* Ungrab mouse, keyboard before sleeping for --delay.
	* -e 'feh &f' is not intuitive. Can't use '%' cos that's reserved
	for strftime, so now the internal format specifiers are prefixed
	'$'. Trouble is, you now _must_ use '', not "", or the shell will
	interpret the $ sign and perform variable
	substitution. Suggestions?
	* Purged boring debugging shit.

Mon Oct 30 18:54:05 2000  Tom Gilbert  <gilbertt@linuxbrit.co.uk>

	* I can't be arsed to type all this again, so here's the new
	manpage entries:
	* If [file] is not specified, a date-stamped file will be
	dropped in the current directory.
	* SPECIAL STRINGS
	Both the --exec and filename parameters  can  take  format
        specifiers  that  are  expanded by scrot when encountered.
        There are two types of format specifier.  Characters
        preceded  by  a  '%' are interpreted by strftime(2). See man
        strftime for examples.  These options may be used to refer
        to  the current date and time.  The second kind are internal
        to scrot and are prefixed by '&' The following  specifiers
        are recognised:
        &f image path/filename (ignored when used in the filename)
        &n image name (ignored when used in the filename)
        &s image size (bytes) (ignored when used in the filename)
        &p image pixel size
        &w image width
        &h image height
        &t image format
        && prints a literal '&'
        \n prints a newline (ignored when used in the filename)
        EXAMPLE
        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.


Sun Oct 29 01:02:16 2000  Tom Gilbert  <gilbertt@linuxbrit.co.uk>

	* Added -q, --quality for setting compression quality.

Fri Oct 27 21:01:45 2000  Tom Gilbert  <gilbertt@linuxbrit.co.uk>

	* Added -s, --select. Let's you pick which window to grab by
	clicking on it, or you can draw a rectangle and grab that area :-)
	Also, while scrot has the mouse grabbed, hitting any key will
	cancel the shot and release it.
	* Plus, something import won't do, if you set a delay, you can
	choose the window or area first, then the delay occurs before the
	shot is taken.

Thu Oct 26 20:37:08 2000  Tom Gilbert  <gilbertt@linuxbrit.co.uk>

	* Patch from richlowe to show countdown with delay (-c,
	--count). Cheers bud.

Thu Oct 26 15:22:22 2000  Tom Gilbert  <gilbertt@linuxbrit.co.uk>

	* Added -d, --delay option to wait before shooting.

Thu Oct 26 14:09:52 2000  Tom Gilbert  <gilbertt@linuxbrit.co.uk>

	* Created scrot.
