The function to request window attention was using ```XInternAtom```.
Now, the atoms are stored and retrieved from the ```_GLFWlibraryX11```
structure.
Add stub functions ```_glfwPlatformRequestWindowAttention``` for the
platforms Cocoa, Mir, and Wayland, which still lack the implementation
of attention request.
The macro ```_NET_WM_STATE_ADD``` is passed to
```xev.xclient.data.l[0]```, instead of a constant `1`.
The example ```simple.c``` was update to make a attention request every
10 seconds.
The code blindly expected UTF8_STRING for files. It did not downgrade
based on source protocol version. It did not handle hostnames in
text/uri-list data. It did not specify the source time stamp when
converting the selection. It did not search the XdndTypeList when
necessary. It did not ignore sources that specified invalid versions.
While better, this is still not fully conformant. Hostnames are not
validated and it does not guard against source crashes.
Fixes#968.
This changes enumeration to add as a GLFW monitor any active adapter
without displays, even if other active adapters do have displays.
Related to #441.
Fixes#960.
X11 event processing currently discards events that can not be mapped to
a current GLFW window. However, this breaks clipboard functionality by
failing to respond to SelectionRequest and SelectionClear events.
This commit moves processing of these important clipboard events to
before the NULL window test so that they are always considered.
Fixes#961.
Closes#963.
This moves the buttons-as-hats logic to shared code and adds the
GLFW_JOYSTICK_HAT_BUTTONS input mode as a way to disable this legacy
behavior.
Fixes#889.
This merges the public part of the glfwGetJoystickHats work by
@IntellectualKitty. The implementation needs replacing due to
refactoring in preparation for gamecontrollerdb support.
Closes#906.