summaryrefslogtreecommitdiff
path: root/platform/linuxbsd/x11
AgeCommit message (Collapse)Author
2023-02-14Some fixes for initial window position and sizeThomas ten Cate
- 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-07[X11] Do not suppress structure/focus events on popup close to correctly ↵bruvzg
return focus.
2023-02-06[X11] Fix IME window focus events.bruvzg
2023-02-01Merge pull request #72104 from bruvzg/popup-non-popupsRémi Verschelde
Extend special popup window handling to any non-popup child of a popup.
2023-02-01[X11] Fix IME subwindow in the popup not getting input focus.bruvzg
2023-01-30[X11] Add support for dead keys without active IME. Fix IME focus and cleanup.bruvzg
2023-01-27Merge pull request #72102 from Riteo/keymapx11-scope-goodnessRémi Verschelde
Put KeyMappingX11 stuff inside its own scope
2023-01-26Extend special popup window handling to any non-popup child of a popup.bruvzg
2023-01-26[X11] Fix IME focus return.bruvzg
2023-01-26Put KeyMappingX11 stuff inside its own scopeRiteo
This avoids collisions with other "concurrent" key mappers.
2023-01-25Merge pull request #72029 from bruvzg/x11_keycodeRémi Verschelde
[X11] Fix incorrect keycodes from non-QWERTY layouts.
2023-01-25[X11] Fix incorrect keycodes from non-QWERTY layouts.bruvzg
2023-01-25[X11] Make IME focus window input only.bruvzg
2023-01-25Merge pull request #72018 from bruvzg/x11_ime_loopRémi Verschelde
[X11] Prevent IME activation from entering infinite loop.
2023-01-25[X11] Prevent IME activation from entering infinite loop.bruvzg
2023-01-25Move xkbcommon dynamic loading code into generic linuxbsd folderRiteo
Since Wayland uses it too, it only makes sense to have it in the parent directory of both.
2023-01-23[Linux/BSD] Include headers for dynamically loaded libraries to simplify ↵bruvzg
build dependencies.
2023-01-23Cleanup and unify keyboard input.bruvzg
- 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-17Improve DisplayServer message for video card drivers failureRémi Verschelde
And remove leftover duplicated message on Android.
2023-01-17Fix X11 input region size.bruvzg
2023-01-16Add `WINDOW_FLAG_MOUSE_PASSTHROUGH` flag and enabled it for tooltips. Expose ↵bruvzg
`window_set_mouse_passthrough` to `Window`.
2023-01-08Use BitField<> in core type masksJuan Linietsky
* 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-07Add support for the custom initial screen for the main window, fix primary ↵bruvzg
screen detection.
2023-01-05One Copyright Update to rule them allRémi Verschelde
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".
2022-12-29Improve `window_set_current_screen` and fix secondary window initial mode ↵bruvzg
and positions.
2022-12-16Merge pull request #69678 from Sauermann/fix-slider-button-upRémi Verschelde
Fix colorpicker slider bug with mouse-up outside of popup
2022-12-15Fix typos with codespellRémi Verschelde
2022-12-07Merge pull request #69712 from bruvzg/real_sizeRémi Verschelde
Rename `window_get_real_size`, add position counterpart.
2022-12-07Rename `window_get_real_size` to `window_get_size_with_decorations`, add ↵bruvzg
`window_get_position_with_decorations`.
2022-12-07[Linux/X11] Split fullscreen mode into `WINDOW_MODE_EXCLUSIVE_FULLSCREEN` ↵bruvzg
and `WINDOW_MODE_FULLSCREEN` to improve multi-window handling.
2022-12-06Fix colorpicker slider bug with mouse-up outside of popupMarkus Sauermann
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-05Fix that mouse-button-up event is parsed twice for drag-and-dropMarkus Sauermann
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-03Load X11 dynamicallyRiteo
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-11-16X11: Don't override glxSwapInterval function pointers loaded by GLADRémi Verschelde
Fixes #68722. Co-authored-by: alcomposer <alex.w.mitchell@gmail.com>
2022-11-15Set vsync on window creation when using GLES3.clayjohn
Add vsync to Windows platform
2022-11-15Load GLX dynamically with GLADRiteo Siuga
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-13Fix gl_manager nullptr crashMarkus Sauermann
Add a nullptr-check, before accessing gl_manager
2022-11-11Fix unsent WINDOW_EVENT_MOUSE_ENTER event on mouse_mode-changeMarkus Sauermann
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-09Merge pull request #68345 from Abdul-AZ/masterRémi Verschelde
Fix static object destructors being called on gpu selection with X11
2022-11-08Add support for OpenGL to OpenXRDavid Snopek
2022-11-07Fix static object destructors being called on gpu selection with X11Abdulrahman Al Zeidi
2022-11-03Merge pull request #67695 from Sauermann/fix-filedrop-spaceRémi Verschelde
Do not strip spaces at the end of file names of dropped files
2022-11-03Do not strip spaces at the end of file names of dropped files on linuxbsdMarkus Sauermann
2022-11-03Fix unwanted popup closing by mouse-move while holding mouse-buttonMarkus Sauermann
2022-11-02linuxbsd: move all X11 stuff in its own directoryRiteo
This allows implementing `DisplayServer`s like Wayland without making a mess in the source tree.