Main display covering application window at program start
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenLP |
Fix Released
|
Medium
|
Jonathan Corwin |
Bug Description
I'm just adding this bug since there seem to be a few inconsistencies or issues regarding starting up OpenLP and how the MainDisplay is displayed on a _single_ monitor system. For the purposes of this bug, I'm ignoring the "Override" setting.
For example on Windows, I never get the MainDisplay shown, even if I go live on a song and the display is not set to blank. It will only display once I've clicked the blank screen button. The "Display if a single screen" appears to make no difference in this.
On Linux I've noticed that I always seem to get the MainDisplay window appearing, even at startup. The Esc bug makes it difficult to investigate further, although Wesley states that the "Display if a single screen" button does work for him. Now this might just be me. Note that if the "Display if a single screen" setting affects this, we need to ensure the default is the most friendliest for the first time user.
It might already be the intent of the code, and on Windows it appears to be the case, but I don't think the MainDisplay initial logo screen should ever be displayed at startup if it happens to be on the same monitor as the application window.
Related branches
- Tim Bentley: Approve
- Andreas Preikschat: Pending requested
-
Diff: 89 lines (+30/-2)4 files modifiedopenlp/core/ui/firsttimeform.py (+2/-0)
openlp/core/ui/maindisplay.py (+10/-0)
openlp/core/ui/screen.py (+15/-0)
openlp/core/ui/slidecontroller.py (+3/-2)
tags: |
added: maindisplay-usability removed: maindisplay |
Changed in openlp: | |
milestone: | none → 1.9.9 |
status: | New → Confirmed |
Changed in openlp: | |
assignee: | nobody → Jonathan Corwin (j-corwin) |
status: | Confirmed → Fix Committed |
Changed in openlp: | |
status: | Fix Committed → Fix Released |
Currently it seems that the actual number of available screens affects the behaviour:
(core/ui/ maindisplay. py)
if self.isLive:
self. hideDisplay( self.hideMode) display_ count == 1:
# Only make visible if setting enabled
if QtCore. QSettings( ).value( u'general/ display on monitor',
QtCore. QVariant( True)). toBool( ):
self. setVisible( True)
else:
self. setVisible( True)
if self.hideMode:
else:
# Single screen active
if self.screens.