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
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
Rémi Verschelde
8791e333da
Merge pull request #70624 from bruvzg/cur_sc
...
Improve `window_set_current_screen` and fix secondary window initial mode and positions.
2023-01-03 15:56:05 +01:00
bruvzg
f7955633de
Improve window_set_current_screen
and fix secondary window initial mode and positions.
2022-12-29 09:43:39 +02:00
bruvzg
cebefc9f5d
[Export] Add one-click deploy over SSH for the desktop exports.
...
Add one-click deploy over SSH for the desktop exports.
Add ZIP export option for Linux and Windows.
Change export plugin icons to SVG format.
2022-12-29 09:42:00 +02:00
Riteo
3960c6b8f9
Allow building X11 without Vulkan
...
This limit was likely introduced when Vulkan was the only option.
2022-12-27 21:47:26 +01:00
Rémi Verschelde
f8f496ec3b
Merge pull request #69678 from Sauermann/fix-slider-button-up
...
Fix colorpicker slider bug with mouse-up outside of popup
2022-12-16 13:47:53 +01:00
Haoyu Qiu
207e52c161
Fix String::word_wrap() for long words
...
- Changes `TextServer.string_get_word_breaks()`
- Returns pairs of boundary start and end offsets
- Accepts `chars_per_line` to return line breaks
- Removes `String::word_wrap()`
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2022-12-16 13:18:57 +08:00
Rémi Verschelde
346efd29e0
Fix typos with codespell
2022-12-15 12:24:08 +01:00
nikitalita
4fec34808d
fix dbus and fontconfig links
2022-12-09 09:05:06 -08:00
Rémi Verschelde
0a3f66471e
Merge pull request #69712 from bruvzg/real_size
...
Rename `window_get_real_size`, add position counterpart.
2022-12-07 14:29:46 +01:00
bruvzg
edf13eb5a6
Rename window_get_real_size
to window_get_size_with_decorations
, add window_get_position_with_decorations
.
2022-12-07 11:07:30 +02:00
bruvzg
ad0f6ff85b
[Linux/X11] Split fullscreen mode into WINDOW_MODE_EXCLUSIVE_FULLSCREEN
and WINDOW_MODE_FULLSCREEN
to improve multi-window handling.
2022-12-07 09:54:02 +02:00
Markus Sauermann
b44e6bb42b
Fix colorpicker slider bug with mouse-up outside of popup
...
When releasing the mouse button outside of the popup while dragging
a slider, the slider still gets adjusted by mouse-move events.
The reason for this bug is that the mouse-up event is sent to the
focused window (main editor window) instead of the colorpicker
popup window.
This PR adjusts the linuxbsd X11 DisplayServer to send the event to the
correct expected window.
2022-12-06 19:30:13 +01:00
Markus Sauermann
ada4761181
Fix that mouse-button-up event is parsed twice for drag-and-drop
...
Currently Input::get_singleton()->parse_input_event(mb); is
called twice for mouse-button-up events when dropping in a different
window on linuxbsd.
2022-12-05 19:31:22 +01:00
Rémi Verschelde
14f23df1a3
Merge pull request #69563 from nyanpasu64/patch-1
...
Fix burning CPU with udev disabled on Flatpak
2022-12-05 18:07:02 +01:00
bruvzg
89db7f8e7c
[Linux/BSD] Fix build without fontconfig.
2022-12-05 07:56:44 +02:00
bruvzg
ecec415988
Use system fonts as fallback and improve system font handling.
...
Add support for font weight and stretch selection when using system fonts.
Add function to get system fallback font from a font name, style, text, and language code.
Implement system font support for Android.
Use system fonts as a last resort fallback.
2022-12-04 18:44:20 +02:00
nyanpasu64
0cbd1c85a9
Fix burning CPU with udev disabled on Flatpak
...
Fixes #67355 .
2022-12-03 20:10:48 -08:00
Riteo
2dd5a792bb
Load X11 dynamically
...
The loaders have been generated through hpvb's dynload-wrapper, although
they had to be heavily handpatched to workaround some already reported
issues with it. I added a note to each generated file to account for
that.
As GLAD uses X11 stuff directly, I had to define the GLAD_GLX_NO_X11
macro to not let do it that, and handle myself the display loading and
screen handling part myself, which wasn't that hard but it's still
something worth saying.
I plan to improve greatly the X11 backend (including this aspect) but,
as the release isn't that far and I'm also working on the Wayland
backend, this will do for now, I hope.
2022-12-03 19:23:43 +01:00
Rémi Verschelde
13280f1874
X11: Don't override glxSwapInterval function pointers loaded by GLAD
...
Fixes #68722 .
Co-authored-by: alcomposer <alex.w.mitchell@gmail.com>
2022-11-16 10:05:52 +01:00
clayjohn
58a9cfee80
Set vsync on window creation when using GLES3.
...
Add vsync to Windows platform
2022-11-15 14:14:21 -08:00
Riteo Siuga
dc2919d57b
Load GLX dynamically with GLAD
...
This is accomplished through the addition of a GLAD GLX loader in the
`thirdparty` directory.
This is another step towards a nice Wayland/X11 interoperation.
2022-11-15 13:55:30 +01:00
Rémi Verschelde
696740fe38
Merge pull request #68680 from bruvzg/fc_no_font_sub
...
[fontconfig] Reject font substitutes if non-alias name was used.
2022-11-15 11:56:31 +01:00
Rémi Verschelde
dbf6ff0cb6
Merge pull request #68372 from Riteo/glad2
...
Regenerate GL loader code with GLAD 2
2022-11-15 11:56:16 +01:00
bruvzg
40832cc670
[fontconfig] Reject font substitutes if non-alias name was used.
2022-11-15 11:17:44 +02:00
Rémi Verschelde
98e0d59952
Merge pull request #68504 from dzil123/cache_system_dir_xdg2
...
Cache OS_LinuxBSD::get_system_dir
2022-11-15 00:18:09 +01:00
Riteo
f6397bffb1
Regenerate GL loader code with GLAD 2
...
GLAD 1 creates unusable loaders for EGL, while the newly released GLAD 2
does not, so for consistency I thought that it would be a good idea to
uniform things beforehand. While it had some API changes some renames
were all that was needed and everything works like before, at least on
the Wayland branch.
I've kept the structure identical, although this new generator has quite
a few hefty features, such as a single header mode.
I've also added GLAD to `thirdparty/README.md`, but I haven't specified
that in the commit title because it's a very small "fix".
2022-11-14 21:48:01 +01:00
dzil123
d22ab7c85b
Cache OS_LinuxBSD::get_system_dir(SYSTEM_DIR_DESKTOP)
2022-11-12 22:38:32 -08:00
Markus Sauermann
ed5c9a07d7
Fix gl_manager nullptr crash
...
Add a nullptr-check, before accessing gl_manager
2022-11-13 00:48:45 +01:00
Markus Sauermann
52d75c9b35
Fix unsent WINDOW_EVENT_MOUSE_ENTER event on mouse_mode-change
...
coauthor: @bruvzg
On linuxbsd and macOS the WINDOW_EVENT_MOUSE_ENTER was not sent,
when the mouse became visible again after a mouse_mode-change.
2022-11-11 07:52:16 +01:00
Rémi Verschelde
29de658c29
Merge pull request #68345 from Abdul-AZ/master
...
Fix static object destructors being called on gpu selection with X11
2022-11-09 09:16:04 +01:00
David Snopek
23603e409c
Add support for OpenGL to OpenXR
2022-11-08 18:47:11 -06:00
Abdulrahman Al Zeidi
5860f81c18
Fix static object destructors being called on gpu selection with X11
2022-11-07 12:08:52 +00:00
Rémi Verschelde
879aac9db4
Merge pull request #67695 from Sauermann/fix-filedrop-space
...
Do not strip spaces at the end of file names of dropped files
2022-11-03 12:08:08 +01:00
Markus Sauermann
5d0aade322
Do not strip spaces at the end of file names of dropped files on linuxbsd
2022-11-03 11:38:42 +01:00
Markus Sauermann
8fb4b5998e
Fix unwanted popup closing by mouse-move while holding mouse-button
2022-11-03 11:36:58 +01:00
Rémi Verschelde
889868cbbc
Merge pull request #68182 from Riteo/x11-folder
...
linuxbsd: move all X11 stuff in its own directory
2022-11-03 00:32:30 +01:00
Riteo
593c571d6a
linuxbsd: move all X11 stuff in its own directory
...
This allows implementing `DisplayServer`s like Wayland without making a
mess in the source tree.
2022-11-02 20:48:46 +01:00
bruvzg
060d62e0dc
Load and use system emoji font in the editor.
2022-11-01 11:04:58 +02:00
Rémi Verschelde
9188bc7341
Merge pull request #67879 from bruvzg/fix_no_vlk
...
Fix build with Vulkan disabled and no Vulkan headers installed.
2022-10-31 14:29:05 +01:00
Rémi Verschelde
5947f22be9
Merge pull request #67578 from KoBeWi/GEDITOR
...
Unify usage of GLOBAL/EDITOR_GET
2022-10-31 13:15:58 +01:00
Clay John
04ac91f786
Merge pull request #67790 from kdada/fix-flash-window
...
Make creating window do not flicker when specify custom position
2022-10-28 13:02:58 -07:00
Max Hilbrunner
028db9f2b5
Merge pull request #67914 from Calinou/displayserverx11-no-native-icon
...
Fix `DisplayServer.has_feature()` claiming X11 has native icon support
2022-10-28 12:46:57 +02:00
zCubed3
e7091d07cd
Fix OS.get_video_adapter_driver_info crash
2022-10-27 15:45:21 -07:00
Clay John
9ffa86357d
Merge pull request #67421 from Sauermann/fix-failure-exit-code
...
Fix Godot exiting with unexpected failure code
2022-10-27 11:58:50 -07:00