summaryrefslogtreecommitdiffstats
path: root/src/ui/interface.cpp
diff options
context:
space:
mode:
authorEduard Braun <eduard.braun2@gmx.de>2018-01-07 16:53:16 +0000
committerEduard Braun <eduard.braun2@gmx.de>2018-01-07 16:53:16 +0000
commit0ab95408b8cd74e560ec30535f6cc4dc9dff3881 (patch)
treefe22e66fde8cde6fc666bcd1738614061cb2de95 /src/ui/interface.cpp
parentMake natural window size default and fix small window size (diff)
downloadinkscape-0ab95408b8cd74e560ec30535f6cc4dc9dff3881.tar.gz
inkscape-0ab95408b8cd74e560ec30535f6cc4dc9dff3881.zip
Limit geometry from file to width/height of monitor
Diffstat (limited to 'src/ui/interface.cpp')
-rw-r--r--src/ui/interface.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/ui/interface.cpp b/src/ui/interface.cpp
index 816f4e337..7df3502f7 100644
--- a/src/ui/interface.cpp
+++ b/src/ui/interface.cpp
@@ -40,6 +40,7 @@
#include "document.h"
#include "ui/interface.h"
+#include "ui/monitor.h"
#include "desktop.h"
#include "selection-chemistry.h"
#include "svg-view-widget.h"
@@ -133,8 +134,6 @@ static void sp_ui_menu_item_set_name(GtkWidget *data,
Glib::ustring const &name);
static void sp_recent_open(GtkRecentChooser *, gpointer);
-static const int MIN_ONSCREEN_DISTANCE = 50;
-
void
sp_create_window(SPViewWidget *vw, bool editable)
{
@@ -171,6 +170,9 @@ sp_create_window(SPViewWidget *vw, bool editable)
gint full = prefs->getBool("/desktop/geometry/fullscreen");
gint maxed = prefs->getBool("/desktop/geometry/maximized");
if (pw>0 && ph>0) {
+ Gdk::Rectangle monitor_geometry = Inkscape::UI::get_monitor_geometry_at_point(px, py);
+ pw = std::min(pw, monitor_geometry.get_width());
+ ph = std::min(ph, monitor_geometry.get_height());
desktop->setWindowSize(pw, ph);
desktop->setWindowPosition(Geom::Point(px, py));
}