void CodeToolWindow_WindowShow(object sender, EventArgs e)
        {
            if (shutting_down)
            {
                return;
            }
            if (OnAir == false && CodeRush.TextViews.Active != null)
            {
                EnvDTE.Window wnd = null;
                try
                {
                    wnd = this.Window; // CodeRush.ToolWindows.Show(typeof(CodeToolWindow));
                    if (wnd != null && wnd.IsFloating)
                    {
                        //wnd.Visible = true;
                        //wnd.IsFloating = true;
                        EnvDTE.Window prop_wnd = CodeRush.ApplicationObject.Windows.Item(EnvDTE.Constants.vsWindowKindProperties);
                        if (prop_wnd == null)
                        {
                            return;
                        }

                        wnd.Width  = 60;
                        wnd.Top    = prop_wnd.Top;    // ea.TextView.ScreenBounds.Top;
                        wnd.Height = prop_wnd.Height; // ea.TextView.ScreenBounds.Height;
                        wnd.Left   = prop_wnd.Left;   // +code_wnd.Width + 1; // ea.TextView.ScreenBounds.Right - wnd.Width;

                        //wnd.IsFloating = false;
                        if (false) //(prop_wnd != null && prop_wnd.Linkable && prop_wnd.LinkedWindowFrame != null && prop_wnd.LinkedWindowFrame.LinkedWindows != null)
                        {
                            //var frame = wnd.DTE.Windows.CreateLinkedWindowFrame(wnd, prop_wnd, EnvDTE.vsLinkedWindowType.vsLinkedWindowTypeVertical);
                            prop_wnd.LinkedWindowFrame.LinkedWindows.Add(wnd);
                        }
                        else
                        {
                            int width  = prop_wnd.Width + 60;
                            int height = prop_wnd.Height;
                            prop_wnd.LinkedWindowFrame.LinkedWindows.Remove(prop_wnd);
                            //prop_wnd.IsFloating = true;
                            EnvDTE80.Window2 Frame = (EnvDTE80.Window2)CodeRush.ApplicationObject.Windows.CreateLinkedWindowFrame(wnd, prop_wnd,
                                                                                                                                  EnvDTE.vsLinkedWindowType.vsLinkedWindowTypeVertical);
                            Frame.Caption = "Properties && Code";

                            Frame.SetKind(EnvDTE.vsWindowType.vsWindowTypeToolWindow);
                            Frame.Width  = width;
                            Frame.Height = height;
                            EnvDTE.Window main_wnd = ((EnvDTE80.DTE2)CodeRush.ApplicationObject).MainWindow;
                            //EnvDTE.Window main_wnd = CodeRush.ApplicationObject.Windows.Item(EnvDTE.Constants.vsWindowKindDocumentOutline);
                            //main_wnd.LinkedWindowFrame.LinkedWindows.Add(Frame);
                            main_wnd.LinkedWindows.Add(Frame);
                        }

                        OnAir = true;
                    }
                }
                catch
                {
                }
            }
        }