private async void CameraPlus_ExportButton_Click(object sender, RoutedEventArgs e)
        {
            await Globals.Client?.SendCommandWaitAsync(new PipeCommands.ExportCameraPlus {
            }, r =>
            {
                var d = (PipeCommands.ReturnExportCameraPlus)r;
                Dispatcher.Invoke(() =>
                {
                    Globals.LoadCommonSettings();
                    var ofd              = new OpenFileDialog();
                    ofd.Filter           = "cameraplus.cfg|cameraplus.cfg";
                    ofd.Title            = "Select cameraplus.cfg";
                    ofd.FileName         = "cameraplus.cfg";
                    ofd.InitialDirectory = Globals.ExistDirectoryOrNull(Globals.CurrentCommonSettingsWPF.CurrentPathOnCameraPlusFileDialog);

                    if (ofd.ShowDialog() == true)
                    {
                        var culture = System.Globalization.CultureInfo.InvariantCulture;
                        var format  = culture.NumberFormat;
                        var lines   = File.ReadAllLines(ofd.FileName);
                        for (int i = 0; i < lines.Length; i++)
                        {
                            if (lines[i].StartsWith("posx"))
                            {
                                lines[i] = $"posx=" + d.x.ToString("G", format);
                            }
                            if (lines[i].StartsWith("posy"))
                            {
                                lines[i] = $"posy=" + d.y.ToString("G", format);
                            }
                            if (lines[i].StartsWith("posz"))
                            {
                                lines[i] = $"posz=" + d.z.ToString("G", format);
                            }
                            if (lines[i].StartsWith("angx"))
                            {
                                lines[i] = $"angx=" + d.rx.ToString("G", format);
                            }
                            if (lines[i].StartsWith("angy"))
                            {
                                lines[i] = $"angy=" + d.ry.ToString("G", format);
                            }
                            if (lines[i].StartsWith("angz"))
                            {
                                lines[i] = $"angz=" + d.rz.ToString("G", format);
                            }
                            if (lines[i].StartsWith("fov"))
                            {
                                lines[i] = $"fov=" + d.fov.ToString("G", format);
                            }
                        }
                        File.WriteAllLines(ofd.FileName, lines);

                        if (Globals.CurrentCommonSettingsWPF.CurrentPathOnCameraPlusFileDialog != System.IO.Path.GetDirectoryName(ofd.FileName))
                        {
                            Globals.CurrentCommonSettingsWPF.CurrentPathOnCameraPlusFileDialog = System.IO.Path.GetDirectoryName(ofd.FileName);
                            Globals.SaveCommonSettings();
                        }
                    }
                });
            });
        }