summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-03-29Present: clarify PresentPixmapSynced idle event behaviorHEADmasterErik Kurzinger1-7/+9
PresentIdleNotify events will not be delivered for PresentPixmapSynced requests. This should be stated explicitly in the protocol specification. Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com>
2024-03-25xorgproto 2024.1xorgproto-2024.1Olivier Fourdan2-2/+2
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
2024-03-25Present: add PresentPixmapSyncedErik Kurzinger4-6/+146
Adds an augmented version of PresentPixmap supporting explicit synchronization with a direct rendering device. This takes the form of timeline DRM synchronization objects, along with acquire and release points on those timelines. Implementations advertising PresentCapabilitySyncobj will wait for the acquire point to be signaled before executing the PresentPixmap request, and signal the release point after any GPU operations on the pixmap have completed. Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com>
2024-03-22DRI3: add DRI3ImportSyncobj and DRI3FreeSyncobjErik Kurzinger3-5/+77
Adds new protocol to the DRI3 extension for importing DRM synchronization objects provided by clients. These can be used to enable explicit synchronization between the client, the direct rendering device, and the server. Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com>
2024-02-08meson: add header paths to declare_dependencyJosé Expósito1-1/+10
The `install_headers()` function is used to install the headers present in `include/<subdirectory>`. However, when `xorgproto` is used as a subproject, the headers are not copied and the parent project is not able to find the headers included in subdirectories. For example, this error is generated when `xserver` is built with `xorgproto` as a subproject: fatal error: xf86dri.h: No such file or directory 41 | #include "xf86dri.h" | ^~~~~~~~~~~ This is a known issue present in Meson: https://github.com/mesonbuild/meson/issues/2546 To workaround the issue, add the required subdirectories to `declare_dependency()`. Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2024-02-07keysyms: Improve doc & comments for non-deprecated aliasesPierre Le Marre1-17/+55
Use “non-deprecated alias for…” instead of plain “alias for” to make clear that an alias is endorsed and not deprecated.
2024-02-07keysyms: Note that some canonical names may be deprecatedPierre Le Marre1-1/+4
2024-02-06keysyms: Make some comments more standardPierre Le Marre1-5/+5
2024-02-06keysyms: Fix typo in XK_guillemotright commentPierre Le Marre1-1/+1
2024-02-03keysyms: Add regex for keysyms with Unicode annotation in angle bracketsPierre Le Marre1-0/+1
2024-02-03keysyms: Add warning about removals & canonical names changesPierre Le Marre1-0/+18
2024-02-03keysyms: Revert removals and postpone effective deprecationPierre Le Marre1-5/+11
Recent removals & deprecations of keysyms have caused quite a lot of trouble: - Removed keysyms *were* used in the wild, especially the dead keys: e.g. in Neo-like and Bépo-like layouts. While checking for keysyms use in xkeyboard-config database is a mandatory first step, it is not enough. - Removed keysyms broke Qt build. - Deprecated names are now replaced by their new non-deprecated version. It is problematic in the case that a sandbox application (e.g. with flatpak) uses X11 or xkbcommon libraries older than the system’s one: they are not able to parse the new names. For the sake of the stability, this commit restore all previous keysyms and introduces the new names as alternative. While the comments mark some names as “deprecated”, they will remain the canonical names (i.e. they are *output* by `xkbcomp` and `xkbcommon`) for the next 10 years. Details of the modified commits: - "keysymdef.h: add better names for the dead schwa and SCHWA symbols" (commit e5cccecd814dd2005b3c5e9d22e426ff985ef387) - "keysymdef.h: delete four symbolic names that serve no purpose" (commit cb44799b72f611eb4c9d7cc185bc3b09e070be08) - "keysymdef.h: name the masculine ordinal indicator similar to feminine one" (commit 3ddfc9803676dd3b3ed909f8d9fbe1a699a5ce35) - "keysymdef.h: add correctly spelled names for the left and right guillemet" (commit 8cfcc91a3f86cbea5ba676715412880ff6a61b21)
2023-09-28Keysyms: Update XF86Keysyms.hPierre Le Marre1-0/+18
Add latest available keys from Linux kernel (git master).
2023-09-27keysyms headers: Make some aliases explicitPierre Le Marre2-64/+64
Mark some alias deprecated, as per keysymdef.h rules. Notable changes: - HP deprecated aliases. - Ooblique, ooblique: deprecated in favor more explicit names. - Arabic_farsi_yeh: deprecated, could induce in error with Arabic_yeh. - Greek_LAMBDA, Greek_lambda: non deprecated aliases, as there seem to be not common agreeement between standard and literature. - Armenian_verjaket, Armenian_but, Armenian_yentamna, Armenian_amanak, Armenian_shesht, Armenian_paruyk: deprecated in favor of the Unicode name. Currently not used in xkeyboard-config.
2023-09-27keysymdef.h: Normalize Unicode mappingsPierre Le Marre1-268/+277
- Normalize codepoint format to upper case. - Fix Unicode standard names: use *corrected* names. - Add missing Unicode mappings (see hereinafter). Some special keysyms have Unicode mappings in both X11 and xkbcommon, but they are not documented. As these mappings are not one-to-one, we introduce the concepts of generic/specific compatible semantics: - Generic keysyms such as as `Space` have a standard Unicode annotation; - Specialized keysyms such as `KP_Space` have the same standard Unicode annotation between angle brackets.
2023-09-27keysyms headers: Normalize keysyms value format & paddingPierre Le Marre6-607/+615
- Harmonize format by using lower case hexadecimal notation. - Normalize keysym padding: use spaces instead of tabulations with the same amount everywhere. - Update generator to new format.
2023-07-19keysymdef.h: Improve comment of two keysymsPierre Le Marre1-2/+2
- `Greek_IOTAdiaeresis`: make clear that the keysym is deprecated (due to a typo). - `Thai_maihanakat_maitho`: there is a Unicode mapping to U+0E3E in both libx11 and xkbcommon, but the code point is unassigned. Document this mapping and deprecate the keysym.
2023-07-19keysymdef.h: Improve doc on deprecated keysymsPierre Le Marre1-1/+8
The documentation on deprecated keysyms lacks precision for two cases, which are fixed by this commit: - Explicit aliases (comment: “alias for XXX”) are not deprecated. - A keysym can be explicitly deprecated by starting its comment with “deprecated”.
2023-07-19keysymdef.h: Fix typo for Mode_switch aliasesPierre Le Marre1-7/+7
Keysyms names are case-sensitive, so rewrite `mode_switch` into `Mode_switch` in the comment of `Mode_switch` aliases.
2023-07-06keysymdef.h: add dead_hamza symbolMohamed Akram1-0/+1
It is intended to be added to the ara(mac-phonetic) and my(phonetic) layouts on the <BKSL> key. They are based on the following layouts listed in the CLDR: - https://github.com/unicode-org/cldr/blob/main/keyboards/osx/ar-t-k0-osx-qwerty.xml - https://github.com/unicode-org/cldr/blob/main/keyboards/osx/ms-t-k0-osx.xml In CLDR, the dead keys are defined in the <transforms> section. Hamza “ء” is used there in the first position, making it a dead key. Now, among the keys that produce this character, E02 has transform="no" while D13 has not. So hamza on D13 is a dead key but it is not on E02. The compose sequences required for the mentioned layouts are intended to be added to libX11. Specifically, dead_hamza with alef, waw and yeh to generate hamzaonalef, hamzaonwaw, and hamzaonyeh, respectively. Additional sequences might be added as necessary.
2023-06-16xorgproto 2023.2xorgproto-2023.2Olivier Fourdan2-2/+2
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
2023-06-13presentproto: Update version number to 1.3Olivier Fourdan3-4/+4
Bump the presentproto version to 1.3 in the pkg-config file, presentproto.txt and presenttokens.h. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com> Fixes: 5a3d5d624 - present: add PresentOptionAsyncMayTear
2023-06-05xorgproto 2023.1xorgproto-2023.1Olivier Fourdan2-2/+2
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
2023-06-01Allow client to force server to terminate if it exitsDemi Marie Obenour3-4/+35
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-05-24present: add PresentOptionAsyncMayTearXaver Hugl2-9/+40
2023-05-20Xos.h: include <strings.h> on FreeBSD for index/rindexDimitry Andric1-1/+1
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-18hyphenate two compound adjectives, like for the other occurrenceBenno Schulenberg1-2/+2
2023-04-27Be more descriptive about monitor typesMichael Wyraz1-4/+9
Be more descriptive about user defined vs default monitors in randr and allow more than one virtual monitor per physical output
2023-04-21keysymdef.h: add better names for the dead schwa and SCHWA symbolsBenno Schulenberg1-2/+4
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-13keysymdef.h: delete four symbolic names that serve no purposeBenno Schulenberg1-6/+0
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-03-28Revert "keysymdef.h: delete fourteen long-deprecated symbol names"Peter Hutterer1-0/+14
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 3b2a6b10e6003151c35f1b80c9ba763b46069765.
2023-03-25keysymdef.h: delete fourteen long-deprecated symbol namesBenno Schulenberg1-14/+0
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-25keysymdef.h: name the masculine ordinal indicator similar to feminine oneBenno Schulenberg1-1/+2
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-25keysymdef.h: add correctly spelled names for the left and right guillemetBenno Schulenberg1-2/+4
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-19XvMCproto.h: remove ; from the end of sz_* definitionsAlan Coopersmith1-11/+11
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-16Only install PM_spec when legacy protocol support is enabledAlan Coopersmith2-15/+29
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-02-24Remove "All rights reserved" from Oracle copyright noticesAlan Coopersmith13-13/+13
Oracle no longer includes this term in our copyright & license notices. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2023-01-10meson: replace deprecated source_root with new project_source_rootAlan Coopersmith1-2/+2
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-10meson: replace join_paths with /Alan Coopersmith1-2/+3
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-10gitlab CI: run meson instead of ninja for test & install stepsAlan Coopersmith1-9/+6
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-09-29Remove _X_NONNULL macroAlan Coopersmith1-13/+0
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-12Merge branch 'off-by-one'Olivier Fourdan1-4/+4
2022-09-08DRI3: fix off-by-one DRI3 opcodes in descriptionEmil Velikov1-4/+4
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-08-28presentproto: Minor typo fixesAlan Coopersmith1-3/+3
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-08-09xorgproto 2022.2xorgproto-2022.2Olivier Fourdan2-2/+2
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
2022-08-05Add the XWAYLAND extensionPeter Hutterer8-3/+201
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-07-24Build xz tarballs instead of bzip2Alan Coopersmith1-1/+1
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-07-23Win32: Fix collision over 'ControlMask'Jon Turney2-0/+6
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-23gitlab CI: enable gitlab's builtin static analysisAlan Coopersmith1-0/+1
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-07-23gitlab CI: enable commit & merge request checksAlan Coopersmith1-2/+51
Uses ci-fairy from freedesktop/ci-templates Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>