Commit Graph

1050 Commits

Author SHA1 Message Date
c5e6fde0c7 Merge pull request #112142 from timothyqiu/motif-wm-hints
X11: Fix minimize/maximize buttons can't be hidden
2025-11-04 16:32:24 -06:00
286e578b02 [Linux] Add SSE4.2 support runtime check. 2025-11-01 12:48:10 +02:00
48575336e8 X11: Fix minimize/maximize buttons can't be hidden 2025-10-29 19:37:23 +08:00
af77ae8137 Merge pull request #111874 from deralmas/not-so-fast
Wayland: Set window parent before commit
2025-10-28 10:15:29 -05:00
4df96fc7ab Wayland: Set window parent before commit
Fixes a timing issue where dialogs got configured right before having
their parent set. This gave compositors the time to resize/rearrange the
dialog as if it were a normal window, only to be marked as "floating"
right away. On niri, this manifested as huge dialog windows.

This is achieved with the addition of a `p_parent_id` parameter to
`window_create`, akin to its popup counterpart.

`window_create` now also accepts a single `Size2i` parameter instead of
two integers, in line with the rest of the `WaylandThread` API. The
original idea was to have a very "barebones" API, akin to the `drivers/`
directory, but that didn't pan out.
2025-10-28 04:10:28 +01:00
685fa3281c Merge pull request #111580 from timothyqiu/x11-fullscreen
X11: Fix fullscreen exit behavior
2025-10-27 10:01:52 -05:00
1e8ead50dc Use pkg-config for recast flags
Now that recastnavigation upstream ships a pkg-config file, Godot can
rely on it for getting the build-time configuration.
2025-10-25 15:52:41 +02:00
0caf8057a7 Merge pull request #108412 from wjt/push-qmklovyxnnom
linux/bsd/mac: Use pkill to stop remote instance over SSH
2025-10-23 11:03:57 -05:00
cf21565c77 [X11] Fix keyboard_get_label_from_physical errors when used on key without label. 2025-10-18 19:25:55 +03:00
f3ebee1f79 Merge pull request #111211 from superherointj/enet-warning
System-provided ENet warning
2025-10-16 12:48:07 -05:00
66e5bce653 X11: Fix memory leak in screen_get_refresh_rate 2025-10-14 20:30:05 +08:00
0f81e8c7fe X11: Fix fullscreen exit behavior 2025-10-13 15:03:13 +08:00
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 +08:00
4ea49aecaf Merge pull request #110990 from timothyqiu/x11-min-max
X11: Fix minimization of maximized windows
2025-10-10 10:26:02 -05:00
0a584250ae Fix: Libgodot build on Linux. 2025-10-10 04:31:14 -05:00
7c033002b0 Merge pull request #110863 from kisg/libgodot_migeran_core
LibGodot: Core - Build Godot Engine as a Library
2025-10-08 13:56:34 -05:00
24f23c5cdb System-provided ENet warning
Warning from documentation: https://github.com/godotengine/godot/tree/master/thirdparty#enet
2025-10-08 08:51:09 -03:00
9052d31c68 Merge pull request #111331 from Repiteo/scons/revert-cppextpath
Revert "SCons: Add `CPPEXTPATH` for external includes"
2025-10-07 13:07:19 +02:00
a6e44be2dc Merge pull request #105587 from deralmas/framing-this-moment
Wayland: Emulate frame event for old `wl_seat` versions
2025-10-07 13:06:47 +02:00
6c44c80c62 LibGodot: Core - Build Godot Engine as a Library
* Add a new GodotInstance GDCLASS that provides startup and iteration commands to control a Godot instance.
* Adds a libgodot_create_godot_instance entry point that creates a new Godot instance and returns a GodotInstance object.
* Adds a libgodot_destroy_godot_instance entry point that destroys the Godot instance.

Sample Apps: https://github.com/migeran/libgodot_project

Developed by [Migeran](https://migeran.com)

Sponsors & Acknowledgements:

* Initial development sponsored by [Smirk Software](https://www.smirk.gg/)
* Rebasing to Godot 4.3 and further development sponsored by [Xibbon Inc.](https://xibbon.com)
* The GDExtension registration of the host process & build system changes were based
  on @Faolan-Rad's LibGodot PR: https://github.com/godotengine/godot/pull/72883
* Thanks to Ben Rog-Wilhelm (Zorbathut) for creating a smaller, minimal version for easier review.
* Thanks to Ernest Lee (iFire) for his support

Co-Authored-By: Gabor Koncz <gabor.koncz@migeran.com>
Co-Authored-By: Ben Rog-Wilhelm <zorba-github@pavlovian.net>
2025-10-07 02:15:41 +02:00
b17aa3343a Revert "SCons: Add CPPEXTPATH for external includes" 2025-10-06 13:09:22 -05:00
5935a32e32 Core: Cleanup headers in core/config
- `MainLoop` now forward-declared in `OS`
2025-10-06 09:20:56 -05:00
d1d28c0bcf Merge pull request #111223 from Ivorforce/remove-iterator-include
Replace `std::size` usage with `std_size` to avoid `<iterator>` include.
2025-10-06 09:06:49 -05:00
ead282ff13 Remove file_access.h and script_backtrace.h includes from logger.h. 2025-10-05 17:49:23 +09:00
1db0a60dc0 Replace std::size usage with std_size to avoid <iterator> include. 2025-10-05 00:26:11 +02:00
3d1c9fd5de Move server files into their subfolders 2025-09-30 19:39:39 -07:00
5240f1c283 Merge pull request #108658 from bruvzg/ed_pl_init
[EditorExportPlatform] Move initialization to a dedicated method.
2025-09-30 18:35:25 -05:00
373ff727f0 Merge pull request #110875 from vmedea/2025-wayland-inhibit-idle
wayland: Inhibit idle in DisplayServerWayland::screen_set_keep_on
2025-09-30 18:35:02 -05:00
21fd4faf1b Merge pull request #107469 from Ivorforce/vector-localvector-explicit-span-conversions
Remove implicit conversions between `LocalVector` and `Vector`
2025-09-30 11:19:17 -05:00
12f8c78231 X11: Fix minimization of maximized windows 2025-09-28 12:19:54 +08:00
c64ff4b069 wayland: Inhibit idle in DisplayServerWayland::screen_set_keep_on
Without this, the screen does go into idle after a few minutes on a RPi5 with default install (wayland w/ labwc), even
though `screen_keep_on` is set. DBUS is enabled but apparently, the screensaver call is not enough.
2025-09-24 22:17:38 +02:00
d069699940 Merge pull request #110752 from wheatear-dev/expand-110693
Add `GDSOFTCLASS` to six inheritors of `Object`
2025-09-22 13:28:41 -05:00
ce157a446f Merge pull request #107096 from ArchercatNEO/xdg-toplevel-icon
Wayland: Implement the xdg-toplevel-icon-v1 protocol
2025-09-22 08:50:10 -05:00
9b7a723aac Merge pull request #107721 from YYF233333/ps_include
Remove dependency of `variant.h` in `print_string.h`
2025-09-22 08:50:04 -05:00
12e97610a8 Add GDSOFTCLASS to six inheritors of Object 2025-09-21 16:22:29 +01:00
d61a337a70 Improve usage of String.split() vs get_slice() 2025-09-19 16:31:55 +02:00
05dae23f18 Remove dependency of variant.h in print_string.h
Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2025-09-19 14:57:36 +08:00
be11bf1d6b Merge pull request #110540 from akien-mga/linux-system-libturbojpeg
Linux: Allow unbundling libjpeg-turbo to use system package
2025-09-18 21:02:31 -05:00
1b697aff38 X11 input: prevent non-printable keys from producing empty Strings 2025-09-18 06:56:22 +03:00
abe3b481ae Make conversions from LocalVector to Vector explicit. 2025-09-16 21:41:28 +02:00
4dec6af2c8 Merge pull request #108613 from Repiteo/scons/fix-defines
SCons: Ensure `CPPDEFINES` is properly utilized
2025-09-16 11:44:45 -05:00
94b5658cd2 Merge pull request #106798 from gelvinp/avoid_xcb_crash
Workaround X11 crash issue
2025-09-16 09:48:55 -05:00
3d322c3f36 linux/bsd/mac: Use pkill to stop remote instance over SSH
Previously, the PIDs of any running instances of the game on the remote
device were found with `pgrep`, whose output was passed as parameters to
`kill`. The problem with doing this is that passing zero arguments to
`kill` (which happens when no instances of the game are running
remotely) is an error: it shows the command usage, and exits with status
2 indicating a command-line syntax error:

    $ kill
    kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
    $ echo $?
    2

As far as I can tell, all systems that have a `pgrep` command also have
a `pkill` command which accepts (a superset of) the same parameters as
`pgrep` and kills the matched processes instead of listing them on
STDOUT.

In the case where no processes match, `pkill` exits with status 1; but
does so silently.

Invoke `pkill` rather than `pgrep` + `kill`.
2025-09-16 11:25:48 +01:00
6d8aa8582f Linux: Allow unbundling libjpeg-turbo to use system package 2025-09-15 23:52:48 +02:00
4c0026b053 Update links to the contributing section of the docs to the appropriate new sections. 2025-09-12 01:04:14 +02:00
76433b0ede Fix Wayland build with OpenGL disabled. 2025-09-06 18:37:49 +03:00
188b47a29b Wayland: Implement the xdg-toplevel-icon-v1 protocol
Closes #87747
Requires a compositor which supports xdg-toplevel-icon-v1.
As of this commit only KWin supports this protocol.
2025-08-22 09:45:28 +01:00
0edb6bd4a0 [Linux/BSD] Initialize DBus only once. 2025-08-22 09:26:11 +03:00
98bef37f55 Use org.a11y.Status/ScreenReaderEnabled on Linux. 2025-08-18 17:36:49 +03:00
0e19ad507e Fix the usage of libudev and dbus with SDL
Previously, libudev was ignored if SOWRAP_ENABLED was defined (it is defined by default) because otherwise it would crash CI builds due to a missing header, and dbus was always linked dynamically. This commit should fix this issue and make libudev usable again
2025-07-31 15:05:06 +05:00