Opened 17 years ago

Closed 13 years ago

#440 closed enhancement (invalid)

Don't display the qgis window on a second monitor that isn't present

Reported by: fosnight@… Owned by: telwertowski
Priority: major: does not work as expected Milestone: Version 1.5.0
Component: GUI Version: Trunk
Keywords: extended desktop multi-head Cc:
Must Fix for Release: No Platform: All
Platform Version: Awaiting user input: no


I use a Powerbook G4 running Mac OS 10.4.8 with a 2nd monitor at work, but frequently use the Powerbook at home and on travel without the second monitor. If QGIS is used with an extended Desktop with the QGIS window open in the 2nd monitor, when I next use QGIS without the second monitor QGIS does not seem to realize that the 2nd monitor is no longer available. I was not able to get QGIS to open a window on the Powerbook monitor.

Change History (12)

comment:1 by gsherman, 17 years ago

Resolution: wontfix
Status: newclosed

QGIS stores the window geometry (position and size) on exit and restores it the next time you run it. It has no way of knowing about your monitor configuration and blindly (no pun intended) restores the last used position. I've seen this happen with other applications that go from a dual monitor setup to a single monitor.

The only work around at this point is to edit your QGIS preferences and delete the geometry so it will start up in a default position. You can find the preferences in ~/Library/Preferences/org.qgis.qgis.plist. Edit Geometry.x and Geometry.y to a sane value for the Powerbook (eg. 50,50).

comment:2 by anonymous, 17 years ago

Keywords: multi-head added
Milestone: Version 0.8 ReleaseVersion 0.9 Release
Must Fix for Release: YesNo
Platform: OS XAll
Platform Version: Mac OS X 10.4.8
Resolution: wontfix
Status: closedreopened
Summary: extended Desktop on Mac OS X 10.4.8Don't display the qgis window on a second monitor that isn't present
Type: bugenhancement
Version: 0.8HEAD

Qt provides the class QDesktopWidget, which provides access to screen information on multi-head systems. This would allow qgis to deal better with moving from a multi-head display to a single-head display. I'd call this an enhancement for a future version.

comment:3 by telwertowski, 17 years ago

Owner: changed from gsherman to telwertowski
Status: reopenednew

Qt 4.2 provides new QWidget methods saveGeometry and restoreGeometry which will adjust geometry if the saved location is not visible. The only drawback to using these methods is that a binary object rather than user editable coordinates are stored in the preferences file.

comment:4 by telwertowski, 16 years ago

Awaiting user input: unset
Resolution: fixed
Status: newclosed

Fixed by r7696.

comment:5 by LarsSt, 16 years ago

Resolution: fixed
Status: closedreopened

problem still exists for toolbars. If the toolbar is placed on a second screen it is 'lost' if this monitor is disconnected. To switch the toolbar off and on again does not fix this problem. (MacOS 10.5.2 / QGIS 0.10)

comment:6 by telwertowski, 16 years ago

The lost toolbar is a Qt bug. I have submitted a report to Trolltech.

If you have Apple's Developer Tools installed, you can recover the toolbar by using the Property List Editor to delete the UI.state property in ~/Library/Preferences/org.qgis.qgis.plist

You can also delete the plist file but you will loose all qgis settings.

comment:7 by telwertowski, 16 years ago

The Trolltech Task Tracker entry for this bug is 211712.

comment:8 by timlinux, 15 years ago

Reviewed the bug on trolltech tracker...the issue still seems to be pending.

comment:9 by pcav, 15 years ago

It seems a problem outside QGIS reach: now thet it has been forwarded upstream, better closing it here?

comment:10 by pcav, 14 years ago

Component: GraphicsGUI

comment:11 by lutra, 14 years ago

Milestone: Version 1.0.3Version 1.4.0

The ticket on the qt bug tracker has been closed: expired (Scheduled for? Some future release).

Better closing this?

comment:12 by pcav, 13 years ago

Resolution: invalid
Status: reopenedclosed
Note: See TracTickets for help on using tickets.