Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package xdpyinfo for openSUSE:Factory 
checked in at 2025-07-28 14:57:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xdpyinfo (Old)
 and      /work/SRC/openSUSE:Factory/.xdpyinfo.new.13279 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xdpyinfo"

Mon Jul 28 14:57:59 2025 rev:11 rq:1295943 version:1.4.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/xdpyinfo/xdpyinfo.changes        2023-04-29 
17:27:51.418470925 +0200
+++ /work/SRC/openSUSE:Factory/.xdpyinfo.new.13279/xdpyinfo.changes     
2025-07-28 14:58:01.805987277 +0200
@@ -1,0 +2,15 @@
+Sun Jul 27 08:53:14 UTC 2025 - Stefan Dirsch <sndir...@suse.com>
+
+- Update to version 1.4.0
+  * gitlab CI: Update to latest CI templates & Debian stable release
+  * XFree86-DGA: -ext all shoudn't exit on XF86DGAClientNotLocal error
+  * Present: add -ext present that prints version & screen capabilities
+  * Present: add per-crtc capabilities to -ext output
+  * meson: Add option to build with meson
+  * Add -help option
+  * Accept --help & --version as aliases to -help & -version
+  * man page: fix warnings from `mandoc -T lint`
+  * Fix alignment of -help description in -help output
+- switched to meson build
+
+-------------------------------------------------------------------

Old:
----
  xdpyinfo-1.3.4.tar.xz

New:
----
  xdpyinfo-1.4.0.tar.xz

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

Other differences:
------------------
++++++ xdpyinfo.spec ++++++
--- /var/tmp/diff_new_pack.usfVNU/_old  2025-07-28 14:58:03.678064588 +0200
+++ /var/tmp/diff_new_pack.usfVNU/_new  2025-07-28 14:58:03.694065248 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package xdpyinfo
 #
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2025 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,13 +17,14 @@
 
 
 Name:           xdpyinfo
-Version:        1.3.4
+Version:        1.4.0
 Release:        0
 Summary:        Utility to display information about an X server
 License:        MIT
 Group:          System/X11/Utilities
 URL:            http://xorg.freedesktop.org/
 Source0:        
http://xorg.freedesktop.org/releases/individual/app/%{name}-%{version}.tar.xz
+BuildRequires:  meson
 BuildRequires:  pkg-config
 BuildRequires:  pkgconfig(dmx)
 BuildRequires:  pkgconfig(x11)
@@ -55,11 +56,11 @@
 %setup -q
 
 %build
-%configure
-make %{?_smp_mflags}
+%meson
+%meson_build
 
 %install
-%make_install
+%meson_install
 
 %files
 %defattr(-,root,root)

++++++ xdpyinfo-1.3.4.tar.xz -> xdpyinfo-1.4.0.tar.xz ++++++
++++ 10625 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xdpyinfo-1.3.4/ChangeLog new/xdpyinfo-1.4.0/ChangeLog
--- old/xdpyinfo-1.3.4/ChangeLog        2023-04-28 02:11:39.000000000 +0200
+++ new/xdpyinfo-1.4.0/ChangeLog        2025-07-27 01:22:35.000000000 +0200
@@ -1,3 +1,103 @@
+commit 7fe49a22498b9438a15d5d9fdef55d5d832b1672
+Author: Alan Coopersmith <alan.coopersm...@oracle.com>
+Date:   Sat Jul 26 16:19:13 2025 -0700
+
+    xdpyinfo 1.4.0
+    
+    Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com>
+
+commit 1a18e2bed4a514483f2db8bd20a2a806913e1236
+Author: Alan Coopersmith <alan.coopersm...@oracle.com>
+Date:   Sat Jul 26 16:17:08 2025 -0700
+
+    Fix alignment of -help description in -help output
+    
+    Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com>
+
+commit 032913e1f136d356bca485114674a7185786517c
+Author: Alan Coopersmith <alan.coopersm...@oracle.com>
+Date:   Tue May 20 17:28:33 2025 -0700
+
+    man page: fix warnings from `mandoc -T lint`
+    
+    mandoc: xdpyinfo.1:25:16: WARNING: cannot parse date, using it verbatim: 
TH xdpyinfo 1.3.4
+    mandoc: xdpyinfo.1:35:2: WARNING: skipping paragraph macro: PP after SH
+    mandoc: xdpyinfo.1:60:2: WARNING: skipping paragraph macro: PP empty
+    
+    Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com>
+    Part-of: 
<https://gitlab.freedesktop.org/xorg/app/xdpyinfo/-/merge_requests/16>
+
+commit e7a8a6808d59c1421472130387397f9b284bb4fb
+Author: Alan Coopersmith <alan.coopersm...@oracle.com>
+Date:   Sun Mar 23 16:45:48 2025 -0700
+
+    Accept --help & --version as aliases to -help & -version
+    
+    Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com>
+    Part-of: 
<https://gitlab.freedesktop.org/xorg/app/xdpyinfo/-/merge_requests/15>
+
+commit 638506d9280ab6c1efebba81e8988cbe46e9d5d9
+Author: Alan Coopersmith <alan.coopersm...@oracle.com>
+Date:   Sun Mar 23 16:36:30 2025 -0700
+
+    Add -help option
+    
+    Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com>
+    Part-of: 
<https://gitlab.freedesktop.org/xorg/app/xdpyinfo/-/merge_requests/15>
+
+commit eba6d3990d9b2de2a869d0c336ecb53f50d3460c
+Author: Alan Coopersmith <alan.coopersm...@oracle.com>
+Date:   Sat Mar 8 12:51:22 2025 -0800
+
+    meson: Add option to build with meson
+    
+    Also updates the gitlab CI config to test both build types
+    and compare the generated output/installed files.
+    
+    Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com>
+    Part-of: 
<https://gitlab.freedesktop.org/xorg/app/xdpyinfo/-/merge_requests/14>
+
+commit f579f7e654be0792294a299a32cc0d6f80d74e7e
+Author: Alan Coopersmith <alan.coopersm...@oracle.com>
+Date:   Sun Apr 21 14:36:31 2024 -0700
+
+    Present: add per-crtc capabilities to -ext output
+    
+    Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com>
+    Part-of: 
<https://gitlab.freedesktop.org/xorg/app/xdpyinfo/-/merge_requests/13>
+
+commit 998281c7a865da06d9c6fb832484a20d9f9e5e21
+Author: Alan Coopersmith <alan.coopersm...@oracle.com>
+Date:   Sun Apr 21 14:17:08 2024 -0700
+
+    Present: add -ext present that prints version & screen capabilities
+    
+    Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com>
+    Part-of: 
<https://gitlab.freedesktop.org/xorg/app/xdpyinfo/-/merge_requests/13>
+
+commit 4755b7bacdb77cd0bb47e8be83372e4dfa135bfe
+Author: Alan Coopersmith <alan.coopersm...@oracle.com>
+Date:   Sun Apr 21 13:35:11 2024 -0700
+
+    XFree86-DGA: -ext all shoudn't exit on XF86DGAClientNotLocal error
+    
+    Allows xdpyinfo -ext all to run to completion on remote display,
+    instead of aborting partway through the extension list.
+    
+    Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com>
+    Part-of: 
<https://gitlab.freedesktop.org/xorg/app/xdpyinfo/-/merge_requests/13>
+
+commit d14333b852377f1e43ee2fe0fc737453e6dfccd9
+Author: Alan Coopersmith <alan.coopersm...@oracle.com>
+Date:   Fri Oct 13 15:18:27 2023 -0700
+
+    gitlab CI: Update to latest CI templates & Debian stable release
+    
+    Current template fails to rebuild the CI container with the current
+    Debian stable release (a new release since the last update)
+    
+    Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com>
+
 commit ea4083ccb2a5ce4252acabeb2eb7bf49f7be25e0
 Author: Alan Coopersmith <alan.coopersm...@oracle.com>
 Date:   Thu Apr 27 16:58:51 2023 -0700
@@ -1071,7 +1171,7 @@
         build)
 
 commit d99fbcde4c892e8d84e02b40ed3f5862a731e9c2
-Author: Søren Sandmann Pedersen  <sandm...@daimi.au.dk>
+Author: Søren Sandmann Pedersen <sandm...@daimi.au.dk>
 Date:   Wed Jul 6 19:56:47 2005 +0000
 
     Add buildsystem for xdpyinfo
@@ -1107,7 +1207,7 @@
         libXaw.
 
 commit a667763d5b733f5ae2d8a3ca7e1e99d3deed2830
-Author: Kristian Høgsberg  <k...@redhat.com>
+Author: Kristian Høgsberg <k...@redhat.com>
 Date:   Mon Aug 16 16:36:15 2004 +0000
 
     As discussed and agreed on on the release-wranglers meeting of August 16,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xdpyinfo-1.3.4/Makefile.am new/xdpyinfo-1.4.0/Makefile.am
--- old/xdpyinfo-1.3.4/Makefile.am      2023-04-28 02:11:23.000000000 +0200
+++ new/xdpyinfo-1.4.0/Makefile.am      2025-07-27 01:22:24.000000000 +0200
@@ -35,7 +35,8 @@
        $(DPY_XCOMPOSITE_CFLAGS) \
        $(DPY_XINERAMA_CFLAGS) \
        $(DPY_DMX_CFLAGS) \
-       $(DPY_XTST_CFLAGS)
+       $(DPY_XTST_CFLAGS) \
+       $(DPY_XPRESENT_CFLAGS)
 
 xdpyinfo_LDADD = \
        $(XDPYINFO_LIBS) \
@@ -49,7 +50,9 @@
        $(DPY_XCOMPOSITE_LIBS) \
        $(DPY_XINERAMA_LIBS) \
        $(DPY_DMX_LIBS) \
-       $(DPY_XTST_LIBS)
+       $(DPY_XTST_LIBS) \
+       $(DPY_XPRESENT_LIBS)
+
 
 xdpyinfo_SOURCES =     \
         xdpyinfo.c
@@ -74,4 +77,4 @@
        $(LINT) $(ALL_LINT_FLAGS) $(AM_CFLAGS) $(xdpyinfo_SOURCES)
 endif LINT
 
-EXTRA_DIST = README.md
+EXTRA_DIST = README.md meson.build meson.options
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xdpyinfo-1.3.4/compile new/xdpyinfo-1.4.0/compile
--- old/xdpyinfo-1.3.4/compile  2023-04-28 02:11:27.000000000 +0200
+++ new/xdpyinfo-1.4.0/compile  2025-07-27 01:22:28.000000000 +0200
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Wrapper for compilers which do not understand '-c -o'.
 
-scriptversion=2018-03-07.03; # UTC
+scriptversion=2025-06-18.21; # UTC
 
-# Copyright (C) 1999-2021 Free Software Foundation, Inc.
+# Copyright (C) 1999-2025 Free Software Foundation, Inc.
 # Written by Tom Tromey <tro...@cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -37,11 +37,11 @@
 
 file_conv=
 
-# func_file_conv build_file lazy
+# func_file_conv build_file unneeded_conversions
 # Convert a $build file to $host form and store it in $file
 # Currently only supports Windows hosts. If the determined conversion
-# type is listed in (the comma separated) LAZY, no conversion will
-# take place.
+# type is listed in (the comma separated) UNNEEDED_CONVERSIONS, no
+# conversion will take place.
 func_file_conv ()
 {
   file=$1
@@ -51,9 +51,20 @@
        # lazily determine how to convert abs files
        case `uname -s` in
          MINGW*)
-           file_conv=mingw
+           if test -n "$MSYSTEM" && (cygpath --version) >/dev/null 2>&1; then
+             # MSYS2 environment.
+             file_conv=cygwin
+           else
+             # Original MinGW environment.
+             file_conv=mingw
+           fi
            ;;
-         CYGWIN* | MSYS*)
+         MSYS*)
+           # Old MSYS environment, or MSYS2 with 32-bit MSYS2 shell.
+           file_conv=cygwin
+           ;;
+         CYGWIN*)
+           # Cygwin environment.
            file_conv=cygwin
            ;;
          *)
@@ -63,12 +74,14 @@
       fi
       case $file_conv/,$2, in
        *,$file_conv,*)
+         # This is the optimization mentioned above:
+         # If UNNEEDED_CONVERSIONS contains $file_conv, don't convert.
          ;;
        mingw/*)
          file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
          ;;
-       cygwin/* | msys/*)
-         file=`cygpath -m "$file" || echo "$file"`
+       cygwin/*)
+         file=`cygpath -w "$file" || echo "$file"`
          ;;
        wine/*)
          file=`winepath -w "$file" || echo "$file"`
@@ -143,7 +156,7 @@
          # configure might choose to run compile as 'compile cc -o foo foo.c'.
          eat=1
          case $2 in
-           *.o | *.[oO][bB][jJ])
+           *.o | *.lo | *.[oO][bB][jJ])
              func_file_conv "$2"
              set x "$@" -Fo"$file"
              shift
@@ -248,14 +261,17 @@
 right script to run: please start by reading the file 'INSTALL'.
 
 Report bugs to <bug-autom...@gnu.org>.
+GNU Automake home page: <https://www.gnu.org/software/automake/>.
+General help using GNU software: <https://www.gnu.org/gethelp/>.
 EOF
     exit $?
     ;;
   -v | --v*)
-    echo "compile $scriptversion"
+    echo "compile (GNU Automake) $scriptversion"
     exit $?
     ;;
   cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+  clang-cl | *[/\\]clang-cl | clang-cl.exe | *[/\\]clang-cl.exe | \
   icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
     func_cl_wrapper "$@"      # Doesn't return...
     ;;
@@ -340,9 +356,9 @@
 # Local Variables:
 # mode: shell-script
 # sh-indentation: 2
-# eval: (add-hook 'before-save-hook 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp nil t)
 # time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-format: "%Y-%02m-%02d.%02H"
 # time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xdpyinfo-1.3.4/config.h.in new/xdpyinfo-1.4.0/config.h.in
--- old/xdpyinfo-1.3.4/config.h.in      2023-04-28 02:11:27.000000000 +0200
+++ new/xdpyinfo-1.4.0/config.h.in      2025-07-27 01:22:28.000000000 +0200
@@ -72,6 +72,9 @@
 /* Define to 1 if you have the <X11/extensions/XKB.h> header file. */
 #undef HAVE_X11_EXTENSIONS_XKB_H
 
+/* Define to 1 if you have the <X11/extensions/Xpresent.h> header file. */
+#undef HAVE_X11_EXTENSIONS_XPRESENT_H
+
 /* Define to 1 if you have the <X11/extensions/Xrender.h> header file. */
 #undef HAVE_X11_EXTENSIONS_XRENDER_H
 
@@ -114,7 +117,7 @@
 /* Patch version of this package */
 #undef PACKAGE_VERSION_PATCHLEVEL
 
-/* Define to 1 if all of the C90 standard headers exist (not just the ones
+/* Define to 1 if all of the C89 standard headers exist (not just the ones
    required in a freestanding environment). This macro is provided for
    backward compatibility; new code need not use it. */
 #undef STDC_HEADERS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xdpyinfo-1.3.4/configure.ac new/xdpyinfo-1.4.0/configure.ac
--- old/xdpyinfo-1.3.4/configure.ac     2023-04-28 02:11:23.000000000 +0200
+++ new/xdpyinfo-1.4.0/configure.ac     2025-07-27 01:22:24.000000000 +0200
@@ -23,7 +23,7 @@
 
 # Initialize Autoconf
 AC_PREREQ([2.60])
-AC_INIT([xdpyinfo], [1.3.4],
+AC_INIT([xdpyinfo], [1.4.0],
        [https://gitlab.freedesktop.org/xorg/app/xdpyinfo/-/issues], [xdpyinfo])
 AC_CONFIG_SRCDIR([Makefile.am])
 AC_CONFIG_HEADERS([config.h])
@@ -138,6 +138,12 @@
        AC_CHECK_HEADERS([X11/extensions/record.h],,,[#include <X11/Xlib.h>])
        CPPFLAGS="$SAVE_CPPFLAGS"],[echo "not found"])
 
+PKG_CHECK_MODULES(DPY_XPRESENT, [xpresent xrandr >= 1.2],
+       [SAVE_CPPFLAGS="$CPPFLAGS"
+       CPPFLAGS="$CPPFLAGS $DPY_XPRESENT_CFLAGS $DPY_X11_CFLAGS"
+       AC_CHECK_HEADERS([X11/extensions/Xpresent.h],,,[#include <X11/Xlib.h>])
+       CPPFLAGS="$SAVE_CPPFLAGS"],[echo "not found"])
+
 dnl Allow checking code with lint, sparse, etc.
 XORG_WITH_LINT
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xdpyinfo-1.3.4/man/xdpyinfo.man new/xdpyinfo-1.4.0/man/xdpyinfo.man
--- old/xdpyinfo-1.3.4/man/xdpyinfo.man 2023-04-28 02:11:23.000000000 +0200
+++ new/xdpyinfo-1.4.0/man/xdpyinfo.man 2025-07-27 01:22:24.000000000 +0200
@@ -22,18 +22,17 @@
 .\" other dealings in this Software without prior written authorization
 .\" from The Open Group.
 .\"
-.TH XDPYINFO 1 __xorgversion__
+.TH XDPYINFO 1 2025-03-23 __xorgversion__
 .SH NAME
 xdpyinfo \- display information utility for X
 .SH SYNOPSIS
-.B "xdpyinfo"
-[\-display \fIdisplayname\fP]
-[\-queryExtensions]
-[\-ext \fIextension-name\fP]
-[-version]
+.nf
+\fBxdpyinfo\fR [\fB\-display\fR \fIdisplayname\fP] [\fB\-queryExtensions\fR] \
+[\fB\-ext\fR \fIextension-name\fP]
+         [\fB\-help\fR | \fB\-version\fR]
+.fi
 .SH DESCRIPTION
-.PP
-.I Xdpyinfo
+.B Xdpyinfo
 is a utility for displaying information about an X server.  It is used to
 examine the
 capabilities of a server, the predefined values for various parameters used
@@ -48,25 +47,27 @@
 .PP
 Detailed information about a particular extension is displayed with the
 \fB\-ext\fP \fIextensionName\fP option.  If \fIextensionName\fP is
-\fBall\fP, information about all extensions supported by both \fIxdpyinfo\fP
+\fBall\fP, information about all extensions supported by both \fBxdpyinfo\fP
 and the server is displayed.
 .PP
-If \fB-version\fP is specified, xdpyinfo prints its version and exits, without
-contacting the X server.
-.SH ENVIRONMENT
+If \fB\-help\fP is specified, \fBxdpyinfo\fP prints its usage message and 
exits,
+without contacting the X server.
 .PP
+If \fB\-version\fP is specified, \fBxdpyinfo\fP prints its version and exits,
+without contacting the X server.
+.SH ENVIRONMENT
 .TP 8
 .B DISPLAY
 To get the default host, display number, and screen.
 .SH "SEE ALSO"
-.IR X (__miscmansuffix__),
-.IR xprop (__appmansuffix__),
-.IR xrdb (__appmansuffix__),
-.IR xwininfo (__appmansuffix__),
-.IR xrandr (__appmansuffix__),
-.IR xdriinfo (__appmansuffix__),
-.IR xvinfo (__appmansuffix__),
-.IR glxinfo (__appmansuffix__)
+.BR X (__miscmansuffix__),
+.BR xprop (__appmansuffix__),
+.BR xrdb (__appmansuffix__),
+.BR xwininfo (__appmansuffix__),
+.BR xrandr (__appmansuffix__),
+.BR xdriinfo (__appmansuffix__),
+.BR xvinfo (__appmansuffix__),
+.BR glxinfo (__appmansuffix__)
 .SH AUTHOR
 Jim Fulton, MIT X Consortium
 .br
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xdpyinfo-1.3.4/meson.build new/xdpyinfo-1.4.0/meson.build
--- old/xdpyinfo-1.3.4/meson.build      1970-01-01 01:00:00.000000000 +0100
+++ new/xdpyinfo-1.4.0/meson.build      2025-07-27 01:22:24.000000000 +0200
@@ -0,0 +1,169 @@
+# SPDX-License-Identifier: MIT
+#
+# Copyright (c) 2025, Oracle and/or its affiliates.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+#
+
+project(
+  'xdpyinfo',
+  'c',
+  version: '1.4.0',
+  license: 'MIT-open-group',
+  license_files: 'COPYING',
+  meson_version: '>= 1.1.0',
+)
+
+conf = configuration_data()
+package_string = ' '.join(meson.project_name(), meson.project_version())
+conf.set_quoted('PACKAGE_STRING', package_string)
+
+cc = meson.get_compiler('c')
+
+# Replacement for XORG_DEFAULT_OPTIONS
+if cc.has_argument('-fno-strict-aliasing')
+  add_project_arguments('-fno-strict-aliasing', language: 'c')
+endif
+
+# Checks for pkg-config packages
+## Required
+dep_libxext       = dependency('xext', required: true)
+dep_libx11        = dependency('x11', required: true)
+dep_libxtst       = dependency('xtst', required: true)
+dep_libx11_xcb    = dependency('x11-xcb', required: true)
+dep_libxcb        = dependency('xcb', required: true)
+dep_xproto        = dependency('xproto', required: true, version: '>= 7.0.22')
+
+deps = [
+  dep_libxext, dep_libxtst, dep_libx11_xcb, dep_libx11, dep_libxcb,
+  dep_xproto
+]
+
+## Optional
+dep_libxxf86vm    = dependency('xxf86vm', required: false, disabler: true)
+dep_libxi         = dependency('xi', required: false, disabler: true)
+dep_libxrender    = dependency('xrender', required: false, disabler: true)
+dep_libxcomposite = dependency('xcomposite', required: false, disabler: true)
+dep_libxpresent   = dependency('xpresent', required: false, disabler: true)
+dep_libxrandr     = dependency('xrandr', required: false, version: '>= 1.2',
+                               disabler: true)
+
+if get_option('dga').allowed()
+  dep_libxxf86dga = dependency('xxf86dga', required: false, disabler: true)
+else
+  dep_libxxf86dga = disabler()
+endif
+summary('dga', dep_libxxf86dga.found())
+
+if get_option('dmx').allowed()
+  dep_libdmx = dependency('dmx', required: false, disabler: true)
+else
+  dep_libdmx = disabler()
+endif
+summary('dmx', dep_libdmx.found())
+
+if get_option('xf86misc').allowed()
+  dep_libxxf86misc = dependency('xxf86misc', required: false, disabler: true)
+else
+  dep_libxxf86misc = disabler()
+endif
+summary('xf86misc', dep_libxxf86misc.found())
+
+if get_option('xinerama').allowed()
+  dep_libxinerama = dependency('xinerama', required: false, disabler: true)
+else
+  dep_libxinerama = disabler()
+endif
+summary('xinerama', dep_libxinerama.found())
+
+optional_deps = [
+  dep_libxxf86vm, dep_libxxf86dga, dep_libxxf86misc, dep_libxi, dep_libxrender,
+  dep_libxcomposite, dep_libxinerama, dep_libdmx, dep_libxpresent, 
dep_libxrandr
+]
+
+foreach d: optional_deps
+  if d.found()
+    deps += d
+  endif
+endforeach
+
+headers_to_check = {
+  'X11/extensions/multibuf.h':    [dep_libxext],
+  'X11/extensions/XShm.h':        [dep_libxext],
+  'X11/extensions/XKB.h':         [], # dep_libx11 already included below
+  'X11/XKBlib.h':                 [], # dep_libx11 already included below
+  'X11/extensions/xf86vmode.h':   [dep_libxxf86vm],
+  'X11/extensions/xf86vmstr.h':   [dep_libxxf86vm],
+  'X11/extensions/xf86vmproto.h': [dep_libxxf86vm],
+  'X11/extensions/Xxf86dga.h':    [dep_libxxf86dga],
+  'X11/extensions/xf86dgaproto.h':[dep_libxxf86dga],
+  'X11/extensions/xf86dga.h':     [dep_libxxf86dga],
+  'X11/extensions/xf86dgastr.h':  [dep_libxxf86dga],
+  'X11/extensions/xf86misc.h':    [dep_libxxf86misc],
+  'X11/extensions/xf86mscstr.h':  [dep_libxxf86misc],
+  'X11/extensions/XInput.h':      [dep_libxi],
+  'X11/extensions/Xrender.h':     [dep_libxrender],
+  'X11/extensions/Xcomposite.h':  [dep_libxcomposite],
+  'X11/extensions/Xinerama.h':    [dep_libxinerama],
+  'X11/extensions/dmxext.h':      [dep_libdmx],
+  'X11/extensions/record.h':      [dep_libxtst],
+  'X11/extensions/Xpresent.h':    [dep_libxpresent, dep_libxrandr]
+}
+
+foreach h: headers_to_check.keys()
+  conf.set(
+    'HAVE_' + h.to_upper().underscorify(),
+    cc.check_header(
+      h,
+      dependencies: [headers_to_check[h], dep_libx11, dep_xproto],
+      prefix: ['#include <X11/Xlib.h>', '#include <X11/Xproto.h>'],
+      required: false
+    ) ? '1' : false
+  )
+endforeach
+
+config_h = configure_file(output: 'config.h', configuration: conf)
+add_project_arguments('-DHAVE_CONFIG_H', language: ['c'])
+
+executable(
+  'xdpyinfo',
+  [config_h, 'xdpyinfo.c'],
+  dependencies: deps,
+  install: true
+)
+
+# Man page
+prog_sed = find_program('sed')
+
+custom_target(
+  'xdpyinfo.man',
+  input: 'man/xdpyinfo.man',
+  output: 'xdpyinfo.1',
+  command: [
+    prog_sed,
+    '-e', 's/__xorgversion__/"@0@" "X Version 11"/'.format(package_string),
+    '-e', 's/__appmansuffix__/1/g',
+    '-e', 's/__miscmansuffix__/7/g',
+    '@INPUT@',
+  ],
+  capture: true,
+  install: true,
+  install_dir: get_option('mandir') / 'man1',
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xdpyinfo-1.3.4/meson.options new/xdpyinfo-1.4.0/meson.options
--- old/xdpyinfo-1.3.4/meson.options    1970-01-01 01:00:00.000000000 +0100
+++ new/xdpyinfo-1.4.0/meson.options    2025-07-27 01:22:24.000000000 +0200
@@ -0,0 +1,27 @@
+option(
+  'dga',
+  type: 'feature',
+  value : 'enabled',
+  description: 'Enable XFree86-DGA support (default is enabled)',
+)
+
+option(
+  'dmx',
+  type: 'feature',
+  value : 'disabled',
+  description: 'Enable DMX support (default is disabled)',
+)
+
+option(
+  'xf86misc',
+  type: 'feature',
+  value : 'disabled',
+  description: 'Enable XFree86-Misc support (default is disabled)',
+)
+
+option(
+  'xinerama',
+  type: 'feature',
+  value : 'enabled',
+  description: 'Enable Xinerama support (default is enabled)',
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xdpyinfo-1.3.4/missing new/xdpyinfo-1.4.0/missing
--- old/xdpyinfo-1.3.4/missing  2023-04-28 02:11:27.000000000 +0200
+++ new/xdpyinfo-1.4.0/missing  2025-07-27 01:22:28.000000000 +0200
@@ -1,9 +1,11 @@
 #! /bin/sh
-# Common wrapper for a few potentially missing GNU programs.
+# Common wrapper for a few potentially missing GNU and other programs.
 
-scriptversion=2018-03-07.03; # UTC
+scriptversion=2025-06-18.21; # UTC
 
-# Copyright (C) 1996-2021 Free Software Foundation, Inc.
+# shellcheck disable=SC2006,SC2268 # we must support pre-POSIX shells
+
+# Copyright (C) 1996-2025 Free Software Foundation, Inc.
 # Originally written by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -54,18 +56,20 @@
   -v, --version   output version information and exit
 
 Supported PROGRAM values:
-  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
-  bison     yacc      flex         lex       help2man
+aclocal autoconf autogen  autoheader autom4te automake autoreconf
+bison   flex     help2man lex        makeinfo perl     yacc
 
 Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
 'g' are ignored when checking the name.
 
-Send bug reports to <bug-autom...@gnu.org>."
+Report bugs to <bug-autom...@gnu.org>.
+GNU Automake home page: <https://www.gnu.org/software/automake/>.
+General help using GNU software: <https://www.gnu.org/gethelp/>."
     exit $?
     ;;
 
   -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
-    echo "missing $scriptversion (GNU Automake)"
+    echo "missing (GNU Automake) $scriptversion"
     exit $?
     ;;
 
@@ -108,7 +112,7 @@
 program_details ()
 {
   case $1 in
-    aclocal|automake)
+    aclocal|automake|autoreconf)
       echo "The '$1' program is part of the GNU Automake package:"
       echo "<$gnu_software_URL/automake>"
       echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
@@ -123,6 +127,9 @@
       echo "<$gnu_software_URL/m4/>"
       echo "<$perl_URL>"
       ;;
+    *)
+      :
+      ;;
   esac
 }
 
@@ -137,48 +144,55 @@
   printf '%s\n' "'$1' is $msg."
 
   configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+  autoheader_deps="'acconfig.h'"
+  automake_deps="'Makefile.am'"
+  aclocal_deps="'acinclude.m4'"
   case $normalized_program in
+    aclocal*)
+      echo "You should only need it if you modified $aclocal_deps or"
+      echo "$configure_deps."
+      ;;
     autoconf*)
-      echo "You should only need it if you modified 'configure.ac',"
-      echo "or m4 files included by it."
-      program_details 'autoconf'
+      echo "You should only need it if you modified $configure_deps."
+      ;;
+    autogen*)
+      echo "You should only need it if you modified a '.def' or '.tpl' file."
+      echo "You may want to install the GNU AutoGen package:"
+      echo "<$gnu_software_URL/autogen/>"
       ;;
     autoheader*)
-      echo "You should only need it if you modified 'acconfig.h' or"
+      echo "You should only need it if you modified $autoheader_deps or"
       echo "$configure_deps."
-      program_details 'autoheader'
       ;;
     automake*)
-      echo "You should only need it if you modified 'Makefile.am' or"
-      echo "$configure_deps."
-      program_details 'automake'
-      ;;
-    aclocal*)
-      echo "You should only need it if you modified 'acinclude.m4' or"
+      echo "You should only need it if you modified $automake_deps or"
       echo "$configure_deps."
-      program_details 'aclocal'
       ;;
-   autom4te*)
+    autom4te*)
       echo "You might have modified some maintainer files that require"
       echo "the 'autom4te' program to be rebuilt."
-      program_details 'autom4te'
+      ;;
+    autoreconf*)
+      echo "You should only need it if you modified $aclocal_deps or"
+      echo "$automake_deps or $autoheader_deps or $automake_deps or"
+      echo "$configure_deps."
       ;;
     bison*|yacc*)
       echo "You should only need it if you modified a '.y' file."
       echo "You may want to install the GNU Bison package:"
       echo "<$gnu_software_URL/bison/>"
       ;;
-    lex*|flex*)
-      echo "You should only need it if you modified a '.l' file."
-      echo "You may want to install the Fast Lexical Analyzer package:"
-      echo "<$flex_URL>"
-      ;;
     help2man*)
       echo "You should only need it if you modified a dependency" \
            "of a man page."
       echo "You may want to install the GNU Help2man package:"
       echo "<$gnu_software_URL/help2man/>"
     ;;
+    lex*|flex*)
+      echo "You should only need it if you modified a '.l' file."
+      echo "You may want to install the Fast Lexical Analyzer package:"
+      echo "<$flex_URL>"
+      ;;
     makeinfo*)
       echo "You should only need it if you modified a '.texi' file, or"
       echo "any other file indirectly affecting the aspect of the manual."
@@ -189,6 +203,12 @@
       echo "want to install GNU make:"
       echo "<$gnu_software_URL/make/>"
       ;;
+    perl*)
+      echo "You should only need it to run GNU Autoconf, GNU Automake, "
+      echo "  assorted other tools, or if you modified a Perl source file."
+      echo "You may want to install the Perl 5 language interpreter:"
+      echo "<$perl_URL>"
+      ;;
     *)
       echo "You might have modified some files without having the proper"
       echo "tools for further handling them.  Check the 'README' file, it"
@@ -197,6 +217,7 @@
       echo "case some other package contains this missing '$1' program."
       ;;
   esac
+  program_details "$normalized_program"
 }
 
 give_advice "$1" | sed -e '1s/^/WARNING: /' \
@@ -207,9 +228,9 @@
 exit $st
 
 # Local variables:
-# eval: (add-hook 'before-save-hook 'time-stamp)
+# eval: (add-hook 'before-save-hook 'time-stamp nil t)
 # time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-format: "%Y-%02m-%02d.%02H"
 # time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xdpyinfo-1.3.4/xdpyinfo.c new/xdpyinfo-1.4.0/xdpyinfo.c
--- old/xdpyinfo-1.3.4/xdpyinfo.c       2023-04-28 02:11:23.000000000 +0200
+++ new/xdpyinfo-1.4.0/xdpyinfo.c       2025-07-27 01:22:24.000000000 +0200
@@ -76,6 +76,10 @@
 #  define DMX
 # endif
 
+# if HAVE_X11_EXTENSIONS_XPRESENT_H
+#  define PRESENT
+# endif
+
 #endif
 
 #ifdef WIN32
@@ -137,6 +141,10 @@
 #ifdef DMX
 #include <X11/extensions/dmxext.h>
 #endif
+#ifdef PRESENT
+#include <X11/extensions/Xpresent.h>
+#include <X11/extensions/Xrandr.h>
+#endif
 #include <X11/Xos.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -144,14 +152,12 @@
 static char *ProgramName;
 static Bool queryExtensions = False;
 
-#if defined(XF86MISC) || defined(XFreeXDGA)
+#if defined(XF86MISC)
 static int
 silent_errors(_X_UNUSED Display *dpy, _X_UNUSED XErrorEvent *ev)
 {
     return 0;
 }
-
-static int (*old_handler)(Display *, XErrorEvent *) = NULL;
 #endif
 
 static int print_event_mask(char *buf, int lastcol, int indent, long mask);
@@ -708,10 +714,35 @@
 
 #ifdef XFreeXDGA
 static int
+catch_dga_errors(Display *dpy, XErrorEvent *event)
+{
+    char error_name[128];
+    char request_name[128];
+    char code[64];
+
+    XGetErrorText(dpy, event->error_code, error_name, sizeof(error_name));
+    if (event->request_code < 128) {
+        snprintf(code, sizeof(code), "%d", event->request_code);
+        XGetErrorDatabaseText(dpy, "XRequest", code, "",
+                              request_name, sizeof(request_name));
+    } else {
+        snprintf(code, sizeof(code), "%s.%d", "XFree86-DGA", 
event->minor_code);
+        XGetErrorDatabaseText(dpy, "XRequest", code, "",
+                              request_name, sizeof(request_name));
+    }
+
+    printf("  DGA: %s returned error: %s\n", request_name, error_name);
+    return 0;
+}
+
+static int
 print_dga_info(Display *dpy, const char *extname)
 {
     unsigned int offset;
     int majorrev, minorrev, width, bank, ram, flags;
+    XErrorHandler old_handler;
+
+    old_handler = XSetErrorHandler(catch_dga_errors);
 
     if (!XF86DGAQueryVersion(dpy, &majorrev, &minorrev))
        return 0;
@@ -724,8 +755,6 @@
        return 1;
     }
 
-    old_handler = XSetErrorHandler(silent_errors);
-
     if (!XF86DGAGetVideoLL(dpy, DefaultScreen(dpy), &offset,
                            &width, &bank, &ram))
        return 0;
@@ -869,6 +898,7 @@
 print_XF86Misc_info(Display *dpy, const char *extname)
 {
     int majorrev, minorrev;
+    XErrorHandler old_handler;
 
     if (!XF86MiscQueryVersion(dpy, &majorrev, &minorrev))
        return 0;
@@ -1326,6 +1356,118 @@
 
 #endif /* DMX */
 
+
+#ifdef PRESENT
+static inline void print_present_capabilities(uint32_t capabilities)
+{
+    if (capabilities == PresentCapabilityNone) {
+        fputs("PresentCapabilityNone", stdout);
+    }
+    else {
+        int count = 0;
+
+        if (capabilities & PresentCapabilityAsync) {
+            fputs("PresentCapabilityAsync", stdout);
+            count++;
+            capabilities &= ~PresentCapabilityAsync;
+        }
+        if (capabilities & PresentCapabilityFence) {
+            if (count)
+                fputs(" | ", stdout);
+            fputs("PresentCapabilityFence", stdout);
+            count++;
+            capabilities &= ~PresentCapabilityFence;
+        }
+        if (capabilities & PresentCapabilityUST) {
+            if (count)
+                fputs(" | ", stdout);
+            fputs("PresentCapabilityUST", stdout);
+            count++;
+            capabilities &= ~PresentCapabilityUST;
+        }
+#ifdef PresentCapabilityAsyncMayTear /* added in xorgproto-2023.1 */
+        if (capabilities & PresentCapabilityAsyncMayTear) {
+            if (count)
+                fputs(" | ", stdout);
+            fputs("PresentCapabilityAsyncMayTear", stdout);
+            count++;
+            capabilities &= ~PresentCapabilityAsyncMayTear;
+        }
+#endif
+#ifdef PresentCapabilitySyncobj /* added in xorgproto-2024.1 */
+        if (capabilities & PresentCapabilitySyncobj) {
+            if (count)
+                fputs(" | ", stdout);
+            fputs("PresentCapabilitySyncobj", stdout);
+            count++;
+            capabilities &= ~PresentCapabilitySyncobj;
+        }
+#endif
+        /* Are there any bits left we didn't recognize? */
+        if (capabilities != 0) {
+            for (unsigned int b = 0; b < 32; b++) {
+                uint32_t m = 1U << b;
+
+                if (capabilities & m) {
+                    if (count)
+                        fputs(" | ", stdout);
+                    printf("PresentCapabilityUnknownBit%d", b);
+                    capabilities &= ~m;
+                }
+            }
+        }
+    }
+}
+
+
+static int print_present_info(Display *dpy, const char *extname)
+{
+    int                  opcode, event_base, error_base;
+    int                  major_version, minor_version;
+    Bool                 query_crtcs = False;
+
+    if (!XPresentQueryExtension(dpy, &opcode, &event_base, &error_base)
+        || !XPresentQueryVersion(dpy, &major_version, &minor_version))
+        return 0;
+    print_standard_extension_info(dpy, extname, major_version, minor_version);
+
+    if (XRRQueryExtension (dpy, &event_base, &error_base)) {
+        int rr_major, rr_minor;
+
+        if (XRRQueryVersion (dpy, &rr_major, &rr_minor) &&
+            (rr_major == 1) && (rr_minor >= 2)) {
+            query_crtcs = True;
+        }
+    }
+
+    for (int i = 0; i < ScreenCount (dpy); i++) {
+        Window screen_root = RootWindow(dpy, i);
+        uint32_t capabilities = XPresentQueryCapabilities(dpy, screen_root);
+
+        printf("  screen #%d capabilities: 0x%x (", i, capabilities);
+        print_present_capabilities(capabilities);
+        puts(")");
+
+        if (query_crtcs) {
+            XRRScreenResources *res = XRRGetScreenResources (dpy, screen_root);
+
+            if (res != NULL) {
+                for (int c = 0; c < res->ncrtc; c++) {
+                    capabilities = XPresentQueryCapabilities(dpy, 
res->crtcs[c]);
+                    printf("    crtc 0x%lx capabilities: 0x%x (",
+                           res->crtcs[c], capabilities);
+                    print_present_capabilities(capabilities);
+                    puts(")");
+                }
+                XRRFreeScreenResources(res);
+            }
+        }
+    }
+
+    return 1;
+}
+#endif /* XPRESENT */
+
 /* utilities to manage the list of recognized extensions */
 
 
@@ -1379,6 +1521,9 @@
 #ifdef DMX
     {"DMX", print_dmx_info, False},
 #endif
+#ifdef PRESENT
+    {"Present", print_present_info, False},
+#endif
     /* add new extensions here */
 };
 
@@ -1443,17 +1588,18 @@
 }
 
 static void _X_NORETURN
-usage(void)
+usage(int exitstatus)
 {
     fprintf (stderr, "usage:  %s [options]\n%s", ProgramName,
              "-display displayname\tserver to query\n"
+             "-help\t\t\tprint program usage and exit\n"
              "-version\t\tprint program version and exit\n"
              "-queryExtensions\tprint info returned by XQueryExtension\n"
              "-ext all\t\tprint detailed info for all supported extensions\n"
              "-ext extension-name\tprint detailed info for extension-name if 
one of:\n     ");
     print_known_extensions(stderr);
     fprintf (stderr, "\n");
-    exit (1);
+    exit (exitstatus);
 }
 
 int
@@ -1472,7 +1618,7 @@
            if (++i >= argc) {
                fprintf (stderr, "%s: -display requires an argument\n",
                         ProgramName);
-               usage ();
+               usage (EXIT_FAILURE);
            }
            displayname = argv[i];
        } else if (!strncmp("-queryExtensions", arg, len)) {
@@ -1481,16 +1627,20 @@
            if (++i >= argc) {
                fprintf (stderr, "%s: -ext requires an argument\n",
                         ProgramName);
-               usage ();
+               usage (EXIT_FAILURE);
            }
            mark_extension_for_printing(argv[i]);
-        } else if (!strncmp("-version", arg, len)) {
+        } else if (!strncmp("-version", arg, len) ||
+                   !strncmp("--version", arg, len)) {
             printf("%s\n", PACKAGE_STRING);
-            exit (0);
+            exit (EXIT_SUCCESS);
+        } else if (!strncmp("-help", arg, len) ||
+                   !strncmp("--help", arg, len)) {
+            usage (EXIT_SUCCESS);
        } else {
            fprintf (stderr, "%s: unrecognized argument '%s'\n",
                     ProgramName, arg);
-           usage ();
+           usage (EXIT_FAILURE);
        }
     }
 
@@ -1498,7 +1648,7 @@
     if (!dpy) {
        fprintf (stderr, "%s:  unable to open display \"%s\".\n",
                 ProgramName, XDisplayName (displayname));
-       exit (1);
+       exit (EXIT_FAILURE);
     }
 
     print_display_info (dpy);
@@ -1509,5 +1659,5 @@
     print_marked_extensions(dpy);
 
     XCloseDisplay (dpy);
-    exit (0);
+    exit (EXIT_SUCCESS);
 }

Reply via email to