Index: interface.cpp
===================================================================
--- interface.cpp	(revision 12729)
+++ interface.cpp	(working copy)
@@ -329,6 +329,20 @@

     if( ws->GetSettings( WindowSettings::ID_MAIN, b_shown, p, s ) )
         Move( p );
+
+    /* set minimum window size to prevent user from glitching it -ticket 
360 */
+    s = GetSize();
+    if( config_GetInt( p_intf, "wx-embed" ) )
+    {
+        wxSize  s2;
+        s2 = video_window->GetSize();
+        s.SetHeight( s.GetHeight() - s2.GetHeight() );
+    }
+    SetMinSize( s );
+
+    /* show the extra panel if opted -ticket 232 */
+    if( ( b_extra = config_GetInt( p_intf, "wx-extended" ) ) )
+        frame_sizer->Show( extra_frame );
}

Interface::~Interface()
@@ -358,7 +372,9 @@
void Interface::Init()
{
     /* Misc init */
-    SetupHotkeys();
+    //SetupHotkeys();
+    /* this was already called in the constructor above,
+    should it be HERE instead, after the constructor?.. zcot */
}

void Interface::Update()
@@ -472,6 +488,25 @@
#endif
#endif
     }
+#if defined(WIN32)
+    /* Find out size of msw menu bar */
+    i_size = 0;
+    SIZE sizing;
+    HDC hdc = GetDC( NULL );
+    for( unsigned int i = 0; i < menubar->GetMenuCount(); i++ )
+    {
+        //                [ MENU BUTTON WIDTH CALCULATION ]
+        // [ SM_CXDLGFRAME + pixels + textextent + pixels + SM_CXDLGFRAME ]
+        GetTextExtentPoint32( hdc, menubar->GetLabelTop(i),
+                                        strlen( menubar->GetLabelTop(i) ), 
&sizing );
+        i_size += sizing.cx;                             // + text size..
+        i_size += 2;                                     // + 1 more pixel 
on each side..
+        i_size += GetSystemMetrics( SM_CXDLGFRAME ) * 2; // + width of 2 
DLGFRAME
+    }
+    ReleaseDC( NULL, hdc );
+    i_size += GetSystemMetrics( SM_CXSIZEFRAME ) * 2;    // + width of 2 
edges of app window
+    i_size += 4;                                         // + 2 more pixels 
on each side..
+#endif
     frame_sizer->SetMinSize( i_size, -1 );

     /* Intercept all menu events in our custom event handler */
@@ -535,11 +570,14 @@
                       wxU(_(HELP_PLO)) );
     }

+    /* fixes ticket 289, there is no real formatting(justification) anyway 
*/
+#if !( (wxMAJOR_VERSION <= 2) && (wxMINOR_VERSION <= 6) && 
(wxRELEASE_NUMBER < 2) )
     wxControl *p_dummy_ctrl =
         new wxControl( toolbar, -1, wxDefaultPosition,
                        wxSize(35, 16 ), wxBORDER_NONE );

     toolbar->AddControl( p_dummy_ctrl );
+#endif

     volctrl = new VLCVolCtrl( p_intf, toolbar );
     toolbar->AddControl( volctrl );
Index: wxwidgets.cpp
===================================================================
--- wxwidgets.cpp	(revision 12729)
+++ wxwidgets.cpp	(working copy)
@@ -93,6 +93,8 @@
#define TASKBAR_LONGTEXT N_("Show taskbar entry")
#define MINIMAL_TEXT N_("Minimal interface")
#define MINIMAL_LONGTEXT N_("Use minimal interface, no toolbar, few menus")
+#define EXTENDED_TEXT N_("Show extended GUI")
+#define EXTENDED_LONGTEXT N_("Show extended GUI")
#define SIZE_TO_VIDEO_TEXT N_("Size to video")
#define SIZE_TO_VIDEO_LONGTEXT N_("Resize VLC to match the video 
resolution")
#define SYSTRAY_TEXT N_("Show systray icon")
@@ -128,6 +130,8 @@
     add_bool( "wx-minimal", 0, NULL,
               MINIMAL_TEXT, MINIMAL_LONGTEXT, VLC_TRUE );
     add_deprecated( "wxwin-minimal", VLC_FALSE); /*Deprecated since 0.8.4*/
+    add_bool( "wx-extended", 0, NULL,
+              EXTENDED_TEXT, EXTENDED_LONGTEXT, VLC_FALSE );
     add_bool( "wx-autosize", 1, NULL,
               SIZE_TO_VIDEO_TEXT, SIZE_TO_VIDEO_LONGTEXT, VLC_TRUE );
     add_deprecated( "wxwin-autosize", VLC_FALSE); /*Deprecated since 
0.8.4*/

