3aeb4a5542
Improve cursor_set_custom_image() method
2024-02-28 20:32:25 +01:00
ee53ae28df
Add method to get "base" system UI color (macOS/Windows) and system theme change callback.
2024-02-13 18:38:53 +02:00
73eff10c76
Finish splitting functionality of the Vulkan and D3D12 backends into RenderingDeviceDriver.
2024-02-12 10:02:18 -03:00
74b03edf1e
Merge pull request #82800 from Sauermann/fix-screen-mousemotion
...
Add screen-related attributes to mouse input events
2024-02-09 18:08:58 +01:00
4f478a55cc
Merge pull request #86843 from RandomShaper/fix_null_ptr
...
Avoid several null-dereferences of ApiContextRD
2024-02-07 10:58:01 +01:00
d5a5dd52e8
Avoid several null-dereferences of ApiContextRD
2024-02-06 19:55:01 +01:00
8a2e4409e6
[X11] Partial Fix Godot Editor and Project Manager steals focus on a window manager on Linux
...
This is a workaround for the most critical portion of the WM focus bug
described in #68305 . On some specific X11 WM configurations, the
editor's main window and any popups it creates will fight for focus,
which causes a total system lockup due to mouse and keyboard input being
stolen as well. Getting out of this infinite loop requires force
restarting the system.
It can be tested with the following shell script:
```bash
!#/bin/sh
godot4 &
sleep 30
pkill -x godot4
```
The workaround identified in #68305 is to remove the call to
XSetInputFocus in the ConfigureNotify event handler, so I have removed
the conditional block that calls this as well as the setup code above it
since there is no need to allocate the memory for the variables if they
won't be used in that call anymore.
This is just a hack and is not a complete fix for #68305 . Multiple
developers are collaborating on a proper fix in the discussion in that
issue, but time is a valuable resource that no one has enough of, so I
am committing this workaround as a stop-gap to prevent the most critical
problem while we work on a full solution for the underlying cause.
2024-02-05 17:00:24 -06:00
2235a1cbd0
Add screen-related attributes to mouse input events
2024-02-05 23:30:15 +01:00
f220d46cdc
Merge pull request #80231 from romlok/input-key-location
...
Support detecting and mapping ctrl/alt/shift/meta by their left/right physical location
2024-01-29 13:15:42 +01:00
8406e60522
Add InputEventKey.location to tell left from right
...
This adds a new enum `KeyLocation` and associated property
`InputEventKey.location`, which indicates the left/right location of key
events which may come from one of two physical keys, eg. Shift, Ctrl.
It also adds simulation of missing Shift KEYUP events for Windows.
When multiple Shifts are held down at the same time, Windows natively
only sends a KEYUP for the last one to be released.
2024-01-26 14:42:28 +01:00
a8f521bcad
[Native File Dialog] Add support for adding custom options to the dialogs.
...
Add support for adding custom options (checkboxes and optionboxes) to the dialogs (both native and built-in).
2024-01-24 15:00:31 +02:00
64a52e08fe
[X11] Don't re-set input focus if the given window already has it
2024-01-18 08:52:03 -06:00
4aff0ab5d5
Merge pull request #86441 from dsnopek/mequam-x11-focus-grab
...
[X11] Fix Godot stealing focus on alternative window managers
2024-01-18 09:34:18 +01:00
03767fbf3b
Merge pull request #86446 from reduz/transient-to-focused
...
Implement a `transient_to_focused` Window mode
2024-01-15 13:25:00 +01:00
15144c24bd
Implement a transient_to_focused mode
...
This intends to be the correct way to handle non-child windows becoming covered by the current window when becoming focused.
Enabling this property on select windows, they will become transient to the currently focused one when becoming visible.
This deprecates the "unparent_when_invisible" function introduced by #76025 .
2024-01-14 18:51:44 +01:00
0e8f90f4c8
Update deferred calls to use Callables
2024-01-09 16:11:47 +01:00
40d69c25d5
[X11] Fix Godot stealing focus on alternative Window Managers
2024-01-09 08:58:59 -06:00
3a8524dd92
Merge pull request #83452 from RandomShaper/rd_common
...
Split `RenderingDevice` into API-agnostic and `RenderingDeviceDriver` parts
2023-12-20 20:09:18 +01:00
12a519bae2
Split RenderingDevice into API-agnostic and RenderingDeviceDriver parts
...
Credit and thanks to @bruzvg for multiple build fixes, update of 3rd-party items and MinGW support.
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com >
2023-12-20 19:18:08 +01:00
aee8a3bada
Merge pull request #75489 from bruvzg/init_pos_usable
...
[DisplayServer] Use screen "usable rect" instead of full rect to calculate initial window rect.
2023-12-19 20:32:10 +01:00
b02cf351f3
[DisplayServer] Use screen "usable rect" instead of full rect to calculate initial window rect.
2023-12-04 07:56:33 +02:00
bf45d3ae24
X11: Send IME update notification deferred
2023-11-24 13:18:50 +01:00
f3d4f5a77e
[X11] Add fallback from desktop GL to GLES, suppress PRIME detector error spam.
2023-11-06 12:40:44 +02:00
1d9ec3caa3
Fix freeze when requesting clipboard image from our own window
2023-10-25 18:32:40 -05:00
085255bd0e
Improved X11 screen_get_refresh_rate performance
2023-10-24 11:25:51 -07:00
2f33c2b20e
Merge pull request #81439 from Setadokalo/clipboard_image
...
Implement `clipboard_get`/`has_image` for X11
2023-10-20 15:06:42 +02:00
3b5a9e31bb
Implement clipboard_get/has_image for X11
2023-10-20 02:59:10 -05:00
8eb32f9aad
Fix unused variables warning when touch is disabled
2023-10-13 16:04:08 +02:00
f18aa00e85
Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable
2023-10-08 17:23:33 +02:00
09b30be86d
Add vararg call() method to C++ Callable
2023-10-05 11:35:29 +02:00
af00c4a54a
[X11] Add support for using EGL/GLES instead of GLX.
2023-10-04 14:15:36 +03:00
31dbbc2c5a
Merge pull request #80952 from bruvzg/nfdlg_refocus
...
[Native File Dialogs] Refocus last focused window on close.
2023-10-03 17:13:58 +02:00
1887a9df19
[macOS/Windows] Add optional ANGLE backed OpenGL renderer support. Add EGL_ANDROID_blob_cache caching.
...
Co-authored-by: Riteo <riteo@posteo.net >
2023-09-21 14:21:00 +03:00
3565d1bf7e
[Drivers,Platform] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable
2023-09-12 20:13:32 +02:00
2e1f48ff6e
[Native File Dialogs] Refocus last focused window on close.
2023-08-24 09:34:58 +03:00
c72b851dfb
Merge pull request #80104 from bruvzg/freedesktop_native_file_dialog
...
[Linux/Freedesktop] Implement native file selection dialog support.
2023-08-17 11:23:00 +02:00
9a48b14a2d
Merge pull request #80036 from PorkrollPosadist/fix-wayland-window-behavior
...
Use EWMH for `DisplayServerX11::_window_minimize_check()` implementation
2023-08-17 11:22:36 +02:00
6cc314e0fa
[Linux/Freedesktop] Implement native file selection dialog support.
2023-08-17 10:56:16 +03:00
49f0d8cee3
Merge pull request #80279 from Sauermann/fix-x11-mouse-window-event-crash
...
Track hovered `Window` in `DisplayServerX11`
2023-08-10 00:43:00 +02:00
a7c5849f98
Track hovered Window in DisplayServerX11
...
Send mouse-entered/exited window-events only when necessary
2023-08-09 12:20:23 +02:00
6a0410bbc2
Merge pull request #80240 from bruvzg/x11_ext_checks
...
[X11] Do not fail DisplayServer init if non-essential extensions are missing.
2023-08-07 14:50:47 +02:00
e26a6c36c8
Fix native popups auto-closing when interacting with non-client area.
2023-08-07 10:01:48 +03:00
acff87ffda
[X11] Do not fail DisplayServer init if non-essential extensions are missing.
2023-08-04 10:58:14 +03:00
8c1ce404d7
Fix crash on Windows when closing Window
...
Send `WINDOW_EVENT_MOUSE_EXIT` when a window is destroyed.
Ensure, that on Windows, the event_callback is still valid during
destroying the `Window`.
2023-08-02 00:17:25 +02:00
5666656d42
Use EWMH for DisplayServerX11::_window_minimize_check() implementation
2023-07-31 16:35:18 -04:00
7e21eb7e00
Extract and reorganize texture resource classes
2023-07-14 20:04:21 +02:00
ff689003a5
Merge pull request #77993 from bruvzg/key_lbl_from_p
...
Implement DisplayServer.keyboard_get_label_from_physical method.
2023-07-12 21:02:37 +02:00
2b47f6715e
Merge pull request #78437 from bruvzg/set_icon
...
Add error checks and harmonize behavior of the `set_icon` method.
2023-07-12 15:09:14 +02:00
dcd16a5750
Linux: Fix build with use_sowrap=no and various warnings/errors
2023-07-10 14:34:01 +02:00
9c5a0c6c10
Add error checks and harmonize behavior of the set_icon method.
2023-07-03 13:48:28 +03:00