Commit Graph

78 Commits (cb1569345a6f17da08241e645ab03cb2e1b78d2f)

Author SHA1 Message Date
Thaddeus Crews 2135cb1707
Merge pull request #103749 from Rindbee/fix-cannot-input-after-restarting-the-input-method-on-x11
Fix cannot input Chinese after restarting the input method on X11
2025-11-19 11:03:58 +07:00
Pāvels Nadtočajevs 281c74550a
Make `utterance_id` 64-bit. 2025-11-07 10:21:20 +07:00
Haoyu Qiu 48575336e8 X11: Fix minimize/maximize buttons can't be hidden 2025-10-29 19:37:23 +07:00
Haoyu Qiu 0f81e8c7fe X11: Fix fullscreen exit behavior 2025-10-13 15:03:13 +07:00
Haoyu Qiu 7680190768 Revert "Fix the sliding window problem in linux occur due to reparenting of the window during the decoration via tracking the parent of the window"
This reverts commit 932afc3bf5.
2025-10-13 15:03:13 +07:00
Thaddeus Crews 4ea49aecaf
Merge pull request #110990 from timothyqiu/x11-min-max
X11: Fix minimization of maximized windows
2025-10-10 10:26:02 +07:00
Aaron Franke 3d1c9fd5de
Move server files into their subfolders 2025-09-30 19:39:39 +07:00
Haoyu Qiu 12f8c78231 X11: Fix minimization of maximized windows 2025-09-28 12:19:54 +07:00
Nintorch 0b3496fb4f
Add support for SDL3 joystick input driver
Made possible by EIREXE, xsellier and the SDL team.

This commit includes statically linked SDL3 for Windows, Linux and macOS.
The vendored copy of SDL3 was setup to only build the required subsystems
for gamepad/joystick support, with some patches to be able to make it as
minimal as possible and reduce the impact on binary size and code size.

Co-authored-by: Álex Román Núñez <eirexe123@gmail.com>
Co-authored-by: Xavier Sellier <xsellier@gmail.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-06-25 01:28:50 +07:00
Pāvels Nadtočajevs 0497522933
Change `DisplayServerMacOS` from `GDCLASS` to `GDSOFTCLASS`. Add `GDSOFTCLASS` to other display servers. 2025-04-10 09:18:58 +07:00
Thaddeus Crews e6a61b1ecc
Merge pull request #76829 from bruvzg/ac_kit_direct
Implement screen reader support using AccessKit library.
2025-04-08 12:32:47 +07:00
Pāvels Nadtočajevs 4310cb82b8
AccessKit integration for macOS, Linux, and Windows. 2025-04-08 20:25:47 +07:00
Pāvels Nadtočajevs f37fb49739
Add separate `minimize_disabled` and `maximize_disabled` window flags. 2025-04-07 18:58:11 +07:00
Pāvels Nadtočajevs 52009b52d2
Detect KDE/LXQt and swap OK/Cancel buttons to Windows style. 2025-04-03 12:47:11 +07:00
Pāvels Nadtočajevs 4638ade13f
Enable TTS on demand, instead of fully disabling it when project setting is not set. 2025-04-01 15:24:46 +07:00
Thaddeus Crews 49fcd4ce46
Merge pull request #101546 from bruvzg/portal_color_picker
[Linux] Implement native color picker.
2025-03-17 10:52:29 +07:00
Pāvels Nadtočajevs 18f6c33d72
[DisplayServer] Implement `get_accent_color` on Linux. 2025-03-14 09:05:03 +07:00
风青山 456261cd7e
Fix cannot input Chinese after restarting the input method on X11
Register a callback via `XRegisterIMInstantiateCallback()` to detect
whether the input method is available again.
2025-03-10 17:18:02 +07:00
Thaddeus Crews 324512e11c
Style: Replace header guards with `#pragma once` 2025-03-07 17:33:47 +07:00
bruvzg 3e4e6e6c0c Improve native file dialog parent window selection. 2025-03-06 17:15:39 +07:00
Hilderin a3d03717c0 Fix Floating Window request close when a dialog is opened 2025-02-05 20:34:32 +07:00
Hilderin f7d1558bc0 Fix Embedded Game disappear when not focused on KDE 5
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-02-05 12:01:40 +07:00
Pāvels Nadtočajevs 05ca80632d [Linux] Implement native color picker. 2025-02-03 16:30:44 +07:00
Adam Scott 47f553ae0b
Delegate to the DisplayServer the task of handling mouse_mode
- Add `MOUSE_MODE_MAX` and various index checks
2025-01-28 11:22:27 +07:00
Pāvels Nadtočajevs 7f0b4e58b0 Implement `DisplayServer.window_start_resize`. 2025-01-07 07:58:02 +07:00
Hilderin 9d2a4c03be Embedding game process in editor 2024-12-18 17:52:42 +07:00
Pāvels Nadtočajevs 293be04ec8 Implement `window_start_drag` on Windows and Linux. 2024-12-17 16:49:27 +07:00
Pāvels Nadtočajevs 84650f2018 Implement `DisplayServer.beep`. 2024-12-03 12:43:26 +07:00
Alvin Wong 97aa278edb Pass window exclusive and transient properties for subwindow creation
On Windows this allows to avoid having to change the owner of the window
after it has been created, which in rare circumstances may cause the
window to bug out.
2024-07-25 00:27:27 +07:00
bruvzg 3cabf51325
[X11] Detect XWayland and disable screen capture support. 2024-06-12 10:05:17 +07:00
bruvzg 5168647530
Use current mouse button state instead of saved values. 2024-05-31 15:50:14 +07:00
bruvzg 628c81d2d9
[DisplayServer] Add method to check if window transparency is supported and enabled. 2024-05-23 15:23:18 +07:00
Paulo Poiati a3769c0edc Properly set window class in Wayland 2024-05-22 10:42:12 +07:00
Pedro J. Estébanez c28f5901c7 Polish interaction between windowing, input and rendering
- Adapt GL make/release API to the current architecture.
- Fix DisplayServer being locked while dispatching input (prevent deadlocks).
2024-04-10 18:47:42 +07:00
bruvzg c65a667924
Move `global_menu_*` methods to a separate `NativeMenu` class. 2024-03-04 23:41:41 +07:00
bruvzg ee53ae28df
Add method to get "base" system UI color (macOS/Windows) and system theme change callback. 2024-02-13 18:38:53 +07:00
Dario 73eff10c76 Finish splitting functionality of the Vulkan and D3D12 backends into RenderingDeviceDriver. 2024-02-12 10:02:18 +07:00
bruvzg 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 +07:00
David Snopek 64a52e08fe [X11] Don't re-set input focus if the given window already has it 2024-01-18 08:52:03 +07:00
Rémi Verschelde 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 +07:00
Juan Linietsky 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 +07:00
mequam 40d69c25d5 [X11] Fix Godot stealing focus on alternative Window Managers 2024-01-09 08:58:59 +07:00
Pedro J. Estébanez 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 +07:00
Rémi Verschelde 2f33c2b20e
Merge pull request #81439 from Setadokalo/clipboard_image
Implement `clipboard_get`/`has_image` for X11
2023-10-20 15:06:42 +07:00
Setadokalo 3b5a9e31bb Implement clipboard_get/has_image for X11 2023-10-20 02:59:10 +07:00
bruvzg af00c4a54a
[X11] Add support for using EGL/GLES instead of GLX. 2023-10-04 14:15:36 +07:00
bruvzg 6cc314e0fa
[Linux/Freedesktop] Implement native file selection dialog support. 2023-08-17 10:56:16 +07:00
Rémi Verschelde 49f0d8cee3
Merge pull request #80279 from Sauermann/fix-x11-mouse-window-event-crash
Track hovered `Window` in `DisplayServerX11`
2023-08-10 00:43:00 +07:00
Markus Sauermann a7c5849f98 Track hovered `Window` in `DisplayServerX11`
Send mouse-entered/exited window-events only when necessary
2023-08-09 12:20:23 +07:00
bruvzg acff87ffda
[X11] Do not fail DisplayServer init if non-essential extensions are missing. 2023-08-04 10:58:14 +07:00