summaryrefslogtreecommitdiffstats
path: root/platform/linuxbsd
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #92843 from anniryynanen/tooltip-in-popupRémi Verschelde2024-06-101-1/+4
|\ | | | | | | Stop color picker tooltip from stealing input events
| * Stop color picker tooltip from stealing input eventsAnni Ryynänen2024-06-061-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Input events go to the tooltip because it's added to `popup_list` in DisplayServer `popup_open`. I think there's no harm in tooltips being omitted from the list, so this commit blocks non-popup windows from being added if they have `FLAG_NO_FOCUS` and `FLAG_MOUSE_PASSTHROUGH`. I'm not happy with this way of detecting tooltips. It'll also catch other windows where this behavior may or may not be wanted. I thought about adding `FLAG_TOOLTIP`, but went with the smaller change for now. Fixes #79500.
* | Merge pull request #92702 from kleonc/cursor_image_from_atlas_texture_fixRémi Verschelde2024-06-072-11/+4
|\ \ | |/ |/| | | Fix creating cursor image from `AtlasTexture`
| * Fix creating cursor image from AtlasTexturekleonc2024-06-052-11/+4
| |
* | Use current mouse button state instead of saved values.bruvzg2024-05-312-16/+37
|/
* Merge pull request #92208 from Calinou/linuxbsd-use-nanosleepRémi Verschelde2024-05-303-6/+6
|\ | | | | | | Use `OS::delay_usec()` to avoid using deprecated `usleep()` on Linux
| * Use `OS::delay_usec()` to avoid using deprecated `usleep()` on LinuxHugo Locurcio2024-05-213-6/+6
| | | | | | | | | | | | | | | | | | usleep(3) was declared obsolete in POSIX.1-2001 and removed in POSIX.1-2008. nanosleep(2) was recommended to be used instead. `OS::delay_usec()` internally uses `nanosleep()`. This also uses large number separators for improved readability.
* | Merge pull request #89033 from bruvzg/doc_end_errRémi Verschelde2024-05-283-3/+22
|\ \ | | | | | | | | | [DisplayServer] Add error messages and descriptions to callbacks.
| * | [DisplayServer] Add error messages and descriptions to callbacks.bruvzg2024-05-283-3/+22
| | |
* | | Merge pull request #92458 from bruvzg/dup_clRémi Verschelde2024-05-281-1/+4
|\ \ \ | | | | | | | | | | | | [macOS, X11] Fix duplicate close requests.
| * | | [macOS, X11] Fix duplicate close requests.bruvzg2024-05-281-1/+4
| |/ /
* | | Merge pull request #92353 from Riteo/you-cant-see-meRémi Verschelde2024-05-282-0/+11
|\ \ \ | | | | | | | | | | | | Wayland: Implement `is_window_transparency_available`
| * | | Wayland: Implement is_window_transparency_availableRiteo2024-05-262-0/+11
| | | |
* | | | Merge pull request #92324 from jwinarske/jw/wayland_sowrapRémi Verschelde2024-05-281-0/+3
|\ \ \ \ | |_|/ / |/| | | | | | | Linux: Enable build config `wayland=yes use_sowrap=no`
| * | | Enable build config wayland=yes use_sowrap=noJoel Winarske2024-05-251-0/+3
| |/ / | | | | | | | | | | | | | | | -wayland-egl.h was missing if opengl3=yes (default) Signed-off-by: Joel Winarske <joel.winarske@gmail.com>
* / / Fix build with `vuklan=no` and `d3d12=no` after #91505.bruvzg2024-05-251-1/+2
|/ /
* | [DisplayServer] Add method to check if window transparency is supported and ↵bruvzg2024-05-232-0/+18
| | | | | | | | enabled.
* | Merge pull request #92252 from poiati/fix-wayland-window-classRémi Verschelde2024-05-234-10/+12
|\ \ | | | | | | | | | Properly set window class in Wayland
| * | Properly set window class in WaylandPaulo Poiati2024-05-224-10/+12
| | |
* | | SCons: Convert platform `get_flags` to dictionaryThaddeus Crews2024-05-221-4/+4
|/ /
* / Update pre-commit hooks configuration to use `ruff` instead of `black`Jakub Marcowski2024-05-211-3/+3
|/
* [X11] Fallback to root window size, when Xinerama extension is available, ↵bruvzg2024-05-141-27/+40
| | | | but return zero screens.
* Set `execinfo=no` by default when compiling for Linux/*BSDHugo Locurcio2024-05-111-7/+3
| | | | | Alpine 3.17 and later no longer provide execinfo in its repositories, making compilation impossible unless you pass `execinfo=no`.
* DisplayServer: Avoid deadlocks while issuing input events and recursive main ↵Pedro J. Estébanez2024-05-081-0/+2
| | | | loop iterations
* Replace `find` with `contains/has` where applicableA Thousand Ships2024-05-082-5/+5
| | | | | | | * Replaces `find(...) != -1` with `contains` for `String` * Replaces `find(...) == -1` with `!contains` for `String` * Replaces `find(...) != -1` with `has` for containers * Replaces `find(...) == -1` with `!has` for containers
* Fix `builtin_embree=no` build linking the wrong version of EmbreeJakub Marcowski2024-05-081-1/+1
|
* Merge pull request #89574 from Riteo/scale-your-expectations-with-this-oneRémi Verschelde2024-05-071-1/+9
|\ | | | | | | Wayland: Workaround API limitation in screen/UI scale logic
| * Wayland: Workaround API limitation in screen/UI scale logicRiteo2024-05-071-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Mainly, this fixes auto UI scaling with _single-monitor_ fractional setups (see the comment in `display_server_wayland.cpp` for more info). This is the result of a bunch of current limitations, mainly the fact that the UI scale is static (it's probed at startup) and the fact that Wayland exposes fractional scales only at the window-level, by design. The `screen_get_scale` special case should help in 99% of cases, while the auto UI scale part will unfortunately only help with single-screen situations, as multi-screen fractional scaling requires dynamic UI scale changing.
* | Reduce and prevent unnecessary random-access to `List`A Thousand Ships2024-05-041-1/+1
|/ | | | | | | | | Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when accessing a single element) * Removed subscript operator, in favor of a more explicit `get` * Added conversion from `Iterator` to `ConstIterator` * Remade existing operations into other solutions when applicable
* Wayland: Add support for OpenGL ES driverRiteo2024-05-035-18/+161
| | | | | Everything was already there, we just had to wire it up in the display server.
* [Core] Add scalar versions of `Vector*` `min/max/clamp/snap(ped)`A Thousand Ships2024-05-022-2/+2
| | | | Convenience for a number of cases operating on single values
* Merge pull request #91247 from AThousandShips/callable_fixRémi Verschelde2024-04-291-1/+1
|\ | | | | | | Fix unsafe uses of `Callable.is_null()`
| * Fix unsafe uses of `Callable.is_null()`A Thousand Ships2024-04-271-1/+1
| | | | | | | | | | `Callable.is_null()` is not equivalent to `!Callable.is_valid()` and doesn't guarantee the call is valid.
* | Merge pull request #91220 from Repiteo/scons/colorize-warn-errorRémi Verschelde2024-04-291-27/+29
|\ \ | | | | | | | | | SCons: Colorize warnings/errors during generation
| * | SCons: Colorize warnings/errors during generationThaddeus Crews2024-04-281-27/+29
| |/
* / Wayland: Improve compositor compatibility by allowing older globalsRiteo2024-04-262-119/+136
|/ | | | | | | | | | | | | | | | | | Previously we pretty much hardcoded most of the globals we requested, causing compatibility issues with certain compositors like Weston, which support only some pretty old versions or miss some more advanced protocols. To put fuel on the fire, we also errored out when certain protocols weren't available, despite us being able to boot a game just fine (but obviously with a degraded featureset). The solution is to simply allow all the way from version 1 to the current latest, adding some compatibility code (such as for older `wl_output`s or newer `wl_pointer`s). While we're at it, this commit also fixes a few typos and naming inconsistencies I found.
* [DBus] Process file dialog callback in the main event loop instead of using ↵bruvzg2024-04-234-20/+54
| | | | deferred call.
* Polish interaction between windowing, input and renderingPedro J. Estébanez2024-04-106-37/+3
| | | | | - Adapt GL make/release API to the current architecture. - Fix DisplayServer being locked while dispatching input (prevent deadlocks).
* [.NET] Disable output embedding on macOS, move it to the advanced options on ↵bruvzg2024-04-091-6/+13
| | | | other platforms.
* Make sysctl calls on FreeBSDsambler2024-04-081-1/+25
| | | | | | The OS module get_unique_id and get_processor_name rely on linux files which don't exist on a standard FreeBSD install, make sysctl calls to get the required data.
* Merge pull request #89935 from bruvzg/dbus_conn_fixRémi Verschelde2024-04-042-90/+57
|\ | | | | | | [Linux/Portal] Fix incorrect DBus connection usage.
| * [Linux/Portal] Fix incorrect DBus connection usage.bruvzg2024-03-272-90/+57
| |
* | Merge pull request #89907 from bruvzg/nat_dlg_ftr_flagsRémi Verschelde2024-03-282-2/+6
|\ \ | | | | | | | | | [DisplayServer] Add separate feature flags for different native dialog types.
| * | [DisplayServer] Add separate feature flags for different native dialog types.bruvzg2024-03-262-2/+6
| |/
* | Merge pull request #89716 from theromis/masterRémi Verschelde2024-03-281-1/+1
|\ \ | |/ |/| | | [X11] Add more details to large icon size warning
| * Add icon source size to warning about "too large icon dimensions" to help ↵Roman Vasilyev2024-03-221-1/+1
| | | | | | | | faster find it
* | Merge pull request #87831 from Riteo/bitfield-xorRémi Verschelde2024-03-261-1/+1
|\ \ | | | | | | | | | Core: Implement a XOR operator for BitField
| * | Core: Implement a XOR operator for BitFieldRiteo2024-02-011-1/+1
| | |
* | | Merge pull request #89707 from AThousandShips/typo_fixRémi Verschelde2024-03-241-1/+1
|\ \ \ | | | | | | | | | | | | [Wayland] Fix typo in input code
| * | | [Wayland] Fix typo in input codeA Thousand Ships2024-03-201-1/+1
| | |/ | |/|