summaryrefslogtreecommitdiff
path: root/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx
AgeCommit message (Collapse)Author
3 dayswip: forkmaxim nikonov
2026-01-21Improve handling of text containing context-dependent unicode points.ManoloFLTK
This commit makes platforms Windows and macOS compute string widths with the same mechanism as what is in place for platforms Wayland/X11: - the width of a string containing a single codepoint is computed and memorized in the table of character widths; - the width of a string containing several codepoints is computed as such rather than as the sum of the widths of its composing characters. The result is that FLTK text widgets input and draw correctly also complex emojis encoded with context-dependent codepoints. Function fl_utf8_remove_context_dependent() is no longer necessary.
2026-01-20Remove possible NULL dereference introduced at commit 61e75e4ManoloFLTK
2026-01-19All platforms use same code to remove context-dependent codepoints from text ↵ManoloFLTK
input. This commit introduces function fl_utf8_remove_context_dependent() that removes from an UTF-8 string its context-dependent codepoints. Platforms macOS, Wayland and X11 call this function to process UTF-8 text received from a character palette as input to FLTK text. This makes sure FLTK text-editing widgets process textual input equally and consistently across platforms, especially emojis entered via a palette. Platform Windows creates a series of separate system events to input an emoji via the character palette. For this reason, function fl_utf8_remove_context_dependent() is not used by this platform which does internally the same filtering of context- dependent codepoints.
2026-01-11Don't pretend Wayland supports Fl::add_system_handler().ManoloFLTK
2026-01-08Wayland: use the "Cursor shape" protocol - Cont'dManoloFLTK
2026-01-05Wayland: use modern approach to cursor shapes with the "Cursor shape" protocol.ManoloFLTK
This removes the need to guess names of files each theme gives to cursor shapes and makes linking with dbus superfluous when the compositor supports the new protocol. The old, surface-based approach to cursor shapes remains used for custom shapes.
2026-01-04Fix "Wayland's wl_display_dispatch() can block a Vulkan application" (#1354)ManoloFLTK
This rewriting of the FLTK callback function that runs when there are data available for reading in the socket connecting the app and the Wayland compositor is meant to facilitate the integration of Vulkan. This rewriting reproduces the recommended code to read from the socket documented in Wayland function wl_display_prepare_read_queue() when several threads potentially read from the socket.
2025-12-12class Fl_Wayland_Screen_Driver: add initialisation of member variable ↵ManoloFLTK
xdg_wm_dialog
2025-12-08Wayland: add support of the "XDG dialog windows" protocolManoloFLTK
2025-12-06Wayland: remove memory access error while computing screen work areaManoloFLTK
2025-11-29Wayland: remove code path that left workarea_xywh[*] unassigned (#1334)ManoloFLTK
2025-11-10Wayland: fix computation of screen workarea size.ManoloFLTK
This computation has been found possible only for single-display settings.
2025-11-08Wayland: simpler computation of screen workarea sizeManoloFLTK
2025-11-06Wayland: fix computation of screen size and workareaManoloFLTK
The previous method failed with gnome 49.1
2025-11-05Fix "Long Tooltips can crash under Wayland" (#1317)ManoloFLTK
2025-09-15Complete Wayland-related part of issue #1295 - continuedManoloFLTK
2025-09-15Complete Wayland-related part of issue #1295ManoloFLTK
2025-08-29Wayland: account for new Wayfire compositor - cont'dManoloFLTK
And allow for vertical display taskbar.
2025-08-19Fix for Wayland only part of #1295 related to "mangled" eventsManoloFLTK
2025-08-19Fix part of #1295 related to Wayland and hiding/showing subwindowManoloFLTK
2025-08-18Fix: Unexpected FL_ENTER after FL_LEAVE when a subwindow is hidden (#1295)ManoloFLTK
2025-08-09Wayland: Some shortcut keys not delivered when input widget has focus - ↵ManoloFLTK
cont'd (#1290)
2025-08-08Wayland: Some shortcut keys not delivered when input widget has focus (#1290)ManoloFLTK
2025-08-07Wayland: avoid NULL-pointer error after call to wl_display_get_protocol_error()ManoloFLTK
2025-07-10Wayland: account for new Wayfire compositor - cont'dManoloFLTK
2025-07-09Wayland: account for new Wayfire compositorManoloFLTK
2025-07-08Fix trailing whitespace and convert a few tabs to spacesAlbrecht Schlosser
... according to CMP
2025-05-09Remove declaration of Fl_Scalable_Graphics_Driver from FL/Fl_Graphics_Driver.HManoloFLTK
and declare it in non-public header src/Fl_Scalable_Graphics_Driver.H which also declares classes Fl_Font_Descriptor and Fl_Fontdesc.
2025-03-19Remove obsolete build option 'FLTK_OPTION_STD'Albrecht Schlosser
This option is no longer needed since FLTK 1.5 always requires C++11.
2025-03-19Fix "FLTK apps broken under LabWC compositor" (#1231)ManoloFLTK
2025-03-18Wayland: improve support of screen removal while FLTK runsManoloFLTK
2025-03-17Wayland: improve support of addition/removal of displays while FLTK runsManoloFLTK
2025-03-17Wayland: compute work area size under MUTTER or when single displayManoloFLTK
2025-03-13Improve support of screen addition/removal while FLTK runsManoloFLTK
2025-03-12Restore support of the sway compositor destroyed by 9b5d40aManoloFLTK
2025-03-11Fix "Wayland: Huge menu hiding unexpectedly when moving a mouse (#1115)ManoloFLTK
This commit also computes work-area size for single-display settings.
2025-01-20Attempt to improve member function ↵ManoloFLTK
Fl_Wayland_Screen_Driver::insertion_point_location() This makes the IM aware of the cursor movement to the right after having committed text.
2025-01-10Wayland platform: fix handling of key repeatsManoloFLTK
2024-10-06Support mouse buttons 4 + 5 (aka "side buttons") (#1076, #1068)Albrecht Schlosser
This work is based on PR 1068 (patch by @CendioHalim) and extended to store button status (4,5) in Fl::event_state() like it's done for other mouse buttons (1-3). Changes: - new symbol: FL_BUTTON4 = side button 1 = "back" - new symbol: FL_BUTTON5 = side button 2 = "forward" - modified : FL_BUTTONS now includes bits for two side buttons Note: the status of these new buttons is not maintained by X11, therefore we need to maintain them in internal variables for this platform.
2024-08-26Implement and document Fl::add_system_handler() for WaylandManoloFLTK
2024-08-25Fix Fl_Wayland_Screen_Driver::compose() to handle the FL_Alt_Gr keyManoloFLTK
2024-08-23Quick fix for Window Ctrl charcter handling.Matthias Melcher
This is needed to allow platform compatibel e_text and e_length, but a lot more work ist needed to unify keyboard handling
2024-06-24Wayland: account for old versions of the GTK shell protocol - cont'dManoloFLTK
Not easy to get it right in absence of any documentation for "GTK Shell" protocol.
2024-06-24Wayland: account for old versions of the GTK shell protocol - cont'dManoloFLTK
2024-06-23Wayland: account for old versions of the GTK shell protocolManoloFLTK
2024-06-23Wayland: stop key repeats when focus leaves a windowManoloFLTK
2024-06-22Wayland: use serial rather than time argument of wl_keyboard_key() to ↵ManoloFLTK
support key repeats
2024-06-21Fix Wayland memory leak (#991)Albrecht Schlosser
2024-06-04Wayland: add necessary calls to gtk_surface1_release()ManoloFLTK