Dialogs do not appear on same monitor as app OSX

Bug #1715461 reported by Richard Arens
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
Low
Unassigned

Bug Description

This happens for almost every dialog in every app in the Mac KiCad suite. This is a huge problem when using multiple monitors.

Steps to reproduce:
1.) Open a schematic or pcb.
2.) Click on a component and press e to edit some value.
3.) Close the edit dialog.
4.) Move the app to another monitor.
5.) Click another component and press e.

The dialog opens on the previous monitor. However it is invisible. In order to view the dialog you have to drag the app back to the previous monitor, and the dialog appears as a small sliver on the side of the screen. This is not isolated to the edit dialog.

Can dialogs please open on the monitor that the app is running?

Other info:
I have "Group windows by application" and "Displays have separate Spaces" selected in Mission Control preferences.

Please help! I love KiCad but this issue severely hinders my productivity.

Tags: mac monitors osx
Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

This also happens on windows (and I'm assuming linux). It is a bug in wxWidgets so I have no idea when it will get fixed.

Changed in kicad:
status: New → Triaged
importance: Undecided → Low
Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

I take that back, it appears to work just fine on windows using wxWidgets 3.0.3. This must only be an issue with the OSX port of wxWidgets. Since you didn't post the KiCad version information (found in the about dialog) with your patch, I have no idea which version of wxWidgets was used for your build.

Revision history for this message
Richard Arens (gamplod) wrote :

Thanks for looking at this. It severely hinders my productivity.

I have been using KiCad for about a year now, and it has been an issue with every version I've used; However, currently I'm using a nightly build 2017-09-02 rev 1fe91e6.

Revision history for this message
Wayne Stambaugh (stambaughw) wrote : Re: [Bug 1715461] Re: Dialogs do not appear on same monitor as app OSX

On 9/13/2017 1:24 PM, Richard Arens wrote:
> Thanks for looking at this. It severely hinders my productivity.

Actually, it's a bit more complicated than I thought. If you open a
dialog, the position of the dialog is remembered and will always open in
the same monitor as the first time it was launched irregardless of which
monitor the parent window is located. In other words as long as you do
not move the parent window first, the dialog will open on the correct
display (at least on windows, osx may be different). If you
subsequently move the parent window, the dialog will show up on the last
position that it was shown. This is by design so I guess we the first
thing we have to determine is if we want to change that behavior and
make the dialog track the parent.

>
> I have been using KiCad for about a year now, and it has been an issue
> with every version I've used; However, currently I'm using a nightly
> build 2017-09-02 rev 1fe91e6.
>

This not the correct version information. Open the about dialog in the
help menu. Click the "Copy Version Info" button and paste the results
into the bug report. This gives KiCad developers a clearer picture of
how the version of KiCad you are using was built.

Revision history for this message
Richard Arens (gamplod) wrote :

Thanks again.
To be honest I wouldn't mind if the dialog opened on another monitor I just want it to be visible when it does. I use a 3 monitor setup and am constantly shifting things around. Dragging an application all over my desktop so I can locate where a dialog opened is a real headache.

Here is my correct version info:

Application: kicad
Version: (2017-09-02 revision 1fe91e6)-master, release build
Libraries:
    wxWidgets 3.0.2
    libcurl/7.51.0 SecureTransport zlib/1.2.8
Platform: Mac OS X (Darwin 16.4.0 x86_64), 64 bit, Little endian, wxMac
Build Info:
    wxWidgets: 3.0.2 (UTF-8,STL containers,compatible with 2.8)
    Boost: 1.61.0
    Curl: 7.43.0
    Compiler: Clang 7.3.0 with C++ ABI 1002

Build settings:
    USE_WX_GRAPHICS_CONTEXT=ON
    USE_WX_OVERLAY=ON
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_SPICE=ON

Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

Unless osx behaves differently than most window managers, the dialog
will be on top of all other windows as long as the parent window has the
focus when the dialog is shown. That doesn't prevent you from dragging
another window over top of the dialog. AFAIK, there is nothing we can
do about that.

The fix to always force the dialog to show on the same display that the
parent window is displayed is fairly trivial. I just have to confirm if
that is the desired behavior or whether or not to make it an option.
Some users may prefer there dialogs to show where they last placed them.

On 9/13/2017 2:00 PM, Richard Arens wrote:
> Thanks again.
> To be honest I wouldn't mind if the dialog opened on another monitor I just want it to be visible when it does. I use a 3 monitor setup and am constantly shifting things around. Dragging an application all over my desktop so I can locate where a dialog opened is a real headache.
>
> Here is my correct version info:
>
> Application: kicad
> Version: (2017-09-02 revision 1fe91e6)-master, release build
> Libraries:
> wxWidgets 3.0.2
> libcurl/7.51.0 SecureTransport zlib/1.2.8
> Platform: Mac OS X (Darwin 16.4.0 x86_64), 64 bit, Little endian, wxMac
> Build Info:
> wxWidgets: 3.0.2 (UTF-8,STL containers,compatible with 2.8)
> Boost: 1.61.0
> Curl: 7.43.0
> Compiler: Clang 7.3.0 with C++ ABI 1002
>
> Build settings:
> USE_WX_GRAPHICS_CONTEXT=ON
> USE_WX_OVERLAY=ON
> KICAD_SCRIPTING=ON
> KICAD_SCRIPTING_MODULES=ON
> KICAD_SCRIPTING_WXPYTHON=ON
> KICAD_SCRIPTING_ACTION_MENU=ON
> BUILD_GITHUB_PLUGIN=ON
> KICAD_USE_OCE=ON
> KICAD_SPICE=ON
>

Revision history for this message
Hildo Guillardi Júnior (hildogjr) wrote :

At Ubuntu 16.04 I have some related issues
https://bugs.launchpad.net/kicad/+bug/1728694

Mainly with different resolutions between the monitors.

Revision history for this message
Nick Østergaard (nickoe) wrote :

Is this bug still relevant? I think some improvements have bene made in this area recently.

Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

I just tested this on windows and it does appear to be fixed. To confirm, I open several dialogs in both the schematic and board editors on my primary monitor then moved the main frame windows to my laptop monitor. I unplugged the primary monitor and all of the dialogs that were previously opened where opened correctly. If I leave the primary monitor plugged in and move the mainframe window to my laptop monitor, the dialogs continue to open in my primary monitor. I'm not sure that this is exactly the desired behavior but the dialog is always visible.

Revision history for this message
Floyd Masukawa (loachman33) wrote :

This appears to be solved (version info below).

Thanks!
Floyd Masukawa
<email address hidden>

——————— Version Info ———————

Application: kicad
Version: (5.0.1-3-g963ef8bb5), release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.54.0 LibreSSL/2.6.4 zlib/1.2.11 nghttp2/1.24.1
Platform: Mac OS X (Darwin 18.2.0 x86_64), 64 bit, Little endian, wxMac
Build Info:
    wxWidgets: 3.0.4 (UTF-8,STL containers,compatible with 2.8)
    Boost: 1.67.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.54.0
    Compiler: Clang 10.0.0 with C++ ABI 1002

Build settings:
    USE_WX_GRAPHICS_CONTEXT=ON
    USE_WX_OVERLAY=ON
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON

> On 26 Nov 2018, at 06:42, Wayne Stambaugh <email address hidden> wrote:
>
> I just tested this on windows and it does appear to be fixed. To
> confirm, I open several dialogs in both the schematic and board editors
> on my primary monitor then moved the main frame windows to my laptop
> monitor. I unplugged the primary monitor and all of the dialogs that
> were previously opened where opened correctly. If I leave the primary
> monitor plugged in and move the mainframe window to my laptop monitor,
> the dialogs continue to open in my primary monitor. I'm not sure that
> this is exactly the desired behavior but the dialog is always visible.
>
> --
> You received this bug notification because you are subscribed to a
> duplicate bug report (1711222).
> https://bugs.launchpad.net/bugs/1715461
>
> Title:
> Dialogs do not appear on same monitor as app OSX
>
> Status in KiCad:
> Triaged
>
> Bug description:
> This happens for almost every dialog in every app in the Mac KiCad
> suite. This is a huge problem when using multiple monitors.
>
> Steps to reproduce:
> 1.) Open a schematic or pcb.
> 2.) Click on a component and press e to edit some value.
> 3.) Close the edit dialog.
> 4.) Move the app to another monitor.
> 5.) Click another component and press e.
>
> The dialog opens on the previous monitor. However it is invisible.
> In order to view the dialog you have to drag the app back to the
> previous monitor, and the dialog appears as a small sliver on the side
> of the screen. This is not isolated to the edit dialog.
>
> Can dialogs please open on the monitor that the app is running?
>
> Other info:
> I have "Group windows by application" and "Displays have separate Spaces" selected in Mission Control preferences.
>
> Please help! I love KiCad but this issue severely hinders my
> productivity.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/kicad/+bug/1715461/+subscriptions

Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

I'm going to mark this as fix released since it appears that it has been fixed in the current stable released.

Changed in kicad:
status: Triaged → 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.