Commit graph

2743 commits

Author SHA1 Message Date
Demi Marie Obenour
6b1012c29c Allow client to force server to terminate if it exits
This is intended to be used by screen lockers, where the server must
exit if the screen locker does, to avoid a security hole.  As suggested
by Alan Coopersmith, this is implemented using a new flag for the
disconnect mode of the XFixes extension.  Includes wording suggestions
from Peter Hutterer.

Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
2023-06-01 11:34:37 -04:00
Xaver Hugl
5a3d5d624e present: add PresentOptionAsyncMayTear 2023-05-24 14:05:16 +02:00
Dimitry Andric
6c3a7302fc Xos.h: include <strings.h> on FreeBSD for index/rindex
Adding index() and rindex() as macros wreaks havoc with several libc++
headers, which liberally use the name 'index' for variables, functions,
and more. Get the declarations from <strings.h> instead, where they have
been for at least two decades.

Signed-off-by:	Dimitry Andric <dimitry@andric.com>
2023-05-20 17:13:28 +02:00
Benno Schulenberg
c85a6ff7bd hyphenate two compound adjectives, like for the other occurrence 2023-05-18 16:32:53 +02:00
Michael Wyraz
7131a5bec5 Be more descriptive about monitor types
Be more descriptive about user defined vs default monitors in randr and allow more than one virtual monitor per physical output
2023-04-27 04:38:45 +00:00
Benno Schulenberg
e5cccecd81 keysymdef.h: add better names for the dead schwa and SCHWA symbols
The new names (`dead_schwa` and `dead_SCHWA`) fit much better with
the `dead_a`, `dead_A` scheme for the other vowels, and also with
how other upper- and lowercase schwa symbols are named.

The old names are deprecated, and can be removed quite soon because
they are not used anywhere -- not in xkeyboard-config at least.

(The dead vowel symbols were introduced fifteen years ago in commit
935dd37be4, to support compose sequences for Amharic, but neither
libX11 nor xkeyboard-config were ever updated to make use of them.)

Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2023-04-21 21:54:25 +00:00
Benno Schulenberg
cb44799b72 keysymdef.h: delete four symbolic names that serve no purpose
Ten years ago, in commit 6d4acb0e3a, these four keysyms were added
to support new compose sequences that then could be typed with the
newish German T3 layout -- or at least, that was the intention.

The commit was in response to https://bugs.freedesktop.org/62189,
right before I retracted the patch after learning that there are no
precomposed characters that use those four symbols as diacritics.

The commit should have been reverted then, but... it lingered and
was forgotten.  No layout in xkeyboard-config uses these symbols
(obviously, as they serve no purpose) and meanwhile the T3 layout
itself has become obsolete [1], so... it's time to clean up.

  [1] https://de.wikipedia.org/wiki/DIN_2137#Neufassung_2018

  "die Belegung T3 wird nicht mehr definiert, da die Erfahrung gezeigt
   hat, dass eine solche Tastatur ohnehin nicht produziert wird"

Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2023-04-13 16:13:17 +02:00
Peter Hutterer
fca42f2e5a Revert "keysymdef.h: delete fourteen long-deprecated symbol names"
Turns out the server still used one of those, see [1] and removing those
breaks the build. Let's revert this for now and we can re-visit in a few
xserver releases time.

[1] https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1099

This reverts commit 3b2a6b10e6.
2023-03-28 07:05:11 +10:00
Benno Schulenberg
3b2a6b10e6 keysymdef.h: delete fourteen long-deprecated symbol names
They have been deprecated for more than twenty years,
and were either misspelled or too specifically named.

Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2023-03-25 17:47:53 +00:00
Benno Schulenberg
3ddfc98036 keysymdef.h: name the masculine ordinal indicator similar to feminine one
The symbolic name for the feminine ordinal indicator is 'ordfeminine',
so the name for the masculine ordinal indicator should be 'ordmasculine'
instead of just 'masculine'.  Deprecate this latter form.

Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2023-03-25 17:47:53 +00:00
Benno Schulenberg
8cfcc91a3f keysymdef.h: add correctly spelled names for the left and right guillemet
And deprecate the misspelled ones -- guillemots are seabirds [1],
guillemets are the sideways double chevrons [2].

  [1] https://en.wikipedia.org/wiki/Guillemot
  [2] https://en.wikipedia.org/wiki/Guillemet

This will allow to finally use properly spelt symbol names
in the layouts of xkeyboard-config.

Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2023-03-25 17:47:53 +00:00
Alan Coopersmith
9fa55c4115 XvMCproto.h: remove ; from the end of sz_* definitions
Fixes compiler errors of "unexpected ';' before ')'" when calling
the SIZEOF macro on XvMC requests.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2023-03-19 13:47:03 -07:00
Alan Coopersmith
cf35a91fe5 Only install PM_spec when legacy protocol support is enabled
PM_spec is the spec for the Proxy Management Protocol, and the other
files for that protocol are only installed if legacy protocols
are requested from configure or meson

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2023-03-16 13:24:51 -07:00
Alan Coopersmith
423098656f Remove "All rights reserved" from Oracle copyright notices
Oracle no longer includes this term in our copyright & license notices.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2023-02-24 16:36:43 -08:00
Alan Coopersmith
1b6e63b2c3 meson: replace deprecated source_root with new project_source_root
Fixes deprecation warning for meson 0.56.0 and later.
Raises minimum meson version to 0.56.0.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2023-01-10 16:21:15 -08:00
Alan Coopersmith
3fd47893c5 meson: replace join_paths with /
Sets minimum meson version to 0.50.0 due to use of:
 * 0.49.0: {'/ with string arguments'}
 * 0.50.0: {'install arg in configure_file'}

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2023-01-10 16:20:42 -08:00
Alan Coopersmith
1a1e0a82b1 gitlab CI: run meson instead of ninja for test & install steps
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2023-01-10 16:10:55 -08:00
Alan Coopersmith
9740bd9bfa Remove _X_NONNULL macro
We could not find any evidence it was ever used, but defining it
caused C++11 compilers to complain:

/usr/X11R6/include/X11/Xfuncproto.h:173:24:
warning: ISO C does not permit named variadic macros [-Wvariadic-macros]
 #define _X_NONNULL(args...)  __attribute__((nonnull(args)))

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-09-29 17:25:53 -07:00
Olivier Fourdan
ae81c3c694 Merge branch 'off-by-one' 2022-09-12 11:29:45 +02:00
Emil Velikov
7e0ae1736d DRI3: fix off-by-one DRI3 opcodes in description
The actual protocol and implementation details are unaffected - both
here and in xcb. Only the description/diagram section is off.

Noticed while skimming through the new 1.3 additions.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2022-09-08 08:04:05 +00:00
Alan Coopersmith
aa1543ef9d presentproto: Minor typo fixes
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-08-28 10:10:42 -07:00
Olivier Fourdan
824001c947 xorgproto 2022.2
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
2022-08-09 16:53:29 +02:00
Peter Hutterer
ad6412624e Add the XWAYLAND extension
This extension exists to serve one purpose: reliably identifying
Xwayland. Previous attempts at doing so included querying root window
properties, output names or input device names. All these attempts are
somewhat unreliable. Instead, let's use an extension - where that
extension is present we have an Xwayland server.

Clients should never need to do anything but check whether the extension
exists through XQueryExtension/XListExtensions.

This extension provides a single QueryVersion request only, and
that is only to provide future compatibility if we ever need anything
other than "this extension exists" functionality.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
2022-08-05 09:51:54 +10:00
Alan Coopersmith
a3f847b750 Build xz tarballs instead of bzip2
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-07-24 08:47:30 -07:00
Jon Turney
ede86501a4 Win32: Fix collision over 'ControlMask'
Workaround the collision between ControlMask #defined in X11/X.h and
ControlMask used as the name of a structure member in
w32api/processthreadsapi.h in w32api 10.0.0
2022-07-23 23:38:19 +00:00
Alan Coopersmith
7ca8d2042d gitlab CI: enable gitlab's builtin static analysis
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-07-23 16:31:19 -07:00
Alan Coopersmith
644e96bf5e gitlab CI: enable commit & merge request checks
Uses ci-fairy from freedesktop/ci-templates

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-07-23 16:30:31 -07:00
Alan Coopersmith
912e050d8d DBE spec: make titles more consistent in Encoding section
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-06-08 17:13:05 -07:00
Alan Coopersmith
1535e95315 DBE spec: define j in DBEGetVisualInfo reply encoding
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-06-08 17:03:12 -07:00
Austin Shafer
74255ccfd8 DRI3: Add DRI3SetDRMDeviceInUse
DRI3SetDRMDeviceInUse is a hint that lets a client tell the server
what DRM device it is currently using. This lets the server make
more informed decisions for what modifiers to return to the client.

This is needed for proper linux dmabuf feedback with Xwayland
2022-05-25 06:31:56 +00:00
Peter Hutterer
8c8bbb9034 xorgproto 2022.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2022-04-21 10:42:50 +10:00
Peter Hutterer
a839f0c7fc XF86keysyms.h: add new keycodes from kernel v5.17
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2022-03-25 14:46:40 +10:00
Peter Hutterer
914d8f5e0f XF86keysyms.h: add new keycodes from kernel v5.13
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-11-09 10:16:09 +10:00
Povilas Kanapickas
57acac1d4c xorgproto 2021.5
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2021-09-15 18:55:35 +03:00
Povilas Kanapickas
d9518ce279 specs: Specify XI 2.4 as released
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2021-09-15 18:55:34 +03:00
Alex Richardson
a0ed054ee2 Define LONG64 if __SIZEOF_LONG__ indicates 64-bit long
All modern compilers (GCC>=4.6, Clang>=3.0) define this macro, so we can
use it to detect 64-bit longs without adding to the architecture list.

This change allows me to successfully run a simple X11 window on a
64-bit FreeBSD RISC-V QEMU VM via SSH forwarding. Without this change
I get an error that DISPLAY cannot be opened.

Signed-off-by: Alex Richardson <Alexander.Richardson@cl.cam.ac.uk>
2021-06-15 14:25:01 +01:00
Povilas Kanapickas
9cd746bd0d xorgproto-2021.4.99.2
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2021-05-30 12:47:29 +03:00
Povilas Kanapickas
4aefa5917f Bump inputproto to 2.3.99.2 2021-05-30 12:41:01 +03:00
Povilas Kanapickas
b492f7c932 specs: Fix type of GESTURECLASS num_touches member
This was a copy-paste error from TOUCHCLASS. The protocol structs use
uint8_t for num_touches.

Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2021-05-17 14:53:26 +03:00
Povilas Kanapickas
b67e10871e specs: Fix type of TOUCHCLASS num_touches member
The actual protocol structs use uint8_t.

Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2021-05-17 14:53:25 +03:00
Povilas Kanapickas
1fe571bae9 Bump inputproto to 2.3.99.1
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2021-05-15 22:59:40 +03:00
Povilas Kanapickas
4c3242b00d specs: Specify XI 2.4 as unreleased
TODO, while useful for grepping, does not actually mean anything, so
completely useless.

Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2021-05-15 22:59:39 +03:00
Povilas Kanapickas
7a9b831c60 xorgproto-2021.4.99.1
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2021-05-15 20:12:54 +03:00
Povilas Kanapickas
2498b13d92 specs: Add support for gesture events as XI 2.4
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2021-05-11 01:45:36 +03:00
Povilas Kanapickas
d74ffaed91 include: Add support for XI 2.4 gesture input events
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2021-05-11 01:45:27 +03:00
Peter Hutterer
eec0adee25 xorgproto 2021.4
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-04-30 09:34:12 +10:00
Peter Hutterer
34b8a46e64 gitlab CI: check that the autotools and meson versions are in sync
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-04-30 09:31:12 +10:00
Olivier Fourdan
b6bc35b845 xfixes: Add ClientDisconnectMode
The Xserver itself is capable of terminating itself once all X11 clients
are gone, yet in a typical full session, there are a number of X11
clients running continuously (e.g. the Xsettings daemon, IBus, etc.).

Those always-running clients will prevent the Xserver from terminating,
because the actual number of X11 clients will never drop to 0.

To solve this issue directly at the Xserver level, this add new entries
to the XFixes extension to let the X11 clients themselves specify the
disconnect mode they expect.

Typically, those X11 daemon clients would specify the disconnect mode
XFixesClientDisconnectFlagTerminate to let the Xserver know that they
should not be accounted for when checking the remaining clients prior
to terminate.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
2021-04-29 05:48:29 +00:00
Peter Hutterer
559141495b scripts: exit with 77 if python-libevdev is missing
This way we pass make check/ninja test even where the module is not available

See https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/merge_requests/31#note_879823

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-04-16 09:32:15 +10:00
Pierre Le Marre
25f3278b85
Deprecate XK_approxeq and XK_notapproxeq.
Fixes #20
2021-03-11 21:18:38 +01:00