diff --git a/clientgui/AdvancedFrame.cpp b/clientgui/AdvancedFrame.cpp index bd9974d58c..d4bb090bbe 100644 --- a/clientgui/AdvancedFrame.cpp +++ b/clientgui/AdvancedFrame.cpp @@ -1014,10 +1014,9 @@ void CAdvancedFrame::SaveWindowDimensions() { #ifdef __WXMAC__ // We don't call Hide() or Show(false) for the main frame // under wxCocoa 2.9.5 because it bounces the Dock icon - // (as in notification.) We work around this by moving - // the main window/frame off screen when displaying the - // CDlgAbout modal dialog while the main window is hidden - // by CTaskBarIcon::OnAbout(). + // (as in notification) when we click on our menu bar icon. + // We work around this by moving the main window/frame off + // screen when needed. pos = GetOnScreenFramePosition(); #endif diff --git a/clientgui/BOINCBaseFrame.cpp b/clientgui/BOINCBaseFrame.cpp index a008483367..9918bb92ff 100644 --- a/clientgui/BOINCBaseFrame.cpp +++ b/clientgui/BOINCBaseFrame.cpp @@ -319,6 +319,7 @@ void CBOINCBaseFrame::OnClose(wxCloseEvent& event) { #elif defined(__WXMAC__) // Don't call Hide() or Show(false) under wxCocoa 2.9.5 // because it bounces the Dock icon (as in notification) + // when we click on our menu bar icon. wxGetApp().ShowApplication(false); #else Hide(); @@ -896,8 +897,9 @@ bool CBOINCBaseFrame::Show(bool bShow) { // We don't call Hide() or Show(false) for the main frame // under wxCocoa 2.9.5 because it bounces the Dock icon -// (as in notification.) We work around this by moving -// the main window/frame off screen when needed. +// (as in notification) when we click on our menu bar icon. +// We work around this by moving the main window/frame off +// screen when needed. // The position will be restored in one of these methods: // CBOINCGUIApp::OnActivateApp(), CSimpleFrame::SaveState() // or CAdvancedFrame::SaveWindowDimensions(). diff --git a/clientgui/BOINCGUIApp.cpp b/clientgui/BOINCGUIApp.cpp index 29b5f28137..ac356d78fa 100644 --- a/clientgui/BOINCGUIApp.cpp +++ b/clientgui/BOINCGUIApp.cpp @@ -470,8 +470,9 @@ bool CBOINCGUIApp::OnInit() { #ifdef __WXMAC__ // We don't call Hide() or Show(false) for the main frame // under wxCocoa 2.9.5 because it bounces the Dock icon - // (as in notification.) We work around this by moving - // the main window/frame off screen here. + // (as in notification) when we click on our menu bar icon. + // We work around this by moving the main window/frame off + // screen here. // The position will be restored in one of these methods: // CBOINCGUIApp::OnActivateApp(), CSimpleFrame::SaveState() // or CAdvancedFrame::SaveWindowDimensions(). @@ -479,6 +480,8 @@ bool CBOINCGUIApp::OnInit() { m_pFrame->MoveFrameOffScreen(); m_pFrame->Show(); } + // Force BOINC Manager to background (needed on OS 10.9) + system("osascript -e 'tell application \"Finder\" to activate'"); #endif ShowApplication(false); } @@ -839,10 +842,9 @@ void CBOINCGUIApp::OnActivateApp(wxActivateEvent& event) { #ifdef __WXMAC__ // We don't call Hide() or Show(false) for the main frame // under wxCocoa 2.9.5 because it bounces the Dock icon - // (as in notification.) We work around this by moving - // the main window/frame off screen when displaying the - // CDlgAbout modal dialog while the main window is hidden - // by CTaskBarIcon::OnAbout(). + // (as in notification) when we click on our menu bar icon. + // We work around this by moving the main window/frame off + // screen when needed. if (m_pFrame) { if (event.GetActive()) { if (!m_bAboutDialogIsOpen) { diff --git a/clientgui/BOINCTaskBar.cpp b/clientgui/BOINCTaskBar.cpp index 591e05fa77..a792e0a6f6 100644 --- a/clientgui/BOINCTaskBar.cpp +++ b/clientgui/BOINCTaskBar.cpp @@ -259,9 +259,10 @@ void CTaskBarIcon::OnAbout(wxCommandEvent& WXUNUSED(event)) { // We don't call Hide() or Show(false) for the main frame // under wxCocoa 2.9.5 because it bounces the Dock icon - // (as in notification.) We work around this by moving - // the main window/frame off screen when displaying the - // CDlgAbout modal dialog while the main window is hidden. + // (as in notification) when we click on our menu bar icon. + // We work around this by moving the main window/frame off + // screen when displaying the CDlgAbout modal dialog while + // the main window is hidden. // The position will be restored in one of these methods: // CBOINCGUIApp::OnActivateApp(), CSimpleFrame::SaveState() // or CAdvancedFrame::SaveWindowDimensions(). diff --git a/clientgui/sg_BoincSimpleFrame.cpp b/clientgui/sg_BoincSimpleFrame.cpp index 17107e116a..887cf7cd49 100755 --- a/clientgui/sg_BoincSimpleFrame.cpp +++ b/clientgui/sg_BoincSimpleFrame.cpp @@ -321,10 +321,12 @@ bool CSimpleFrame::SaveState() { #ifdef __WXMAC__ // We don't call Hide() or Show(false) for the main frame // under wxCocoa 2.9.5 because it bounces the Dock icon - // (as in notification.) We work around this by moving - // the main window/frame off screen when displaying the - // CDlgAbout modal dialog while the main window is hidden - // by CTaskBarIcon::OnAbout(). + // (as in notification) when we click on our menu bar icon. + // We work around this by moving the main window/frame off + // screen when needed. + // The position will be restored in one of these methods: + // CBOINCGUIApp::OnActivateApp(), CSimpleFrame::SaveState() + // or CAdvancedFrame::SaveWindowDimensions(). pos = GetOnScreenFramePosition(); #endif