summaryrefslogtreecommitdiffstats
path: root/platform/linuxbsd/x11
Commit message (Collapse)AuthorAgeFilesLines
* Fix copyright headers referring to GodotSpartan3222024-10-2712-24/+24
|
* Rebrand preambles to RedotSpartan3222024-10-1312-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | (cherry picked from commit e8542b06acca3c1bdeee4b528411771f0819f084) Credits: Co-authored-by: Skogi <skogi.b@gmail.com> Co-authored-by: Spartan322 <Megacake1234@gmail.com> Co-authored-by: swashberry <swashdev@pm.me> Co-authored-by: Christoffer Sundbom <christoffer_karlsson@live.se> Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: McDubh <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: Dubhghlas McLaughlin <103212704+mcdubhghlas@users.noreply.github.com> Co-authored-by: radenthefolf <radenthefolf@gmail.com> Co-authored-by: John Knight <80524176+Tekisasu-JohnK@users.noreply.github.com> Co-authored-by: Adam Vondersaar <adam.vondersaar@uphold.com> Co-authored-by: decryptedchaos <nixgod@gmail.com> Co-authored-by: zaftnotameni <122100803+zaftnotameni@users.noreply.github.com> Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com> Co-authored-by: wesam <108880473+wesamdev@users.noreply.github.com> Co-authored-by: Mister Puma <MisterPuma80@gmail.com> Co-authored-by: Aaron Benjamin <lifeartstudios@gmail.com> Co-authored-by: SingleError <isaaconeoneone@gmail.com> Co-authored-by: Bioblaze Payne <BioblazePayne@gmail.com>
* Rebrand Godot 4.3 to RedotTrashguy2024-10-131-7/+7
|
* [X11] Use motion event button state instead of async state.bruvzg2024-08-011-2/+19
|
* Remove unneeded call in DisplayServerX11 alvinhochun2024-07-251-1/+0
| | | | | X11 does not need setting exclusive flag (it is not implemented). Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
* Pass window exclusive and transient properties for subwindow creationAlvin Wong2024-07-252-2/+8
| | | | | | On Windows this allows to avoid having to change the owner of the window after it has been created, which in rare circumstances may cause the window to bug out.
* Linux/X11: Fix memory leak from created screen imagesRonald Casili2024-07-181-4/+5
| | | | | | | | | Allocated XImages are improperly free'd with XFree. The X11 documentation says that XImage should use XDestroyImage to free both the image structure and the data pointed to by the image structure. Also fix a potential use-after-free bug.
* X11: Fix creating RenderingDevice after #93706Rémi Verschelde2024-06-291-0/+1
| | | | The line was removed by mistake.
* Improve handling of rendering startup errorsPedro J. Estébanez2024-06-281-2/+8
|
* Fix text editor stealing focus from "Find in Files" dialog on X11David Snopek2024-06-271-1/+1
|
* Tweak warning messages related to V-Sync on OpenGLHugo Locurcio2024-06-161-1/+1
| | | | | | - Make warnings print only once per session. - Tweak the message to be less confusing, and mention that the issue most likely stems from a graphics driver limitation.
* [X11] Detect XWayland and disable screen capture support.bruvzg2024-06-122-3/+29
|
* 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-071-9/+3
|\ \ | |/ |/| | | Fix creating cursor image from `AtlasTexture`
| * Fix creating cursor image from AtlasTexturekleonc2024-06-051-9/+3
| |
* | 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-301-2/+2
|\ | | | | | | Use `OS::delay_usec()` to avoid using deprecated `usleep()` on Linux
| * Use `OS::delay_usec()` to avoid using deprecated `usleep()` on LinuxHugo Locurcio2024-05-211-2/+2
| | | | | | | | | | | | | | | | | | 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-281-1/+8
|\ \ | | | | | | | | | [DisplayServer] Add error messages and descriptions to callbacks.
| * | [DisplayServer] Add error messages and descriptions to callbacks.bruvzg2024-05-281-1/+8
| | |
* | | [macOS, X11] Fix duplicate close requests.bruvzg2024-05-281-1/+4
|/ /
* | 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.
* | Properly set window class in WaylandPaulo Poiati2024-05-222-5/+6
|/
* [X11] Fallback to root window size, when Xinerama extension is available, ↵bruvzg2024-05-141-27/+40
| | | | but return zero screens.
* DisplayServer: Avoid deadlocks while issuing input events and recursive main ↵Pedro J. Estébanez2024-05-081-0/+2
| | | | loop iterations
* [Core] Add scalar versions of `Vector*` `min/max/clamp/snap(ped)`A Thousand Ships2024-05-021-1/+1
| | | | Convenience for a number of cases operating on single values
* 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.
* [DBus] Process file dialog callback in the main event loop instead of using ↵bruvzg2024-04-231-0/+6
| | | | deferred call.
* Polish interaction between windowing, input and renderingPedro J. Estébanez2024-04-104-28/+3
| | | | | - Adapt GL make/release API to the current architecture. - Fix DisplayServer being locked while dispatching input (prevent deadlocks).
* Merge pull request #89907 from bruvzg/nat_dlg_ftr_flagsRémi Verschelde2024-03-281-1/+3
|\ | | | | | | [DisplayServer] Add separate feature flags for different native dialog types.
| * [DisplayServer] Add separate feature flags for different native dialog types.bruvzg2024-03-261-1/+3
| |
* | 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
* | Use `Vector*` component-wise `min/max/clamp` functions where applicableA Thousand Ships2024-03-201-6/+3
|/
* Merge pull request #86101 from GrammAcc/partial-fix-68305Rémi Verschelde2024-03-111-13/+0
|\ | | | | | | [X11] Partial fix for Editor and Project Manager stealing focus on some window managers
| * [X11] Partial Fix Godot Editor and Project Manager steals focus on a window ↵Dalton Lang2024-02-051-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | manager on Linux This is a workaround for the most critical portion of the WM focus bug described in #68305. On some specific X11 WM configurations, the editor's main window and any popups it creates will fight for focus, which causes a total system lockup due to mouse and keyboard input being stolen as well. Getting out of this infinite loop requires force restarting the system. It can be tested with the following shell script: ```bash !#/bin/sh godot4 & sleep 30 pkill -x godot4 ``` The workaround identified in #68305 is to remove the call to XSetInputFocus in the ConfigureNotify event handler, so I have removed the conditional block that calls this as well as the setup code above it since there is no need to allocate the memory for the variables if they won't be used in that call anymore. This is just a hack and is not a complete fix for #68305. Multiple developers are collaborating on a proper fix in the discussion in that issue, but time is a valuable resource that no one has enough of, so I am committing this workaround as a stop-gap to prevent the most critical problem while we work on a full solution for the underlying cause.
* | Move `global_menu_*` methods to a separate `NativeMenu` class.bruvzg2024-03-042-0/+13
| |
* | Improve cursor_set_custom_image() methodkobewi2024-02-281-35/+5
| |
* | Add method to get "base" system UI color (macOS/Windows) and system theme ↵bruvzg2024-02-132-0/+5
| | | | | | | | change callback.
* | Finish splitting functionality of the Vulkan and D3D12 backends into ↵Dario2024-02-125-56/+79
| | | | | | | | RenderingDeviceDriver.
* | Merge pull request #82800 from Sauermann/fix-screen-mousemotionRémi Verschelde2024-02-091-0/+3
|\ \ | | | | | | | | | Add screen-related attributes to mouse input events
| * | Add screen-related attributes to mouse input eventsMarkus Sauermann2024-02-051-0/+3
| |/
* | Merge pull request #86843 from RandomShaper/fix_null_ptrRémi Verschelde2024-02-071-1/+2
|\ \ | |/ |/| | | Avoid several null-dereferences of ApiContextRD
| * Avoid several null-dereferences of ApiContextRDPedro J. Estébanez2024-02-061-1/+2
| |
* | Merge pull request #80231 from romlok/input-key-locationRémi Verschelde2024-01-293-0/+32
|\ \ | | | | | | | | | Support detecting and mapping ctrl/alt/shift/meta by their left/right physical location
| * | Add InputEventKey.location to tell left from rightMel Collins2024-01-263-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a new enum `KeyLocation` and associated property `InputEventKey.location`, which indicates the left/right location of key events which may come from one of two physical keys, eg. Shift, Ctrl. It also adds simulation of missing Shift KEYUP events for Windows. When multiple Shifts are held down at the same time, Windows natively only sends a KEYUP for the last one to be released.
* | | [Native File Dialog] Add support for adding custom options to the dialogs.bruvzg2024-01-242-1/+13
|/ / | | | | | | Add support for adding custom options (checkboxes and optionboxes) to the dialogs (both native and built-in).
* | [X11] Don't re-set input focus if the given window already has itDavid Snopek2024-01-182-5/+18
| |