Win32: Open/Save dlgs cannot cope with multi-monitor setups

Bug #166814 reported by Timbrowse
22
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Medium
joelholdsworth

Bug Description

Steps to reproduce:

(1) Run Inkscape
(2) Click the 'Open' button on toolbar
(3) Open dialog appears as normal
(4) Click the 'Cancel' button on the Open dialog
(5) Click the 'Open' button on toolbar
(6) Dialog now appears half off-screen on the other
monitor.

Setup/details:

I have a multi-monitor setup running on Windows XP SP2.

An important fact is that I have two screens side by
side, and the one on the right is the 'primary' screen.
 This matters because this results in the x-coords of
the left hand screen being negative.

Essentially, when I open the Open or Save dialogs in
Inkscape 0.42, they open in a sensible place initially,
but all subsequent attempts to use them results in them
being placed partially off screen on the left hand monitor.

You can't see the title bar, so you can only move it
back on screen if you know the Alt-Space shortcut to
get the window menu, and choose 'Move'.

Even if I move the window back, the next time it opens,
it is off screen again.

The main Inkscape window is maximised on the right hand
(primary) display.

In case it helps, I found in my own code (I had a
similar problem in one of my own apps) that this was
due to not using the correct 'message cracker' macros
to extract co-ords from Windows messages, resulting in
unsigned values being extracted instead of the
(correct) signed values.

Tags: ui win32
Revision history for this message
Bryce Harrington (bryce) wrote :

This seems to work okay on Linux. I have 3 monitors and the
dialogs always pop up where I expect them too. Marking as
Win32-specific.

Revision history for this message
Denimskater (denimskater) wrote :

This is a more severe bug for me - I have a second screen
only part of the time, and once I've used the Export Bitmap
dialog on the left-hand (secondary) screen I am unable to
use it at all when I have only one screen. This makes
Inkscape unusable unless I have the second screen attached.

Revision history for this message
Fussel73 (fussel73) wrote :

I had posted this as comment in another bug already, but I
was told it has probably nothing to do with it (who knows):
So I would like to post it here and actually I don't bother
where to post it, I would just like to have it fixed soon.

I am a wannabe user of Inkscape. I would like to change from
CorelDraw to Inkscape, but I am writing here in STRONG
support to classify this issue as a high priority BUG.

I would like to describe my own experience which keeps me
from using Inkscape at all.

I just downloaded Inkscape and wanted to try it, but most
dialog windows are shown off-screen with only a very small
amount being on-screen.

I am not loading any "garbage" SVG (because I cannot see the
OpenFile dialog). E.g. I just wanted to save a drawing, edit
some settings and all of these dialogs are shown partly
off-screen and I can't move them on-screen in any way (there
is no SVG I could hand-edit, no property-file I can find).

So for me, I can't use Inkscape at all at the moment.

Now my (maybe unusual) configuration:
Windows XP SP2
NVIDIA GeForce FX5700 in DualView mode
Two DVI Monitors (IBM L200p) in 1600x1200
one monitor is landscape, the other portrait

I really would like to give Inkscape a try but for that I
need to be able to USE it. Please insert some sanity check
for all window/dialog positioning SOON and make this a high
prio BUG.

Revision history for this message
Bug Importer (bug-importer) wrote :

A similar thing happens with the preferences window on my 0.44.1 windows
install on Windows XP. My screen layout is in this picture:
http://www.algonet.se/~pipe/screen_layout.png

The preferences window first opens briefly in the middle of my workspace,
as would be a great place to show it, but when it's finished drawing its
gadgets (after a couple of miliseconds), it quickly moves up to the top
left corner, where there is no visible area. (not to mention that the
screen is my TV and is never on, so it took some time to realize where the
heck the window was hiding in the first place)

Revision history for this message
Johan Engelen (johanengelen) wrote :

Originator: NO

I have been working on a solution for these problems. The current
development version checks wether a dialog will be put on a location (x,y)
larger than zero and if x and y do not exceed the screenwidth or
screenheight respectively. If (x,y) does not meet these requirements, the
dialog will be shown in the center of the screen on which inkscape's main
window is shown. This however only solves the most basic of problems.

For example, denimskater's problem will not be solved: (x,y) will be
larger than zero and therefore meet the requirements; then because windows
will still assume the left display is there, position (x,y) will be on the
left invisible screen. I do not know how to check wether a screen is turned
on or not.

Note that my experience is that the origin of the (x,y)-coordinate system
Gtk uses lies at the most top-left location. It does not matter where I put
my primary screen. (no negative coordinates) It seems that Gtk/windows
calculates a bounding box around all screens and uses it's top left corner
as the origin for (x,y) location.

I am sorry but I do not see a solution for all cases, unless it is
possible to find out which locations are visible and which are not.
Probably it _IS_ possible to find out which locations are visible, but
until I find out (could take a long while), the solution is this (version
0.45+devel!):
0. Close Inkscape.
1. Find preferences.xml. It is in C:\documents and
settings\<username>\Application data\Inkscape\
2. Find the "dialogs" group. (id="dialogs")
3. Go to the entries for the dialog that is not on screen and enter a
negative number for x or y. Inkscape will put the dialog in the middle of
the screen inkscape's main window is on.

For example, to make the "Export bitmap..." dialog visible, change
preferences.xml to:
    <group
       id="export"
       x="357"
       y="277"
       w="437"
       h="309">

Hystrix (hystrix-)
Changed in inkscape:
status: New → In Progress
Revision history for this message
joelholdsworth (joel-airwebreathe) wrote :

The new windows native file dialogs dialogs don't suffer from the same problems that the old dialogs did. Try one of the latest nightly builds!

Changed in inkscape:
assignee: nobody → joel-airwebreathe
status: In Progress → Fix Committed
jazzynico (jazzynico)
Changed in inkscape:
milestone: none → 0.47
ScislaC (scislac)
Changed in inkscape:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.