summaryrefslogtreecommitdiff
path: root/src/Fl_x.cxx
AgeCommit message (Collapse)Author
2024-06-15X11: update XDND protocol from version 4 to 5 (#988)Albrecht Schlosser
Some applications insist on sending XDND protocol version 5 and rejected (ignored) FLTK as DND receiver because we allowed only protocol version 4. Known apps: Google Chrome and Chromium. This commit enables XDND protocol version 5 in FLTK programs as DND receiver.
2024-05-27Remove useless Fl_Window_Driver accessors after new member ↵ManoloFLTK
Fl_Window::get_size_range()
2024-05-11Add detailed comment about getting all supported XDND data typesManoloFLTK
2024-05-10Fix DnD from Wayland gnome app to X11 FLTK appManoloFLTK
This DnD gives two data types of the dragged text: text and a gnome-specific type. The code previously accepted DnD with 1 data type or 4 or more data types, and processed situations with 2 or 3 data types in a special way that fails with gnome source apps. The new code processes situations with 2 and 3 data types just like other ones. This works OK when dragging from gnome wayland apps.
2024-04-04Improve use of fl_create_print_window() under X11ManoloFLTK
2024-03-19Update dependencies, whitespace, and Fl_File_Chooser.cxxAlbrecht Schlosser
Rewrite src/Fl_File_Chooser.cxx from its .fl source file
2024-03-18 Fix "FLTK on NetBSD very slow on X11 with Unicode locale" (#935)ManoloFLTK
2024-03-12 using xlib to query the new DPI (old #910) (PR #913)ManoloFLTK
Thanks to Mike Qin for finding how to query the possibly changed DPI value of an X11 display while an FLTK app keeps running without running an external command in a pipe.
2024-03-04Fix Scaling window up/down also scales X/Y position on secondary displays ↵ManoloFLTK
only (#925)
2024-03-04X11: improve moving window back & forth across screens (#919)ManoloFLTK
2024-03-03 X11: Window scaling makes window lose resizable status if resizable_ is ↵ManoloFLTK
NULL (#923)
2023-12-21Fix "commit 96bacd3 may crash on X11" (#873)ManoloFLTK
2023-12-19Procedure to instruct FLTK to use given X11 connexion (#149)ManoloFLTK
2023-12-13Fix X11 '_NET_ACTIVE_WINDOW' message (STR 3396)Albrecht Schlosser
Send a valid timestamp rather than 0. For details see STR 3396.
2023-11-17Remove friend declaration from Fl_Window.H (see STR 3354)Albrecht Schlosser
Although this was not strictly necessary I decided to implement the proposed patch, but in a slightly different way. This adds a static public method for internal use only but it wouldn't do any harm if a user called it.
2023-11-05Add Fl_Window::maximize() and Fl_Window::un_maximize()ManoloFLTK
2023-10-17Fix Crashes and warnings when Fl_Double_Window is smaller than 1x1 (#798)ManoloFLTK
2023-08-16X11 platform: give number keys layout-independent keysym'sManoloFLTK
Without this, the sudoku app is unusable with a French keyboard
2023-08-13Handle shift + mousewheel event on Linux (STR 3521)Albrecht Schlosser
Pressing the shift key while using the mousewheel changes horizontal to vertical scrolling and vice versa. This allows users with a standard mouse with only one scroll button to use it for both scrolling directions. Note: other mice that have either two buttons or a scroll ball can generate both horizontal and vertical scrolling in one action. This commit does not affect such behavior. This patch has been provided by Manolo in file 'scroll.patch' (see STR 3521).
2023-05-09Fix doxygen doc generation and document platform specific filesAlbrecht Schlosser
Pure platform specific files like 'src/*_win32.cxx' are excluded from doxygen processing and don't need doxygen specific guard macros. Document this fact prominently at the beginning of each file. Fix exclude patterns and remove duplicates from Doxyfile.in.
2023-02-14Rename class Fl_Display_Cairo_Graphics_Driver to Fl_X11_Cairo_Graphics_DriverManoloFLTK
2023-02-13Allow scaled image in Fl_Window::cursor(const Fl_RGB_Image *, int, int)ManoloFLTK
2023-01-13Fix for "Rename Fl_X* Fl_Window::i private class member" (#223)ManoloFLTK
2023-01-06X11: Optionally copy selection buffer to clipboard (STR 3229)Albrecht Schlosser
The new method Fl::selection_to_clipboard(int) enables copying selection data to the clipboard on X11 if it is set to 1. This feature was requested by STR 3229 and the implementation was inspired by an `xterm` feature named "Select to Clipboard" which can be enabled by 'ctrl + middle mouse button + "Select to Clipboard"' in an xterm window.
2022-12-30Fixing false FL_OVERRIDEMatthias Melcher
2022-12-30Use `FL_OVERRIDE` for all overridden virtual methods (#611)Matthias Melcher
FL_OVERRIDE is defined as `override` for C++11 and higher FL_OVERRIDE is defined as `override` for VisualC 2015 and newer Don't interfere with Fl_Widget::override()
2022-11-07Create class Fl_Unix_Screen_Driver used by X11 and Wayland platformsManoloFLTK
2022-11-05Wayland/X11 hybrid: use "bool fl_disable_wayland;" declaration.ManoloFLTK
2022-10-17Allow DnD from Wayland FLTK app to X11 FLTK app (#516)ManoloFLTK
2022-09-26Replace all calls to sprintf() by calls to snprintf().ManoloFLTK
2022-09-23Fix Fl_X11_Window_Driver::fullscreen_on() and ↵ManoloFLTK
Fl_X11_Window_Driver::fullscreen_off().
2022-09-17Allow use of Fl_Window::default_icon() with a scaled image - Part 2.ManoloFLTK
Default icons are handled according to their scaled size, if there scaled.
2022-09-12Allow use of Fl_Window::default_icon() with a scaled image.ManoloFLTK
2022-09-02Fix compiler warning [-Wunused-function]Albrecht Schlosser
warning: ‘int xrender_supported()’ defined but not used This happens only with certain configure options, particularly if FLTK_USE_CAIRO is set, i.e. drawing with Cairo is enabled.
2022-09-01Simplify Fl_Window_Driver::screen_num() member functions.ManoloFLTK
2022-08-29X11: Fix rescaling of non-resizable window (issue #491)Albrecht Schlosser
2022-08-29Make hybrid Wayland/X11 platform.ManoloFLTK
2022-07-27Fix for issue #471: Different Fl_Window::resize() behavior between v1.3.8 ↵ManoloFLTK
and v1.4
2022-07-02Improve X11 selection data transfer (INCR) protocol (#451)Albrecht Schlosser
This improves reading large selections and fixes one more bug. - Fix reading selection data size of clients that don't send the size. These clients don't respect the ICCCM. Using a default size instead. - Improve memory allocation by pre-allocating at least 4 MB and extending by 4 MB to reduce the number of realloc() operations. This may waste up to 4 MB buffer space but this is only an issue if clients don't send an appropriate size (see above). - Limit the initial allocation to 200 MB in case clients send higher values. This is very unlikely and might be a bug in these clients. Default extension as above would apply anyway. - Add more comments and optional debug statements (commented out). Note: reading selections (clipboard) from other clients using the INCR protocol is implemented but the opposite (providing large selections (clipboard) by using the INCR protocol is not.
2022-07-01Fix "Segfault if using very large selections" (issue #451)Albrecht Schlosser
- Fix reading the size (aka "lower bound") of selection data. - Use Fl::fatal() to terminate the process if memory for the selection (aka clipboard) data can't be allocated. This should rarely happen but if it does this is at least a "clean" exit and does not overwrite arbitrary data waiting for later errors that are hard to debug (as the old code would have done). Todo: find a better solution because this can be caused by another faulty process (the "selection owner"). It would be good if we could ignore the transfer rather than killing the process. - Continue processing the INCR protocol if another "unexpected" event is received. Such events can definitely happen but the current code can't deal with this because other events might cause recursions. Hence such events are currently ignored. Example: pressing and holding ctrl/v would trigger another clipboard transfer while we're still processing one. Todo: maybe process "other" events correctly while processing the INCR protocol. The current processing is done inside a function and would need to call fl_handle() with potential recursions, hence this would likely need major refactoring.
2022-07-01Reformat, remove unnecessary code, add commentsAlbrecht Schlosser
2022-06-19Move input method support to Fl_Screen_Driver from Fl_Graphics_DriverManoloFLTK
2022-03-21Rename member Fl_Graphics_Driver::p to xpoint to avoid shadowing.ManoloFLTK
2022-03-21Fix for issue #418 : some warnings about unused functions.ManoloFLTK
2022-03-05Fix size_range() - continued (issue #392)Albrecht Schlosser
- fix window size of GL windows as reported for test/glpuzzle.cxx - fix window not resizing on ctrl/+/- (X11 only) Unfortunately the previous commit "optimized" a necessary X11 message away. This is now fixed. Fixes #392.
2022-03-04Add the Wayland platform to FLTK 1.4ManoloFLTK
2022-03-01Fix default size_range() calculation (issue #392, STR 3352)Albrecht Schlosser
2022-02-22X11: Disable "boxcheat" hackAlbrecht Schlosser
For details see comment in src/Fl_x.cxx: this "Hack to speed up bg box drawing" is now disabled for several reasons. The code is still available if the macro ENABLE_BOXCHEAT is defined.
2022-02-21Remove obsolete/disabled "boxcheat" codeAlbrecht Schlosser
Windows platform: Remove comments about obsolete code and one exported declaration of the variable 'fl_background_pixel' which is used only on the X11 platform. X11 platform: Remove comments. Other platforms: not affected.
2022-02-03Rearrange "Print Button Window" functionsAlbrecht Schlosser
- Rename Fl_Screen_Driver::print_or_copy_window() to fl_print_or_copy_window() - Add header file src/print_button.h - Update dependencies