Commit Graph

236 Commits (cb1569345a6f17da08241e645ab03cb2e1b78d2f)

Author SHA1 Message Date
Thaddeus Crews ba3b024765
Merge pull request #110078 from bruvzg/emb_kmap
[macOS] Fix keyboard mapping init in embedded display server.
2025-10-31 09:23:34 +07:00
Pāvels Nadtočajevs a63dd0704f
[macOS] Fix ~500ms hang on transparent OpenGL window creation on macOS 26. 2025-10-15 00:03:55 +07:00
Rémi Verschelde 546ead2abd
Merge pull request #109795 from bruvzg/mac_reg_policy
[macOS] Always use "Regular" activation policy for GUI, and headless main loop for command line only tools.
2025-10-07 13:06:56 +07:00
Thaddeus Crews 5935a32e32
Core: Cleanup headers in `core/config`
- `MainLoop` now forward-declared in `OS`
2025-10-06 09:20:56 +07:00
chocola-mint ead282ff13 Remove `file_access.h` and `script_backtrace.h` includes from `logger.h`. 2025-10-05 17:49:23 +07:00
Pāvels Nadtočajevs 9214cd879a
[macOS] Fix keyboard mapping init in embedded display server. 2025-08-29 10:28:37 +07:00
Pāvels Nadtočajevs 6e76a9467f
[macOS] Always use "Regular" activation policy for GUI, and headless main loop for command line only tools. 2025-08-20 10:07:33 +07:00
Talkashie bc7e68dfd1 Typos 2025-08-19 18:32:59 +07:00
Pāvels Nadtočajevs 350b1936ee
[macOS] Move keyboard layout related code to base display server. 2025-06-24 10:45:19 +07:00
Pāvels Nadtočajevs 09727b29c3
[macOS] Fix clipboard and TTS not working in embedded game mode. 2025-06-05 11:06:04 +07:00
Thaddeus Crews 12b97c250d
Merge pull request #104907 from bruvzg/scr_ids
Cleanup and unify `DisplayServer` screen methods and documentation.
2025-06-02 18:51:45 +07:00
Pāvels Nadtočajevs 2d93e004b9
Cleanup and unify `DisplayServer` screen methods and documentation. 2025-06-02 08:03:48 +07:00
Pāvels Nadtočajevs 798a644dd5
[macOS] Fix borderless window maximization. 2025-05-30 00:13:53 +07:00
Lukas Tenbrink 4cb8a0c77e Add `resize_initialized` and `resize_uninitialized` to `Vector`. These functions serve as replacements for `resize`, to make sure the caller understands whether elements need to be initialized 'by hand' after the call. 2025-05-26 18:35:41 +07:00
Stuart Carnie aae3370fcd macOS: Support vsync when embedding OpenGL processes
Closes #106379
2025-05-20 09:39:13 +07:00
Thaddeus Crews ffb7358232
Merge pull request #105673 from bruvzg/macos_close_fs
[macOS] Fix close button hidden and title bar transparent in fullscreen mode.
2025-05-14 09:44:07 +07:00
Rémi Verschelde 3e2c064302
macOS: Fix `template_debug` build after #105884 2025-05-13 12:42:13 +07:00
Stuart Carnie f658161619 macOS: Embedded window can be dismissed by clicking close
- Installed a SIGINT handler to terminate the application gracefully.
- Handle varying display scaling
2025-05-12 07:09:42 +07:00
Stuart Carnie 00e1fdec2c MacOS: Embedded window support. 2025-05-06 06:09:05 +07:00
Thaddeus Crews 1a2a1b07df
Merge pull request #105799 from Repiteo/scons/enum-conversion-warnings
SCons: Add enum conversion warning
2025-04-27 19:21:23 +07:00
Thaddeus Crews dc9c34f0c6
SCons: Add enum conversion warning 2025-04-26 12:06:20 +07:00
Pāvels Nadtočajevs e45dd45156
[macOS] Fix close button hidden and title bar transparent in fullscreen mode. 2025-04-23 08:13:33 +07:00
Thaddeus Crews ad40939b6f
Core: Replace C math headers with C++ equivalents
- Minor restructuring to ensure `math_funcs.h` is the central point for math functions
2025-04-16 15:49:02 +07:00
Thaddeus Crews 0d267e7b1e
Core: Add dedicated `BitField` template 2025-04-11 11:53:26 +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 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 780cf03051
Merge pull request #104556 from Ivorforce/string-extend-instead-of-parse
Use `append_` instead of `parse_` for `String` methods.
2025-03-29 10:16:33 +07:00
Lukas Tenbrink ffa6ef220b Use `append_` instead of `parse_` for `String` methods. 2025-03-27 17:51:02 +07:00
Pāvels Nadtočajevs d1edf66a13
[macOS] Release keys and regenerate mouse events after native popup menu tracking. 2025-03-26 12:18:55 +07:00
Pāvels Nadtočajevs a317ce75a6
[macOS] Replace custom main loop with `[NSApp run]` and `CFRunLoop` observer. 2025-03-24 10:31:16 +07:00
Rémi Verschelde 0648f55276
Merge pull request #104328 from Grublady/popup-mouse-enter
Update mouse-entered state when subwindow closes (macOS display server)
2025-03-19 12:27:30 +07:00
Pāvels Nadtočajevs f6891b0305
[DisplayServer] Decouple `show_window(MAIN_WINDOW_ID)` from `DisplayServer` constructor, update project manager size/position after DS init. 2025-03-19 11:23:04 +07:00
Thaddeus Crews 89a2f3634c
Merge pull request #103857 from bruvzg/macos_trans_b
[macOS] Enable transparency for windows with decorations.
2025-03-18 14:42:54 +07:00
Grublady f3c54c1a32 Update mouse-entered state when subwindow closes (macOS display server) 2025-03-18 15:25:03 +07:00
Pāvels Nadtočajevs a144d93b43
[macOS] Enable transparency for windows with decorations. 2025-03-09 13:49:53 +07:00
Thaddeus Crews 713a1ba554
Style: Standardize Obj-C `#import` syntax 2025-03-08 09:28:34 +07:00
Thaddeus Crews 5788e436d3
Merge pull request #95049 from Grublady/mac_system_color
Use windowBackgroundColor instead of controlColor for macOS system base color
2025-03-07 12:06:33 +07:00
bruvzg 3e4e6e6c0c Improve native file dialog parent window selection. 2025-03-06 17:15:39 +07:00
Grublady 2b16d4e002 Use windowBackgroundColor instead of controlColor for macOS system base color
Per Apple Developer Documentation:
windowBackgroundColor: "The color to use for the window background."
controlColor: "The color to use for the flat surfaces of a control."

Godot's base_color more closely corresponds to windowBackgroundColor.
In some cases, controlColor may even return values that are not appropriate for use as a base color.
2025-03-05 15:01:27 +07:00
Rémi Verschelde b77423370a
Fix cross-platform configuration of rendering driver settings
Simpler alternative to #103026 which avoids breaking compatibility.

Instead of introducing a new `auto` default value, we ensure that all
supported drivers are registered regardless of the editor's host platform,
and that the defaults are the intended ones.

This solves the following issues:
- macOS exports are meant to default to Metal in 4.4, but they would
  default to Vulkan if exported from Linux, Windows, or Android editors.
- Windows exports couldn't be made with Direct3D 12 from Linux, macOS, or
  Android editors, as the option couldn't be selected outside Windows.

Unlike #103026, it doesn't solve the issue of not always saving the
rendering drivers to `project.godot`, but now the defaults are at least
consistent between editor platforms.

Co-authored-by: Pāvels Nadtočajevs <7645683+bruvzg@users.noreply.github.com>
2025-02-23 12:28:59 +07:00
Pāvels Nadtočajevs f710781b16 Prevent pending input event callbacks from erasing the window in the middle of a loop. 2025-02-18 15:26:13 +07:00
SheepYhangCN c0eec97e98 macOS: Implement fallback from Metal to Vulkan for x86_64 2025-02-10 13:23:46 +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 b252867145 [macOS/Windows] Add `Emoji & Symbols` context menu item to LineEdit/TextEdit to show system character picker. 2025-01-10 09:25:34 +07:00
WhalesState 989161e117 Fix color picking on linux. 2025-01-08 10:32:25 +07:00
Pāvels Nadtočajevs 7f0b4e58b0 Implement `DisplayServer.window_start_resize`. 2025-01-07 07:58:02 +07:00
Pāvels Nadtočajevs e1f129cb52 Support MIME types in file dialog filters on macOS and Linux. 2025-01-04 22:05:35 +07:00
Rémi Verschelde eaed664bce
Merge pull request #100637 from bruvzg/unset_fw
Unset last focused window when it is destroyed.
2024-12-20 23:57:13 +07:00