x11

An x11 protocol implementation and client for the jvm

MIT License

Stars
19
x11 - 0.18.2 Latest Release

Published by moaxcp 3 months ago

Fixing several issues that make the projects unusable.

  • Fixing XAuthority when parsing number
  • switched back to junixsocket as jdk does not support sockets only SocketChannel
  • Fixing usage of io.freefair.lombok in protocol projects. The module-path was not being set on the delombok task
  • fixing delombok by removing lombok from projects using junixsocket. Delombok does not support mutli-release jar files.
x11 - 0.18.1

Published by moaxcp 4 months ago

  • fixing delombok task so javadoc works again and the project can be published to maven central
x11 - 0.18.0

Published by moaxcp 4 months ago

  • Switched to a multimodule project
  • Switched to jdk 21
  • Added java module system support
  • Removed delombok due to issues with modules. This results in javadoc no longer being generated.
  • Removed dependency on junixsocket and switched to the jdk UnixDomainSocket.
  • Removed jbang
  • Moved all integration tests to the examples project with a main method.
x11 - 0.17.0

Published by moaxcp 7 months ago

Adding generated protocol sources to git

x11 - 0.16.0

Published by moaxcp 7 months ago

  • Renaming project to x11
  • Switching to a multiproject build
  • Change integration tests into examples in example project
x11 - 0.15.0

Published by moaxcp 8 months ago

  • Adding RecordApi which provides a higher level api for reading records with parsed XObjects so the user does not need to parse the data.
  • Each XObject now has a static PLUGIN_NAME assigned to the plugin name and an instance getter method.
  • Plugins now use the header as the plugin name.
  • Added all plugin info from the xml file (extensionName, extensionXName, extensionMultiword)
  • added methods to client for reading protocol from any X11Input. This is used for reading data from the record extension and for testing read/write for any object.
  • Fixed issues with list lengths which need to be unsigned.
x11 - 0.1.5.0

Published by moaxcp 8 months ago

  • Adding RecordApi which provides a higher level api for reading records with parsed XObjects so the user does not need to parse the data.
  • Each XObject now has a static PLUGIN_NAME assigned to the plugin name and an instance getter method.
  • Plugins now use the header as the plugin name.
  • Added all plugin info from the xml file (extensionName, extensionXName, extensionMultiword)
  • added methods to client for reading protocol from any X11Input. This is used for reading data from the record extension and for testing read/write for any object.
  • Fixed issues with list lengths which need to be unsigned.
x11 - 0.14.0

Published by moaxcp 10 months ago

Fixing issue where WILD XAuthority entries do not have an address. Fixed major bug when writing requests where the header for extensions did not replace the second byte with OPCODE.

x11 - 0.13.0

Published by moaxcp 11 months ago

ProtocolPluginService now sets majorOpcode on XProtocolPlugins and uses it instead of majorVersion as the base opcode for requests. This fixes a bug in loading plugins and sending requests.

x11 - 0.12.0

Published by moaxcp 11 months ago

Adding jbang examples
Upgrading dependencies
Removing rekon gradle plugin

x11 - 0.11.0

Published by moaxcp almost 3 years ago

Adding support for xkb except for GetKbdByName

x11 - 0.10.0

Published by moaxcp over 3 years ago

x11 - 0.9.0

Published by moaxcp over 3 years ago

  • Added support for resolving enums directly. In xinput.xml there is an Event Property which has the same name as the
    enum Property from xproto.xml. The current solution is to use resolveXTypeEnum(String) when resolving enums.

  • Added support for <eventstruct> tags.

[x] plugin name constant is needed for checking the <allowed> tag within <eventstruct>
[x] offset is required to check if an event is supported by a specific <eventstruct>

  • Added support for readParams which are not part of the protocol for the object but passed in from another object's
    protocol. This is needed for xinput DeviceTimeCoord.

[x] Found bug with reading and writing events and errors for extensions. The offset must be subtracted from the number not
added.

[x] Writing events is not possible without passing in the extension offset. The server will treat extension events like
xproto events.

[x] Added support for <case> tags within a <switch>. This creates an interface and implementing classes for each
case.

x11 - 0.8.0

Published by moaxcp over 3 years ago

Adding support for glx and dri3 extensions

x11 - 0.7.0

Published by moaxcp over 3 years ago

  • Adding support for generic events
  • Adding support for the Present extension
  • Added ProtocolPluginService to handle plugins for the XProtocolService
x11 - 0.6.0

Published by moaxcp over 3 years ago

  • Implementing sync() method based on XSync but without a discard parameter.
  • Adding discard() method to clear the event queue.
  • Added keyCodeToKeySym() methods.
  • Added keySymToKeyCodes() method.
  • Added getKeySym() method.
  • getAtom(int) now returns an AtomValue which contains the id and name.
  • Added getWMProtocols(int) to returns the supported protocols for a window.
  • Added killClient(int) and inputFocus(int).
  • Added Generator for KeySym enum.
  • Added KeyboardService to handle the keyboard for the client.
  • Added BasicWindowManager to example tests.
x11 - 0.5.0

Published by moaxcp almost 4 years ago

Adding hasResponse() method which checks for an available XEvent or XError on
the socket.

Since DisplayName can set the default screen methods have been added to return
default settings from the connection setup response.

x11 - 0.4.0

Published by moaxcp almost 4 years ago

x11 - 0.3.0

Published by moaxcp almost 4 years ago

x11 - 0.2.1

Published by moaxcp almost 4 years ago

Adding github actions build. The workflow will build the library and run a sonar scan.

Adding keysymdef.h support for some of the keys.