diff options
| author | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2024-06-03 15:05:04 +0200 |
|---|---|---|
| committer | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2024-06-03 15:05:04 +0200 |
| commit | 6712130f22914319f3c42365376e42d14bf9be0b (patch) | |
| tree | e1641f4b8843188ee7a43594302eb462886f9851 | |
| parent | ce46b4b68be0d140e2cd5d2e1bd75b7f0cc90140 (diff) | |
Document how to control window location in screen under Wayland
| -rw-r--r-- | FL/Fl_Window.H | 8 | ||||
| -rw-r--r-- | src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx | 1 |
2 files changed, 7 insertions, 2 deletions
diff --git a/FL/Fl_Window.H b/FL/Fl_Window.H index 03e20ac5c..3df78092e 100644 --- a/FL/Fl_Window.H +++ b/FL/Fl_Window.H @@ -174,8 +174,12 @@ public: \see Fl::screen_xywh(int &X, int &Y, int &W, int &H, int n) \note Under Wayland, it's generally not possible for the client app to control - the position of a window in the system. It's only possible to specify on what screen - should the compositor place a fullscreen window. + the position of a window in the system. It's possible to specify on what screen + should the compositor place a fullscreen window. It's also possible to make an + Fl_Window the child of another window or group and control with \p x and \p y + its screen position relatively to the enclosing window. Apply member function + Fl_Window::allow_expand_outside_parent() to the child window to allow it + to expand partially or totally outside its parent. */ Fl_Window(int x, int y, int w, int h, const char *title = 0); /** diff --git a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx index 4d36f8ce9..467e985ef 100644 --- a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx +++ b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx @@ -1867,6 +1867,7 @@ void Fl_Wayland_Window_Driver::resize(int X, int Y, int W, int H) { } if (fl_win && fl_win->kind == SUBWINDOW && fl_win->subsurface) { + // Interactive move or resize of a subwindow requires to commit the parent surface (#987) Fl_Window *parent = pWindow->window(); struct wld_window *xid = fl_wl_xid(parent); if (xid) wl_surface_commit(xid->wl_surface); |
