Riteo
51dfdfab96
Build `JoypadLinux` sandbox detection method only with udev
...
Fixes an `unused-function` warning when building with `udev=no`.
2023-05-25 04:47:43 +02:00
Rémi Verschelde
9dc286967f
X11: Fix vformat ambiguous int types for GCC 10
...
The build would fail with GCC 10 from our Linux SDK used for official builds.
2023-05-23 11:27:28 +02:00
bruvzg
5b9984b5a2
Add `audio/general/text_to_speech` project setting to enable/disable TTS.
2023-05-18 20:16:03 +03:00
Rémi Verschelde
265c70a369
Merge pull request #75142 from bruvzg/scr
...
[DisplayServer] Implement screen_get_image method for LinuxBSD/X11, macOS and Windows.
2023-05-16 10:48:16 +02:00
Rémi Verschelde
788cb74cc6
Linux: Don't use udev for joypad hotloading when running in a sandbox
...
udev doesn't work in sandboxes, notably the new Steam container runtime
as found notably on the Steam Deck, and in Flatpak/Snap packages.
Like SDL does, when we detect such a containerized environment, we fall
back to parsing `/dev/input` directly.
See smcv's comments in #76879 for details.
Fixes #76879 .
2023-05-12 11:30:16 +02:00
Rémi Verschelde
258fabdbb3
Merge pull request #76836 from Faless/tls/system_certs
...
[TLS] Add support for platform-specific CA bundles.
2023-05-12 11:17:31 +02:00
Rémi Verschelde
1c07717d3e
Merge pull request #76974 from dsnopek/linuxbsd-feature-tags
...
Fix 'linux' and specific BSD feature tags
2023-05-12 10:06:08 +02:00
Rémi Verschelde
03053eaf19
Merge pull request #76957 from Riteo/dbus-check
...
Check DBus loading status before attempting to detect its version
2023-05-12 10:04:33 +02:00
Fabio Alessandrelli
6fd9982358
[TLS] Add support for platform-specific CA bundles.
...
Adds a new OS::get_system_ca_certs method which can be implemented by
platforms to retrieve the list of trusted CA certificates using OS
specific APIs.
The function should return the certificates in PEM format, and is
currently implemented for Windows/macOS/LinuxBSD(*)/Android.
mbedTLS will fall back to bundled certificates when the OS returns no
certificates.
(*) LinuxBSD does not have a standardized certificates store location.
The current implementation will test for common locations and may
return an empty string on some distributions (falling back to the
bundled certificates).
2023-05-12 09:58:23 +02:00
David Snopek
87fcee2d7f
Fix 'linux' and specific BSD feature tags
2023-05-11 16:58:52 -05:00
Riteo
a7542070ae
Check DBus loading status before attempting to detect its version
...
Fixes two related segfaults caused by running the DBus version check
unconditionally and potentially calling null function pointers.
This was clearly an oversight as all the other wrappers have proper
loading status checks.
2023-05-11 19:29:10 +02:00
Ninni Pipping
71ee65dc57
Enable shadow warnings and fix raised errors
2023-05-11 16:00:59 +02:00
Rémi Verschelde
0c7c35bdc6
Merge pull request #76924 from stolk/fixuninit
...
x11: Do not use uninitialized timestamps.
2023-05-11 11:48:23 +02:00
Rémi Verschelde
a1db628eb3
Merge pull request #76856 from HolonProduction/macos-specific
...
Don't expose macOS and iOS specific display servers.
2023-05-11 11:47:58 +02:00
HolonProduction
ddcb2d157d
Don't expose mac specific display server.
2023-05-11 11:02:08 +02:00
Bram Stolk
7a2e350d2b
x11: Do not use uninitialized timestamps.
...
Fixes #76922
2023-05-10 11:27:14 -07:00
Christopher Foo
e4d052e284
Ensure WindowData minimized/maximized are mutually exclusive
...
The window manager can break the assumption that
fullscreen/maximized/minimized values are mutually exclusive.
2023-05-08 20:23:45 -04:00
Juan Linietsky
273a6eeb66
Redo how the remote filesystem works
...
Instead of reading files over the network, the new version uses a local file cache and only updates files when it changes.
The original remote filesystem was created 14 years ago, when ethernet was faster than hard drives or even flash. Also, mobile devices have a very small amount of storage.
Nowadays, this is no longer the case so the approach is changed to using a persistent cache in the target device.
Co-authored-by: m4gr3d
2023-05-08 11:57:54 +02:00
Rémi Verschelde
8f7b09916d
Merge pull request #76026 from YuriSizov/editor-running-up-that-gui
...
Extract editor run toolbar into its own component
2023-04-26 12:15:29 +02:00
bruvzg
628f3b2f79
[OS] Implement and expose to scripting APIs `get_memory_info` method instead of old `get_free_static_memory`.
2023-04-24 14:08:55 +03:00
Hugo Locurcio
303bf247de
Add support for VRAM-compressed custom mouse cursor images
...
No memory is actually saved when using this, so lossless modes are
still recommended as they look better and load faster.
2023-04-21 18:01:47 +02:00
bruvzg
a5128e71bb
[Export docs] Move docs to platform folders.
2023-04-20 11:02:12 +03:00
Yuri Sizov
8a74d8438f
Extract editor run toolbar into its own component
...
- Simplify and update its logic.
- Simplify EditorScript.
- Improve EditorNode and other relevant includes.
- Fix scene-based path in the movie writer when
reloading a scene.
2023-04-19 17:12:28 +02:00
Rémi Verschelde
989fa49e71
Merge pull request #75219 from bruvzg/get_focus_screen
...
Add project manager / editor initial screen settings, implement `get_keyboard_focus_screen` method.
2023-04-19 10:13:44 +02:00
bruvzg
520a8d8ed2
Add project manager / editor initial screen settings, implement DisplayServer.get_keyboard_focus_screen method.
2023-04-19 08:54:53 +03:00
bruvzg
0088981c40
[Export] Add readable descriptions and validation warnings to the export options.
2023-04-19 08:35:59 +03:00
Rémi Verschelde
63d17df83e
Merge pull request #74978 from bruvzg/linux_version_check
...
[Linux/BSD] Add dynamically loaded library version checks.
2023-04-18 23:38:51 +02:00
Yuri Sizov
f5f796b0b7
Merge pull request #76040 from MightiestGoat/fix-sliding-window-linux-via-tracking-parent
...
Fix the sliding window problem in linux occur due to reparenting of the window due to decoration.
2023-04-14 13:11:36 +02:00
mightygoat
932afc3bf5
Fix the sliding window problem in linux occur due to reparenting of the window during the decoration via tracking the parent of the window
2023-04-14 00:45:34 +05:30
kobewi
a3799208c0
Rename console script to wrapper
2023-04-12 15:14:51 +02:00
Rémi Verschelde
95791889e2
Merge pull request #75933 from akien-mga/windows-tts-hashmap
...
Windows TTS: Use HashMap instead of RBMap for ids
2023-04-11 19:41:03 +02:00
Kvel2D
41f0a523db
Fix custom cursor using atlas texture
...
Remove image.is_valid() check
There is already a fail condition and image is not used before that
Move up texture_is_valid() check
2023-04-11 19:16:24 +02:00
Rémi Verschelde
92b9806dcc
Windows TTS: Use HashMap instead of RBMap for ids
...
And fixup includes in other implementations.
2023-04-11 15:54:21 +02:00
Sabrehull
d4b7466266
[X11] Fix layout bug in `keyboard_get_keycode_from_physical`
2023-03-29 15:18:31 +02:00
bruvzg
ab94024ce1
[DisplayServer] Implement screen_get_image method for LinuxBSD/X11, macOS and Windows.
2023-03-20 14:58:21 +02:00
bruvzg
09465f3fe6
Remove (or make verbose only) various debug prints.
2023-03-20 08:14:18 +02:00
bruvzg
bed46f723c
[Linux/BSD] Add dynamically loaded library version checks.
2023-03-20 08:10:56 +02:00
Rémi Verschelde
fcbb3e6388
Merge pull request #74702 from bruvzg/ts_inv_font_metrics
...
[TextServer] Add invalid font scaling check, restrict Linux/BSD system fonts lookup to TrueType/CFF only.
2023-03-10 14:06:14 +01:00
Rémi Verschelde
015cec0a6b
Merge pull request #74666 from akien-mga/scons-linux-cleanup-pulseaudio-defines
...
SCons: Cleanup pulseaudio defines for Linux
2023-03-10 14:03:53 +01:00
Ninni Pipping
a419325753
Fix clearing custom cursor
2023-03-10 11:59:49 +01:00
bruvzg
8d501a2dc3
[TextServer] Add invalid font scaling check, restrict Linux/BSD system fonts lookup to TrueType/CFF only.
2023-03-10 09:36:17 +02:00
Rémi Verschelde
a35586779e
SCons: Cleanup pulseaudio defines for Linux
...
No need to define _REENTRANT manually when using the system lib,
it's part of the pkgconfig cflags.
And we were then defining PULSEAUDIO_ENABLED twice.
2023-03-09 16:05:52 +01:00
Rémi Verschelde
c1128e911c
Merge pull request #74645 from omar-polo/scons-exit
...
exit with non-zero status if not all freetype deps are all builtin or not
2023-03-09 15:59:20 +01:00
Omar Polo
ac04a0761e
change some sys.exit() to be fatal
...
- when not all freetype deps are builtin (or provided externally)
- when attempting to build on an unsupported CPU architecture
2023-03-09 14:30:45 +01:00
Hugo Locurcio
ddc9cc3e49
Tweak command syntax in Vulkan renderer failure message
...
This quotes the executable name so that copying it always works
(even if the path contains spaces).
The command is also indented from the rest of the text and is
no longer single-quoted, as that can prevent the command from
running if the line is copied in its entirety (with the quotes).
2023-03-08 22:28:23 +01:00
Rémi Verschelde
511dac838b
Merge pull request #74598 from bruvzg/x11_kc
...
[Linux/X11] Add some missing keycodes/scancodes.
2023-03-08 14:06:58 +01:00
bruvzg
5d35c600d5
[Linux/X11] Add some missing keycodes/scancodes.
2023-03-08 12:13:41 +02:00
Rémi Verschelde
8325320192
Merge pull request #74563 from clayjohn/X11-context
...
Propogate errors when creating an OpenGL context fails in X11
2023-03-08 08:58:35 +01:00
clayjohn
e7ea3ef531
Propogate errors when creating an OpenGL context fails in X11
2023-03-07 11:12:21 -08:00
Rindbee
91e460d500
Fix broken shortcut key input
2023-03-07 16:06:38 +08:00
Rémi Verschelde
5f2137a050
Merge pull request #74087 from bruvzg/get_screen_px
...
[DisplayServer] Implement screen_get_pixel method for LinuxBSD/X11, macOS and Windows.
2023-03-06 21:58:58 +01:00
Rémi Verschelde
afb8693715
Linux: Don't try to link system embree3 on unsupported archs
2023-03-03 14:02:05 +01:00
bruvzg
8a675f3824
[Linux/X11] Check if required xkb functions exist before using it.
2023-03-02 10:25:50 +02:00
bruvzg
e7647b5ee5
[DisplayServer] Implement screen_get_pixel method for LinuxBSD/X11, macOS and Windows.
2023-03-01 09:32:23 +02: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