Compare commits
No commits in common. "rawhide" and "f36" have entirely different histories.
2 changed files with 3 additions and 88 deletions
|
|
@ -1,50 +0,0 @@
|
|||
From 89731d7eeb1515ebb217a59b8ca1c271e29ea0c5 Mon Sep 17 00:00:00 2001
|
||||
From: Olivier Fourdan <ofourdan@redhat.com>
|
||||
Date: Mon, 7 Aug 2023 10:20:08 +0200
|
||||
Subject: [PATCH] Use XTEST instead of XWarpPointer with a single screen
|
||||
|
||||
xdotool uses the XTEST extension for pretty much all input events
|
||||
emulation except for mousemove.
|
||||
|
||||
For mousemove, it uses XWarpPointer() instead, to work around an old bug
|
||||
from 2009 that would ignore the screen number in Zaphod mode.
|
||||
|
||||
Unfortunately, that prevents mousemove to work in Xwayland with libEI
|
||||
because Xwayland wires XTEST to libEI, whereas xdotool uses the core
|
||||
protocol for that command alone.
|
||||
|
||||
Zaphod mode is nowadays somehow deprecated, GNOME and GTK have dropped
|
||||
support for it and Xwayland supports only one X11 screen (not to be
|
||||
confused with multi-monitors), so this workaround in xdotool actually
|
||||
causes more harm that good in most current cases nowadays.
|
||||
|
||||
So, to preserve compatibility with Zaphod mode while being compatible
|
||||
with modern windowing systems, this fix limits the workaround that uses
|
||||
XWarpPointer() for when there is more than one screen, and uses the
|
||||
XTEST extension otherwise.
|
||||
---
|
||||
xdo.c | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/xdo.c b/xdo.c
|
||||
index ffb0333..8cda05c 100644
|
||||
--- a/xdo.c
|
||||
+++ b/xdo.c
|
||||
@@ -804,8 +804,12 @@ int xdo_move_mouse(const xdo_t *xdo, int x, int y, int screen) {
|
||||
* seem to recommend XWarpPointer instead, ie;
|
||||
* https://bugzilla.redhat.com/show_bug.cgi?id=518803
|
||||
*/
|
||||
- Window screen_root = RootWindow(xdo->xdpy, screen);
|
||||
- ret = XWarpPointer(xdo->xdpy, None, screen_root, 0, 0, 0, 0, x, y);
|
||||
+ if (screen > 0) {
|
||||
+ Window screen_root = RootWindow(xdo->xdpy, screen);
|
||||
+ ret = XWarpPointer(xdo->xdpy, None, screen_root, 0, 0, 0, 0, x, y);
|
||||
+ } else {
|
||||
+ ret = XTestFakeMotionEvent(xdo->xdpy, 0, x, y, CurrentTime);
|
||||
+ }
|
||||
XFlush(xdo->xdpy);
|
||||
return _is_success("XWarpPointer", ret == 0, xdo);
|
||||
}
|
||||
--
|
||||
2.41.0
|
||||
|
||||
41
xdotool.spec
41
xdotool.spec
|
|
@ -1,18 +1,15 @@
|
|||
Name: xdotool
|
||||
Version: 3.20211022.1
|
||||
Epoch: 1
|
||||
Release: 11%{?dist}
|
||||
Release: 1%{?dist}
|
||||
Summary: Fake keyboard/mouse input
|
||||
# Automatically converted from old format: BSD - review is highly recommended.
|
||||
License: LicenseRef-Callaway-BSD
|
||||
License: BSD
|
||||
URL: https://github.com/jordansissel/xdotool
|
||||
Source0: https://github.com/jordansissel/xdotool/releases/download/v%{version}/xdotool-%{version}.tar.gz
|
||||
|
||||
Patch0: 0001-Use-XTEST-instead-of-XWarpPointer-with-a-single-scre.patch
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: gcc
|
||||
BuildRequires: libXtst-devel, libX11-devel, libXinerama-devel, libXi-devel, perl-podlators, libxkbcommon-devel
|
||||
BuildRequires: libXtst-devel, libX11-devel, libXinerama-devel, libXi-devel, /usr/bin/pod2man, libxkbcommon-devel
|
||||
|
||||
%description
|
||||
This tool lets you programmatically (or manually) simulate keyboard input
|
||||
|
|
@ -34,7 +31,6 @@ developing applications that use libxdo
|
|||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch 0 -p1
|
||||
|
||||
%build
|
||||
%set_build_flags
|
||||
|
|
@ -63,37 +59,6 @@ chmod 0644 examples/ffsp.sh
|
|||
%doc examples
|
||||
|
||||
%changelog
|
||||
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.20211022.1-11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
|
||||
|
||||
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.20211022.1-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
|
||||
|
||||
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.20211022.1-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.20211022.1-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Wed Sep 04 2024 Miroslav Suchý <msuchy@redhat.com> - 1:3.20211022.1-7
|
||||
- convert license to SPDX
|
||||
|
||||
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.20211022.1-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.20211022.1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Wed Aug 16 2023 Olivier Fourdan <ofourdan@redhat.com> - 1:3.20211022.1-4
|
||||
- Use XTEST instead of XWarpPointer with a single screen
|
||||
https://github.com/jordansissel/xdotool/pull/435
|
||||
|
||||
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.20211022.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.20211022.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Sat Nov 05 2022 Orion Poplawski <orion@nwra.com> - 1:3.20111022.1-1
|
||||
- Update to 3.20111022.1
|
||||
- Use set_build_flags and make macros
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue