diff --git a/common/eda_base_frame.cpp b/common/eda_base_frame.cpp
index 6e547832e6..d2d40e512f 100644
--- a/common/eda_base_frame.cpp
+++ b/common/eda_base_frame.cpp
@@ -60,11 +60,29 @@ wxDEFINE_EVENT( UNITS_CHANGED, wxCommandEvent );
// Minimum window size
-static const int s_minsize_x = 500;
-static const int s_minsize_y = 400;
+static const wxSize minSize( FRAME_T aFrameType )
+{
+ switch( aFrameType )
+ {
+ case KICAD_MAIN_FRAME_T:
+ return wxSize( 406, 354 );
-static const int s_defaultSize_x = 1280;
-static const int s_defaultSize_y = 720;
+ default:
+ return wxSize( 500, 400 );
+ }
+}
+
+static const wxSize defaultSize( FRAME_T aFrameType )
+{
+ switch( aFrameType )
+ {
+ case KICAD_MAIN_FRAME_T:
+ return wxSize( 850, 540 );
+
+ default:
+ return wxSize( 1280, 720 );
+ }
+}
BEGIN_EVENT_TABLE( EDA_BASE_FRAME, wxFrame )
@@ -100,14 +118,14 @@ EDA_BASE_FRAME::EDA_BASE_FRAME( wxWindow* aParent, FRAME_T aFrameType,
{
m_autoSaveTimer = new wxTimer( this, ID_AUTO_SAVE_TIMER );
m_mruPath = PATHS::GetDefaultUserProjectsPath();
- m_frameSize = wxSize( s_defaultSize_x, s_defaultSize_y );
+ m_frameSize = defaultSize( aFrameType );
m_auimgr.SetArtProvider( new WX_AUI_DOCK_ART() );
m_settingsManager = &Pgm().GetSettingsManager();
// Set a reasonable minimal size for the frame
- SetSizeHints( s_minsize_x, s_minsize_y, -1, -1, -1, -1 );
+ SetSizeHints( minSize( aFrameType ).x, minSize( aFrameType ).y, -1, -1, -1, -1 );
// Store dimensions of the user area of the main window.
GetClientSize( &m_frameSize.x, &m_frameSize.y );
@@ -464,11 +482,10 @@ void EDA_BASE_FRAME::LoadWindowState( const WINDOW_STATE& aState )
m_framePos.x, m_framePos.y, m_frameSize.x, m_frameSize.y );
// Ensure minimum size is set if the stored config was zero-initialized
- if( m_frameSize.x < s_minsize_x || m_frameSize.y < s_minsize_y )
+ if( m_frameSize.x < minSize( m_ident ).x || m_frameSize.y < minSize( m_ident ).y )
{
- m_frameSize.x = s_defaultSize_x;
- m_frameSize.y = s_defaultSize_y;
- wasDefault = true;
+ m_frameSize = defaultSize( m_ident );
+ wasDefault = true;
wxLogTrace( traceDisplayLocation, "Using minimum size (%d, %d)", m_frameSize.x, m_frameSize.y );
}
diff --git a/kicad/dialogs/panel_kicad_launcher.cpp b/kicad/dialogs/panel_kicad_launcher.cpp
index 9ddc8e5db6..b50851c6a6 100644
--- a/kicad/dialogs/panel_kicad_launcher.cpp
+++ b/kicad/dialogs/panel_kicad_launcher.cpp
@@ -27,7 +27,7 @@
#ifdef __WXMAC__
-constexpr int ICON_PADDING = 5;
+constexpr int ICON_PADDING = 4;
constexpr int CELL_MARGINS = 0;
#else
constexpr int ICON_PADDING = 5;
diff --git a/kicad/dialogs/panel_kicad_launcher_base.cpp b/kicad/dialogs/panel_kicad_launcher_base.cpp
index 2353d6db08..d0288c4320 100644
--- a/kicad/dialogs/panel_kicad_launcher_base.cpp
+++ b/kicad/dialogs/panel_kicad_launcher_base.cpp
@@ -16,7 +16,7 @@ PANEL_KICAD_LAUNCHER_BASE::PANEL_KICAD_LAUNCHER_BASE( wxWindow* parent, wxWindow
m_mainSizer = new wxBoxSizer( wxVERTICAL );
- m_toolsSizer = new wxGridBagSizer( 0, 12 );
+ m_toolsSizer = new wxGridBagSizer( 0, 10 );
m_toolsSizer->SetFlexibleDirection( wxHORIZONTAL );
m_toolsSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_NONE );
@@ -27,7 +27,7 @@ PANEL_KICAD_LAUNCHER_BASE::PANEL_KICAD_LAUNCHER_BASE( wxWindow* parent, wxWindow
m_mainSizer->Add( 0, 20, 0, wxEXPAND, 5 );
- bSizer2->Add( m_mainSizer, 1, wxEXPAND|wxTOP|wxLEFT, 10 );
+ bSizer2->Add( m_mainSizer, 1, wxEXPAND|wxTOP|wxLEFT, 8 );
this->SetSizer( bSizer2 );
diff --git a/kicad/dialogs/panel_kicad_launcher_base.fbp b/kicad/dialogs/panel_kicad_launcher_base.fbp
index f7cfda0c6d..eb5f738e56 100644
--- a/kicad/dialogs/panel_kicad_launcher_base.fbp
+++ b/kicad/dialogs/panel_kicad_launcher_base.fbp
@@ -55,7 +55,7 @@
wxVERTICAL
none