Commit graph

230 commits

Author SHA1 Message Date
Mounir Tohami
1b697aff38 X11 input: prevent non-printable keys from producing empty Strings 2025-09-18 06:56:22 +03:00
Thaddeus Crews
94b5658cd2
Merge pull request #106798 from gelvinp/avoid_xcb_crash
Workaround X11 crash issue
2025-09-16 09:48:55 -05:00
Pāvels Nadtočajevs
0edb6bd4a0
[Linux/BSD] Initialize DBus only once. 2025-08-22 09:26:11 +03:00
Haoyu Qiu
9051b546c6 X11: Fix memory leak when using window embedding 2025-06-28 22:50:51 +08:00
Rémi Verschelde
c596d93478
Merge pull request #106175 from akien-mga/linux-build-no-dbus
Linux: Fix build with `dbus=no` or `threads=no`
2025-06-09 00:44:12 +02:00
Pāvels Nadtočajevs
2d93e004b9
Cleanup and unify DisplayServer screen methods and documentation. 2025-06-02 08:03:48 +03:00
Thaddeus Crews
6228c7c762
Merge pull request #105451 from bruvzg/x11_splash
Fix X11 boot splash scaling.
2025-05-28 09:47:42 -05:00
Patrick Gelvin
6842a5861b Workaround X11 crash issue 2025-05-25 08:07:24 -07:00
Rémi Verschelde
e9e8ddc5be
Linux: Fix build with dbus=no or threads=no 2025-05-09 15:26:13 +02:00
Thaddeus Crews
01fc9aee6c
Core: Modernize C headers with C++ equivalents 2025-05-02 08:23:01 -05: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 -05:00
Pāvels Nadtočajevs
5ddaaa93e6
Fix X11 boot splash scaling. 2025-04-16 10:45:43 +03:00
Thaddeus Crews
0d267e7b1e
Core: Add dedicated BitField template 2025-04-11 11:53:26 -05:00
Thaddeus Crews
7a6c3b309f
Merge pull request #105130 from bruvzg/uri_fix_plus
Add uri_file_decode to handle + in file names.
2025-04-09 18:11:56 -05: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 -05:00
Pāvels Nadtočajevs
4310cb82b8
AccessKit integration for macOS, Linux, and Windows. 2025-04-08 20:25:47 +03:00
Pāvels Nadtočajevs
9abe2e5294
Add uri_file_decode to handle + in file names. 2025-04-07 23:49:17 +03:00
Pāvels Nadtočajevs
f37fb49739
Add separate minimize_disabled and maximize_disabled window flags. 2025-04-07 18:58:11 +03:00
Pāvels Nadtočajevs
52009b52d2
Detect KDE/LXQt and swap OK/Cancel buttons to Windows style. 2025-04-03 12:47:11 +03:00
Yufeng Ying
4f4031a675 Replace size() == 0 with is_empty(). 2025-04-02 19:18:43 +08: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 +03:00
Kiro
23129a66ed Replace append_utfx with direct String::utfx 2025-03-30 19:56:38 +02:00
Lukas Tenbrink
ffa6ef220b Use append_ instead of parse_ for String methods. 2025-03-27 17:51:02 +01: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 +02:00
Thaddeus Crews
49fcd4ce46
Merge pull request #101546 from bruvzg/portal_color_picker
[Linux] Implement native color picker.
2025-03-17 10:52:29 -05:00
Pāvels Nadtočajevs
18f6c33d72
[DisplayServer] Implement get_accent_color on Linux. 2025-03-14 09:05:03 +02:00
Pāvels Nadtočajevs
fe38504aa0 [X11] Fix native dialog parent selection condition. 2025-03-08 16:28:25 +02:00
Thaddeus Crews
c937b6d180
Merge pull request #102419 from Ivorforce/std-size
Use `std::size` instead of `sizeof(a) / sizeof(a[0])` pattern throughout the codebase.
2025-03-07 15:12:25 -06:00
bruvzg
3e4e6e6c0c Improve native file dialog parent window selection. 2025-03-06 17:15:39 +02:00
Thaddeus Crews
1f2d135444
Merge pull request #103526 from jamie-pate/fix_103522
Fix check for is_maximized in x11 to require both horizontal and vert
2025-03-05 12:07:41 -06:00
Pāvels Nadtočajevs
6ed12bfc5d [Linux/BSD] Offload RenderingDevice creation test to subprocess. 2025-03-04 13:18:26 +02:00
Jamie Pate
4f14f722b8 Fix check for is_maximized in x11 to require both horizontal and vertical
Fixes #103522

Persistent window state doesn't work if your window is 'tiled' in X11
gnome

3.x checks for `horz && vert`
4396e98834/platform/x11/os_x11.cpp (L1708)

4.x also checked `horz && vert` until this change where it was switched
to `horz || vert`
524f061c01 (diff-05f85bc3bf96d384f6b96260c758e63e10bbdd52b04f8ccb34649372e7bc1f48R1382)

The corrected logic is:
Check `horz && vert` for 'is_maximized'
Check `horz || vert` for 'can_maximize'
2025-03-03 15:45:21 -08:00
Hilderin
0c384e7217 Replace error to info messages for embedded game 2025-02-26 19:32:25 -05: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 +02:00
Adam Scott
1376828ef6
Fix fr+oss layout issues with KP period
Co-authored-by: Riteo Siuga <riteo@posteo.net>
2025-02-08 17:17:11 -05:00
Lukas Tenbrink
e34f1f504c Use std::size instead of sizeof(a) / sizeof(a[0]) pattern throughout the codebase. 2025-02-07 14:57:48 +01:00
Hilderin
a3d03717c0 Fix Floating Window request close when a dialog is opened 2025-02-05 20:34:32 -05:00
Hilderin
f7d1558bc0 Fix Embedded Game disappear when not focused on KDE 5
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-02-05 12:01:40 +01:00
Rémi Verschelde
b4e16b4520 Merge pull request #102314 from Hilderin/fix-floating-window-overlapping
Fix Floating Window overlapping when on screen edge on KDE
2025-02-05 11:34:05 +01:00
Rémi Verschelde
ab0c712bf5 Merge pull request #102311 from Hilderin/fix-floating-window-not-visible-after-restore
Fix Floating Window not visible after restore on KDE
2025-02-05 11:34:01 +01:00
Pāvels Nadtočajevs
05ca80632d [Linux] Implement native color picker. 2025-02-03 16:30:44 +02:00
Thaddeus Crews
480843cf2b
Merge pull request #101812 from bruvzg/portal_chk
[FreeDesktop portal] Check for `FileChooser` and `Settings` interface availability instead of assuming it's always available.
2025-02-03 08:16:10 -06:00
Riteo
140a63be25 Linux/BSD: Modify only keypad keys
The `keycode` field of `InputEventKey` is supposed to be "unshifted";
That is, what the key would output if no modifier keys were pressed.
This should match what's written on the key label, but `Key` enumerates
also all keypad keys, which require a modifier. We thus require some
extra checks for them.

Note that this can still allow "stuck keys", but that's an even deeper
problem.
2025-02-02 19:19:15 +01:00
Hilderin
bc0efb86a9 Fix Floating Window overlapping when on screen edge 2025-02-01 22:27:57 -05:00
Hilderin
150191353f Fix Floating Window not visible after restore on KDE 2025-02-01 21:08:39 -05:00
Pāvels Nadtočajevs
86f56efbaa [FreeDesktop portal] Check for FileChooser and Settings interface availability instead of assuming it's always available. 2025-01-31 07:52:40 +02:00
Thaddeus Crews
3c80c14092
Merge pull request #101924 from adamscott/game-editor-non-cached-mouse-mode
Delegate handling `mouse_mode` to the `DisplayServer`
2025-01-28 16:08:56 -06: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 -05:00
Hilderin
725dd4930e Fix BadWindow error when stopping embedded game on Linux 2025-01-25 20:30:40 -05:00
Hilderin
9eed43d429 Fix NOTIFICATION_WM_CLOSE_REQUEST in Embedded Floating Window 2025-01-21 21:03:15 -05:00