private void Timer_Tick(object sender, EventArgs e)
        {
            Queue <string> localmsgs = new Queue <string>();

            lock (msglocker)
            {
                while (msgs.Count > 0 && localmsgs.Count < 6)
                {
                    localmsgs.Enqueue(msgs.Dequeue());
                }
            }

            if (localmsgs.Count > 0)
            {
                Messager.Dispatcher.BeginInvoke(DispatcherPriority.Render, new Action(() =>
                {
                    while (localmsgs.Count > 0)
                    {
                        Messager.AppendText(localmsgs.Dequeue());
                    }
                    Messager.ScrollToEnd();
                }));
            }
        }