summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2022-03-25 16:15:57 +0800
committerPo Lu <luangruo@yahoo.com>2022-03-25 16:22:45 +0800
commitf38bdb0327c5806286ab97687e2823d65d8e184a (patch)
tree493dca067c6c4267959cfa26097f6c59f0bdf113 /configure.ac
parent9d2dcd184125320014aee9cfa5dd72ebab107778 (diff)
downloademacs-f38bdb0327c5806286ab97687e2823d65d8e184a.tar.gz
Take window shapes into account when processing drag and drop
* configure.ac: Test for the Nonrectangular Window Shape extension. * msdos/sed1v2.inp: Update. * src/xterm.c (struct x_client_list_window): New fields for shapes. (x_dnd_free_toplevels): Free shapes. (x_dnd_compute_toplevels): Populate window shapes. (x_dnd_get_target_window_2): New function. (x_dnd_get_target_window_1): Test WM state of window before taking it into account. (x_dnd_begin_drag_and_drop): Use outer window as the initial last seen window. (x_dnd_update_state): Small fixes to frame tracking. (handle_one_xevent): Handle ShapeNotify events correctly. (x_term_init): Test for the Nonrectangular Window Shape extension. * src/xterm.h (struct x_display_info): New atom `WM_STATE'.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac18
1 files changed, 18 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 6e637477334..4ac8c143e53 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4538,6 +4538,24 @@ fi
AC_SUBST(XDBE_CFLAGS)
AC_SUBST(XDBE_LIBS)
+### Use the Nonrectangular Window Shape extension if available.
+HAVE_XSHAPE=no
+if test "${HAVE_X11}" = "yes"; then
+ AC_CHECK_HEADER(X11/extensions/shape.h,
+ [AC_CHECK_LIB(Xext, XShapeQueryVersion, HAVE_XSHAPE=yes)],
+ [],
+ [#include <X11/extensions/shape.h>
+ ])
+ if test $HAVE_XSHAPE = yes; then
+ XSHAPE_LIBS=-lXext
+ fi
+ if test $HAVE_XSHAPE = yes; then
+ AC_DEFINE(HAVE_XSHAPE, 1, [Define to 1 if you have the Nonrectangular Window Shape extension.])
+ fi
+fi
+AC_SUBST(XSHAPE_CFLAGS)
+AC_SUBST(XSHAPE_LIBS)
+
### Use Xcomposite (-lXcomposite) if available
HAVE_XCOMPOSITE=no
if test "${HAVE_X11}" = "yes"; then