public static void SaveConfiguration() { SteticMain.Configuration.WidgetLibraries.Clear(); SteticMain.Configuration.WidgetLibraries.AddRange(SteticApp.GetWidgetLibraries()); MainWindow.GetPosition(out Configuration.WindowX, out Configuration.WindowY); MainWindow.GetSize(out Configuration.WindowWidth, out Configuration.WindowHeight); Configuration.WindowState = MainWindow.GdkWindow.State; Configuration.ShowNonContainerWarning = SteticApp.ShowNonContainerWarning; string file = Path.Combine(SteticMain.ConfigDir, "configuration.xml"); try { if (!Directory.Exists(SteticMain.ConfigDir)) { Directory.CreateDirectory(SteticMain.ConfigDir); } using (StreamWriter sw = new StreamWriter(file)) { XmlSerializer ser = new XmlSerializer(typeof(Configuration)); ser.Serialize(sw, Configuration); } } catch (Exception ex) { // Ignore exceptions while writing the recents file Console.WriteLine(ex); } }