From 0d1885407b9d1dfcf3ddd5c16aeb23bf4f34df3a Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Sun, 7 Jan 2018 19:34:57 +0100 Subject: Limit default window size to monitor dimensions --- src/sp-namedview.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src') diff --git a/src/sp-namedview.cpp b/src/sp-namedview.cpp index e47587734..59c7129f6 100644 --- a/src/sp-namedview.cpp +++ b/src/sp-namedview.cpp @@ -771,6 +771,16 @@ void sp_namedview_window_from_document(SPDesktop *desktop) w = h = MIN_WINDOW_SIZE; } else if (default_size == PREFS_WINDOW_SIZE_NATURAL) { // don't set size (i.e. keep the gtk+ default, which will be the natural size) + // unless gtk+ decided it would be a good idea to show a window that is larger than the screen + Gdk::Rectangle monitor_geometry = Inkscape::UI::get_monitor_geometry_at_window(win->get_window()); + int monitor_width = monitor_geometry.get_width(); + int monitor_height = monitor_geometry.get_height(); + int window_width, window_height; + win->get_size(window_width, window_height); + if (window_width > monitor_width || window_height > monitor_height) { + w = std::min(monitor_width, window_width); + h = std::min(monitor_height, window_height); + } } if ((w > 0) && (h > 0)) { #ifndef WIN32 -- cgit v1.2.3