Commit Graph

466 Commits

Author SHA1 Message Date
Rémi Verschelde c6f7675b1f Linux: Don't try to link system embree3 on unsupported archs
(cherry picked from commit afb8693715)
2023-03-13 21:49:15 +01:00
bruvzg d83245f2f9 [TextServer] Add invalid font scaling check, restrict Linux/BSD system fonts lookup to TrueType/CFF only.
(cherry picked from commit 8d501a2dc3)
2023-03-13 14:17:42 +01:00
bruvzg 1d21652f80 [Linux/X11] Check if required xkb functions exist before using it.
(cherry picked from commit 8a675f3824)
2023-03-13 14:08:31 +01:00
Rémi Verschelde 9e6cb51939
Merge pull request #73752 from bruvzg/x11_quote_left
Fix X11 QUOTELEFT / SECTION physical key mapping.
2023-02-24 14:11:25 +01:00
bruvzg 97062ddf2b
[Linux TTS] Use Callable instead of registering methods. 2023-02-22 16:05:17 +02:00
bruvzg 693afe95d3
Fix X11 QUOTELEFT / SECTION physical key mapping. 2023-02-22 13:16:58 +02:00
bruvzg fdf56a2fc2 [Input] Use BRACKET_ instead of BRACE_ for physical keys. 2023-02-22 12:39:30 +02:00
bruvzg 6e76a7fbd8
[Linux] Process TTS callback on the main thread to avoid speech-dispatcher deadlock. 2023-02-21 10:45:49 +02:00
Rémi Verschelde f84479fe5a
Merge pull request #72877 from bruvzg/x11_on_top
[X11] Fix initial "on top" window state.
2023-02-17 16:21:13 +01:00
bruvzg 853f0eae58
[X11] Fix initial "on top" window state. 2023-02-17 16:08:26 +02:00
Rémi Verschelde 4574b97752
Fix crash with bogus shape index to DisplayServer.cursor_set_custom_image()
Fixes #66605.
2023-02-17 14:17:37 +01:00
Rémi Verschelde cefe1e0654
Merge pull request #73441 from akien-mga/linux-unbundling-fixes
Fix includes of thirdparty libs which can be unbundled on Linux
2023-02-17 09:56:02 +01:00
Rémi Verschelde e2fc0acd36
Fix includes of thirdparty libs which can be unbundled on Linux
Changes `builtin_icu` and `builtin_recast` to match the folder names in
`thirdparty`.
2023-02-16 15:52:13 +01:00
bruvzg dd068794c3
[Linux] Make SO wrapper usage optional. 2023-02-16 16:38:47 +02:00
Thomas ten Cate 8a17f94ab2 Some fixes for initial window position and size
- X11: set main window position and size hints correctly
- All platforms: update minimum and maximum size of main window at
  startup

Fixes #70984
2023-02-14 12:15:14 +01:00
Hugo Locurcio 074d87d718
Update PCK embedding SCons warning message to mention mold linker
mold is now part of the SCons `linker` option.
2023-02-13 10:55:37 +01:00
bruvzg 80dc7713f9
[X11] Do not suppress structure/focus events on popup close to correctly return focus. 2023-02-07 12:13:34 +02:00
bruvzg 103f671ada
[X11] Fix IME window focus events. 2023-02-06 09:18:16 +02:00
Hugo Locurcio e7779dc62d
Use a "warning" icon in `OS.alert()` on Linux/*BSD
This is the same icon as used on Windows.
2023-02-02 15:17:15 +01:00
Rémi Verschelde 707ccc09ab
Merge pull request #72104 from bruvzg/popup-non-popups
Extend special popup window handling to any non-popup child of a popup.
2023-02-01 11:07:39 +01:00
bruvzg 9f42649823
[X11] Fix IME subwindow in the popup not getting input focus. 2023-02-01 11:10:10 +02:00
bruvzg 4c50ac3921
[X11] Add support for dead keys without active IME. Fix IME focus and cleanup. 2023-01-30 13:31:48 +02:00
Rémi Verschelde a0a633ae58
Merge pull request #72102 from Riteo/keymapx11-scope-goodness
Put KeyMappingX11 stuff inside its own scope
2023-01-27 10:30:20 +01:00
daviirodrig 240374c58f Fix split allow empty string in SSH export plugin 2023-01-27 05:09:30 -03:00
bruvzg 700d85bd19
Extend special popup window handling to any non-popup child of a popup. 2023-01-26 12:38:53 +02:00
bruvzg 912c937921
[X11] Fix IME focus return. 2023-01-26 10:13:51 +02:00
Riteo aa7cd71498 Put KeyMappingX11 stuff inside its own scope
This avoids collisions with other "concurrent" key mappers.
2023-01-26 03:19:36 +01:00
Rémi Verschelde 67961d8ebf
Merge pull request #72029 from bruvzg/x11_keycode
[X11] Fix incorrect keycodes from non-QWERTY layouts.
2023-01-25 12:17:41 +01:00
bruvzg 1bb7e357a0
[X11] Fix incorrect keycodes from non-QWERTY layouts. 2023-01-25 13:04:02 +02:00
bruvzg 5ebb60e0cf
[X11] Make IME focus window input only. 2023-01-25 12:31:42 +02:00
Rémi Verschelde 4368191a9f
Merge pull request #72018 from bruvzg/x11_ime_loop
[X11] Prevent IME activation from entering infinite loop.
2023-01-25 09:44:50 +01:00
bruvzg b713cfdccd
[X11] Prevent IME activation from entering infinite loop. 2023-01-25 10:21:27 +02:00
Riteo beaff2f5cb Move xkbcommon dynamic loading code into generic linuxbsd folder
Since Wayland uses it too, it only makes sense to have it in the parent
directory of both.
2023-01-25 03:28:13 +01:00
bruvzg 5c4fe6339b
[Linux/BSD] Include headers for dynamically loaded libraries to simplify build dependencies. 2023-01-23 16:37:43 +02:00
bruvzg daad4aed62
Cleanup and unify keyboard input.
- Unify keycode values (secondary label printed on a key), remove unused hardcoded Latin-1 codes.
- Unify IME behaviour, add inline composition string display on Windows and X11.
- Add key_label (localized label printed on a key) value to the key events, and allow mapping actions to the unshifted Unicode events.
- Add support for physical keyboard (Bluetooth or Sidecar) handling on iOS.
- Add support for media key handling on macOS.

Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-01-23 15:08:12 +02:00
Rémi Verschelde 5b1df48c6c
Convert en_GB spelling to en_US with codespell 2023-01-23 11:02:20 +01:00
Rémi Verschelde 271920cc54
Merge pull request #71819 from Riteo/certified-musl-moment
Make PIE relocation detection glibc-only
2023-01-21 20:52:40 +01:00
Riteo 2a6ce37910 Make PIE relocation detection glibc-only
Musl doesn't compile with it, and by looking online I think that this is
a glibc only thing.
2023-01-21 17:59:52 +01:00
robfram 9faa92bda0 Exclude atomic lib under FreeBSD using LLVM 2023-01-20 20:52:19 +00:00
Rémi Verschelde 68d71f88f5
Improve DisplayServer message for video card drivers failure
And remove leftover duplicated message on Android.
2023-01-17 15:41:54 +01:00
bruvzg 60e0043012
Fix X11 input region size. 2023-01-17 07:54:54 +02:00
Rémi Verschelde 91a54cdbc1
Linux/BSD: Add LINUXBSD_ENABLED define for non X11-related checks 2023-01-16 17:01:35 +01:00
bruvzg 34b34b104c
Add `WINDOW_FLAG_MOUSE_PASSTHROUGH` flag and enabled it for tooltips. Expose `window_set_mouse_passthrough` to `Window`. 2023-01-16 11:42:49 +02:00
Rémi Verschelde 9711abe787
Merge pull request #71437 from vaartis/linux-backtrace
Alter linux debug stacktraces handling to support more environments
2023-01-15 13:09:31 +01:00
Ekaterina Vaartis 5e041eee11 Alter linux debug stacktraces handling to support more environments
- Use -gdwarf-4 to support both LLVM and GCC when calling addr2line
- Subtract position-independant execuable relocation when passing the
  address to addr2line
2023-01-15 02:48:33 +03:00
Yuri Sizov 4c1f11944e Update all outdated online documentation links 2023-01-14 19:38:00 +03:00
Rémi Verschelde 3dffe0b967
Merge pull request #63312 from bruvzg/one_click
[Export] Add one-click deploy over SSH for the desktop exports.
2023-01-13 18:00:18 +01:00
Juan Linietsky 2b815df3c1 Use BitField<> in core type masks
* All core types masks are now correctly marked as bitfields.
* The enum hacks in MouseButtonMask and many other types are gone. This ensures that binders to other languages non C++ can actually implement type safe bitmasks.
* Most bitmask operations replaced by functions in BitField<>
* Key is still a problem because its enum and mask at the same time. While it kind of works in C++, this most likely can't be implemented safely in other languages and will have to be changed at some point. Mostly left as-is.
* Documentation and API dump updated to reflect bitfields in core types.
2023-01-08 22:17:40 +01:00
bruvzg 2718a7b7d3
Add support for the custom initial screen for the main window, fix primary screen detection. 2023-01-07 11:14:35 +02:00
Rémi Verschelde d95794ec8a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00