From 5ba756e60aa7b988399189c4df0eb72cdf0364c8 Mon Sep 17 00:00:00 2001 From: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> Date: Mon, 4 Mar 2024 10:10:04 +0100 Subject: X11: improve moving window back & forth across screens (#919) --- src/Fl_x.cxx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/Fl_x.cxx b/src/Fl_x.cxx index cec797fc9..50777e67e 100644 --- a/src/Fl_x.cxx +++ b/src/Fl_x.cxx @@ -2069,8 +2069,11 @@ int fl_handle(const XEvent& thisevent) // resize_after_screen_change() works also if called here, but calling it // a second later gives a more pleasant user experience when moving windows between distinct screens Fl::add_timeout(1, Fl_X11_Window_Driver::resize_after_screen_change, window); - } - wd->screen_num(num); + } else if (!Fl_X11_Window_Driver::data_for_resize_window_between_screens_.busy) + wd->screen_num(num); + } else if (Fl_X11_Window_Driver::data_for_resize_window_between_screens_.busy) { + Fl::remove_timeout(Fl_X11_Window_Driver::resize_after_screen_change, window); + Fl_X11_Window_Driver::data_for_resize_window_between_screens_.busy = false; } #else // ! USE_XFT Fl_Window_Driver::driver(window)->screen_num( Fl::screen_num(X, Y, W, H) ); -- cgit v1.2.3