diff --git a/cinnamon.spec b/cinnamon.spec index f597541..3e9c681 100644 --- a/cinnamon.spec +++ b/cinnamon.spec @@ -8,7 +8,7 @@ Name: cinnamon Version: 2.6.13 -Release: 9%{?dist} +Release: 10%{?dist} Summary: Window management and application launching for GNOME License: GPLv2+ and LGPLv2+ URL: http://cinnamon.linuxmint.com @@ -48,6 +48,7 @@ Patch14: spice_refresh_fix.patch Patch15: 0001-Revert-Keyboard-applet-Show-text-when-layout-icon-is.patch Patch16: fix-Deprecation-Warning.patch Patch17: glib2_settings.patch +Patch18: deprecated-schema.patch %global clutter_version 1.12.2 %global cjs_version 2.6.2 @@ -286,6 +287,9 @@ fi %doc %{_datadir}/gtk-doc/html/*/ %changelog +* Wed Sep 09 2015 Leigh Scott - 2.6.13-10 +- fix deprecated schema warnings + * Fri Aug 28 2015 Leigh Scott - 2.6.13-9 - add patch to fix glib2 regression diff --git a/deprecated-schema.patch b/deprecated-schema.patch new file mode 100644 index 0000000..c47f619 --- /dev/null +++ b/deprecated-schema.patch @@ -0,0 +1,404 @@ +--- a/files/usr/share/cinnamon/applets/a11y@cinnamon.org/applet.js ++++ b/files/usr/share/cinnamon/applets/a11y@cinnamon.org/applet.js +@@ -93,7 +93,7 @@ MyApplet.prototype = { + this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + this.menu.addSettingsAction(_("Universal Access Settings"), 'universal-access'); + +- this.a11y_settings = new Gio.Settings({ schema: A11Y_SCHEMA }); ++ this.a11y_settings = new Gio.Settings({ schema_id: A11Y_SCHEMA }); + + this._keyboardStateChangedId = Keymap.connect('state-changed', Lang.bind(this, this._handleStateChange)); + this.set_applet_label(''); +@@ -166,7 +166,7 @@ MyApplet.prototype = { + }, + + _buildItem: function(string, schema, key) { +- let settings = new Gio.Settings({ schema: schema }); ++ let settings = new Gio.Settings({ schema_id: schema }); + let widget = this._buildItemExtended(string, + settings.get_boolean(key), + settings.is_writable(key), +@@ -180,7 +180,7 @@ MyApplet.prototype = { + }, + + _buildHCItem: function() { +- let settings = new Gio.Settings({ schema: DESKTOP_INTERFACE_SCHEMA }); ++ let settings = new Gio.Settings({ schema_id: DESKTOP_INTERFACE_SCHEMA }); + let gtkTheme = settings.get_string(KEY_GTK_THEME); + let iconTheme = settings.get_string(KEY_ICON_THEME); + let hasHC = (gtkTheme == HIGH_CONTRAST_THEME); +@@ -218,7 +218,7 @@ MyApplet.prototype = { + }, + + _buildFontItem: function() { +- let settings = new Gio.Settings({ schema: DESKTOP_INTERFACE_SCHEMA }); ++ let settings = new Gio.Settings({ schema_id: DESKTOP_INTERFACE_SCHEMA }); + + let factor = settings.get_double(KEY_TEXT_SCALING_FACTOR); + let initial_setting = (factor > 1.0); +--- a/files/usr/share/cinnamon/applets/calendar@cinnamon.org/calendar.js ++++ b/files/usr/share/cinnamon/applets/calendar@cinnamon.org/calendar.js +@@ -152,7 +152,7 @@ Calendar.prototype = { + this.settings = settings; + + this.settings.connect("changed::show-week-numbers", Lang.bind(this, this._onSettingsChange)); +- this.desktop_settings = new Gio.Settings({ schema: DESKTOP_SCHEMA }); ++ this.desktop_settings = new Gio.Settings({ schema_id: DESKTOP_SCHEMA }); + this.desktop_settings.connect("changed::" + FIRST_WEEKDAY_KEY, Lang.bind(this, this._onSettingsChange)); + this.show_week_numbers = this.settings.getValue("show-week-numbers"); + +--- a/files/usr/share/cinnamon/applets/inhibit@cinnamon.org/applet.js ++++ b/files/usr/share/cinnamon/applets/inhibit@cinnamon.org/applet.js +@@ -142,7 +142,7 @@ MyApplet.prototype = { + this.set_applet_icon_symbolic_name('inhibit'); + this.set_applet_tooltip(_("Inhibit applet")) + +- this.notif_settings = new Gio.Settings({ schema: "org.cinnamon.desktop.notifications" }) ++ this.notif_settings = new Gio.Settings({ schema_id: "org.cinnamon.desktop.notifications" }) + this.notificationsSwitch = new PopupMenu.PopupSwitchMenuItem(_("Notifications"), this.notif_settings.get_boolean("display-notifications")); + + this.notif_settings.connect('changed::display-notifications', Lang.bind(this, function() { +--- a/files/usr/share/cinnamon/applets/menu@cinnamon.org/applet.js ++++ b/files/usr/share/cinnamon/applets/menu@cinnamon.org/applet.js +@@ -1141,7 +1141,7 @@ MyApplet.prototype = { + this._appsWereRefreshed = false; + this._canUninstallApps = GLib.file_test("/usr/bin/cinnamon-remove-application", GLib.FileTest.EXISTS); + this.RecentManager = new DocInfo.DocManager(); +- this.privacy_settings = new Gio.Settings( {schema: PRIVACY_SCHEMA} ); ++ this.privacy_settings = new Gio.Settings( {schema_id: PRIVACY_SCHEMA} ); + this._display(); + appsys.connect('installed-changed', Lang.bind(this, this._refreshAll)); + AppFavorites.getAppFavorites().connect('changed', Lang.bind(this, this._refreshFavs)); +@@ -2042,7 +2042,7 @@ MyApplet.prototype = { + button.activate = Lang.bind(this, function() { + this.menu.close(); + +- let screensaver_settings = new Gio.Settings({ schema: "org.cinnamon.desktop.screensaver" }); ++ let screensaver_settings = new Gio.Settings({ schema_id: "org.cinnamon.desktop.screensaver" }); + let screensaver_dialog = Gio.file_new_for_path("/usr/bin/cinnamon-screensaver-command"); + if (screensaver_dialog.query_exists(null)) { + if (screensaver_settings.get_boolean("ask-for-away-message")) { +@@ -2218,7 +2218,7 @@ MyApplet.prototype = { + accessible_role: Atk.Role.LIST }); + this.applicationsScrollBox = new St.ScrollView({ x_fill: true, y_fill: false, y_align: St.Align.START, style_class: 'vfade menu-applications-scrollbox' }); + +- this.a11y_settings = new Gio.Settings({ schema: "org.cinnamon.desktop.a11y.applications" }); ++ this.a11y_settings = new Gio.Settings({ schema_id: "org.cinnamon.desktop.a11y.applications" }); + this.a11y_settings.connect("changed::screen-magnifier-enabled", Lang.bind(this, this._updateVFade)); + this._updateVFade(); + +--- a/files/usr/share/cinnamon/applets/notifications@cinnamon.org/applet.js ++++ b/files/usr/share/cinnamon/applets/notifications@cinnamon.org/applet.js +@@ -296,7 +296,7 @@ function stringify(count) { + } + + function timeify(orig_time) { +- let settings = new Gio.Settings({schema: 'org.cinnamon.desktop.interface'}); ++ let settings = new Gio.Settings({schema_id: 'org.cinnamon.desktop.interface'}); + let use_24h = settings.get_boolean('clock-use-24h'); + let now = new Date(); + let diff = Math.floor((now.getTime() - orig_time.getTime()) / 1000); // get diff in seconds +--- a/files/usr/share/cinnamon/applets/on-screen-keyboard@cinnamon.org/applet.js ++++ b/files/usr/share/cinnamon/applets/on-screen-keyboard@cinnamon.org/applet.js +@@ -24,7 +24,7 @@ MyApplet.prototype = { + + _init: function(metadata, orientation, panel_height, instanceId) { + Applet.IconApplet.prototype._init.call(this, orientation, panel_height, instanceId); +- this.settings = new Gio.Settings({ schema: 'org.cinnamon.desktop.a11y.applications' }); ++ this.settings = new Gio.Settings({ schema_id: 'org.cinnamon.desktop.a11y.applications' }); + this.settings.connect('changed::screen-keyboard-enabled', Lang.bind(this, this.update_status)); + this.update_status(); + }, +--- a/files/usr/share/cinnamon/applets/recent@cinnamon.org/applet.js ++++ b/files/usr/share/cinnamon/applets/recent@cinnamon.org/applet.js +@@ -48,7 +48,7 @@ MyApplet.prototype = { + this.menuManager.addMenu(this.menu); + + this.RecentManager = new DocInfo.DocManager(); +- this.privacy_settings = new Gio.Settings( {schema: PRIVACY_SCHEMA} ); ++ this.privacy_settings = new Gio.Settings( {schema_id: PRIVACY_SCHEMA} ); + + this._display(); + +--- a/files/usr/share/cinnamon/applets/slideshow@cinnamon.org/applet.js ++++ b/files/usr/share/cinnamon/applets/slideshow@cinnamon.org/applet.js +@@ -18,7 +18,7 @@ MyApplet.prototype = { + _init: function(metadata, orientation, panel_height, instanceId) { + Applet.IconApplet.prototype._init.call(this, orientation, panel_height, instanceId); + +- this._slideshowSettings = new Gio.Settings({ schema: 'org.cinnamon.desktop.background.slideshow' }); ++ this._slideshowSettings = new Gio.Settings({ schema_id: 'org.cinnamon.desktop.background.slideshow' }); + + try { + if (this._slideshowSettings.get_boolean("slideshow-enabled")) { +--- a/files/usr/share/cinnamon/applets/user@cinnamon.org/applet.js ++++ b/files/usr/share/cinnamon/applets/user@cinnamon.org/applet.js +@@ -76,7 +76,7 @@ MyApplet.prototype = { + + item = new PopupMenu.PopupIconMenuItem(_("Lock Screen"), "lock-screen", St.IconType.SYMBOLIC); + item.connect('activate', Lang.bind(this, function() { +- let screensaver_settings = new Gio.Settings({ schema: "org.cinnamon.desktop.screensaver" }); ++ let screensaver_settings = new Gio.Settings({ schema_id: "org.cinnamon.desktop.screensaver" }); + let screensaver_dialog = Gio.file_new_for_path("/usr/bin/cinnamon-screensaver-command"); + if (screensaver_dialog.query_exists(null)) { + if (screensaver_settings.get_boolean("ask-for-away-message")) { +--- a/files/usr/share/cinnamon/desklets/launcher@cinnamon.org/desklet.js ++++ b/files/usr/share/cinnamon/desklets/launcher@cinnamon.org/desklet.js +@@ -25,7 +25,7 @@ MyDesklet.prototype = { + + _init: function(metadata, desklet_id){ + Desklet.Desklet.prototype._init.call(this, metadata, desklet_id); +- this._launcherSettings = new Gio.Settings({schema: 'org.cinnamon.desklets.launcher'}); ++ this._launcherSettings = new Gio.Settings({schema_id: 'org.cinnamon.desklets.launcher'}); + + this._onSettingsChanged(); + this._removing = false; +--- a/js/ui/backgroundManager.js ++++ b/js/ui/backgroundManager.js +@@ -15,8 +15,8 @@ BackgroundManager.prototype = { + if (!schema.lookup("org.gnome.desktop.background", true)) + return + +- this._gnomeSettings = new Gio.Settings({ schema: "org.gnome.desktop.background" }); +- this._cinnamonSettings = new Gio.Settings({ schema: "org.cinnamon.desktop.background" }); ++ this._gnomeSettings = new Gio.Settings({ schema_id: "org.gnome.desktop.background" }); ++ this._cinnamonSettings = new Gio.Settings({ schema_id: "org.cinnamon.desktop.background" }); + + this._string_keys = ["color-shading-type", "picture-options", "picture-uri", "primary-color", "secondary-color"]; + this._string_values = []; +--- a/js/ui/keybindings.js ++++ b/js/ui/keybindings.js +@@ -44,7 +44,7 @@ KeybindingManager.prototype = { + this.setup_custom_keybindings(); + this.kb_schema.connect("changed::custom-list", Lang.bind(this, this.on_customs_changed)); + +- this.media_key_settings = new Gio.Settings({ schema: MEDIA_KEYS_SCHEMA }); ++ this.media_key_settings = new Gio.Settings({ schema_id: MEDIA_KEYS_SCHEMA }); + this.media_key_settings.connect("changed", Lang.bind(this, this.setup_media_keys)); + this.setup_media_keys(); + }, +--- a/js/ui/keyboard.js ++++ b/js/ui/keyboard.js +@@ -180,9 +180,9 @@ Keyboard.prototype = { + this._timestamp = global.display.get_current_time_roundtrip(); + Main.layoutManager.connect('monitors-changed', Lang.bind(this, this._redraw)); + +- this._keyboardSettings = new Gio.Settings({ schema: KEYBOARD_SCHEMA }); ++ this._keyboardSettings = new Gio.Settings({ schema_id: KEYBOARD_SCHEMA }); + this._keyboardSettings.connect('changed', Lang.bind(this, this._settingsChanged)); +- this._a11yApplicationsSettings = new Gio.Settings({ schema: A11Y_APPLICATIONS_SCHEMA }); ++ this._a11yApplicationsSettings = new Gio.Settings({ schema_id: A11Y_APPLICATIONS_SCHEMA }); + this._a11yApplicationsSettings.connect('changed', Lang.bind(this, this._settingsChanged)); + this._settingsChanged(); + }, +--- a/js/ui/lookingGlass.js ++++ b/js/ui/lookingGlass.js +@@ -394,7 +394,7 @@ Melange.prototype = { + _init: function() { + this.proxy = null; + this._open = false; +- this._settings = new Gio.Settings({schema: "org.cinnamon.desktop.keybindings"}); ++ this._settings = new Gio.Settings({schema_id: "org.cinnamon.desktop.keybindings"}); + this._settings.connect("changed::looking-glass-keybinding", Lang.bind(this, this._update_keybinding)); + this._update_keybinding(); + +--- a/js/ui/magnifier.js ++++ b/js/ui/magnifier.js +@@ -67,8 +67,8 @@ Magnifier.prototype = { + + this.enabled = false; + +- this._appSettings = new Gio.Settings({ schema: APPLICATIONS_SCHEMA }); +- this._settings = new Gio.Settings({ schema: MAGNIFIER_SCHEMA }); ++ this._appSettings = new Gio.Settings({ schema_id: APPLICATIONS_SCHEMA }); ++ this._settings = new Gio.Settings({ schema_id: MAGNIFIER_SCHEMA }); + + // Create small clutter tree for the magnified mouse. + let xfixesCursor = Cinnamon.XFixesCursor.get_for_stage(global.stage); +@@ -1488,10 +1488,10 @@ MagnifierInputHandler.prototype = { + this._zoom_in_id = 0; + this._zoom_out_id = 0; + +- this.a11y_settings = new Gio.Settings({ schema: APPLICATIONS_SCHEMA }); ++ this.a11y_settings = new Gio.Settings({ schema_id: APPLICATIONS_SCHEMA }); + this.a11y_settings.connect("changed::" + SHOW_KEY, Lang.bind(this, this._refresh_state)); + +- this.keybinding_settings = new Gio.Settings({ schema: KEYBINDING_SCHEMA }); ++ this.keybinding_settings = new Gio.Settings({ schema_id: KEYBINDING_SCHEMA }); + this.keybinding_settings.connect("changed", Lang.bind(this, this._refresh_state)); + + this._refresh_state(); +--- a/js/ui/main.js ++++ b/js/ui/main.js +@@ -183,7 +183,7 @@ Gettext.textdomain('cinnamon'); + const _ = Gettext.gettext; + + function _initRecorder() { +- let recorderSettings = new Gio.Settings({ schema: 'org.cinnamon.recorder' }); ++ let recorderSettings = new Gio.Settings({ schema_id: 'org.cinnamon.recorder' }); + + global.screen.connect('toggle-recording', function() { + if (recorder == null) { +@@ -432,7 +432,7 @@ function start() { + Scripting.runPerfScript(module, perfOutput); + } + +- wmSettings = new Gio.Settings({schema: "org.cinnamon.desktop.wm.preferences"}) ++ wmSettings = new Gio.Settings({schema_id: "org.cinnamon.desktop.wm.preferences"}) + workspace_names = wmSettings.get_strv("workspace-names"); + + global.screen.connect('notify::n-workspaces', _nWorkspacesChanged); +@@ -459,7 +459,7 @@ function start() { + if (xlet_startup_error) + Mainloop.timeout_add_seconds(3, notifyXletStartupError); + +- let sound_settings = new Gio.Settings( {schema: "org.cinnamon.sounds"} ); ++ let sound_settings = new Gio.Settings( {schema_id: "org.cinnamon.sounds"} ); + let do_login_sound = sound_settings.get_boolean("login-enabled"); + + // We're mostly prepared for the startup animation +--- a/js/ui/messageTray.js ++++ b/js/ui/messageTray.js +@@ -1445,7 +1445,7 @@ MessageTray.prototype = { + Main.layoutManager.connect('monitors-changed', Lang.bind(this, this._setSizePosition)); + + // Settings +- this.settings = new Gio.Settings({ schema: "org.cinnamon.desktop.notifications" }) ++ this.settings = new Gio.Settings({ schema_id: "org.cinnamon.desktop.notifications" }) + function setting(self, source, camelCase, dashed) { + function updater() { self[camelCase] = source.get_boolean(dashed); } + source.connect('changed::'+dashed, updater); +--- a/js/ui/notificationDaemon.js ++++ b/js/ui/notificationDaemon.js +@@ -113,7 +113,7 @@ NotificationDaemon.prototype = { + Main.statusIconDispatcher.connect('message-icon-removed', Lang.bind(this, this._onTrayIconRemoved)); + + // Settings +- this.settings = new Gio.Settings({ schema: "org.cinnamon.desktop.notifications" }); ++ this.settings = new Gio.Settings({ schema_id: "org.cinnamon.desktop.notifications" }); + function setting(self, source, type, camelCase, dashed) { + function updater() { self[camelCase] = source["get_"+type](dashed); } + source.connect('changed::'+dashed, updater); +--- a/js/ui/osdWindow.js ++++ b/js/ui/osdWindow.js +@@ -87,7 +87,7 @@ OsdWindow.prototype = { + _init: function() { + this._popupSize = 0; + +- this._osdSettings = new Gio.Settings({ schema: "org.cinnamon" }); ++ this._osdSettings = new Gio.Settings({ schema_id: "org.cinnamon" }); + this._osdSettings.connect("changed::show-media-keys-osd", Lang.bind(this, this._onOsdSettingsChanged)); + + this.actor = new St.BoxLayout({ style_class: 'osd-window', +--- a/js/ui/runDialog.js ++++ b/js/ui/runDialog.js +@@ -140,8 +140,8 @@ __proto__: ModalDialog.ModalDialog.prototype, + _init : function() { + ModalDialog.ModalDialog.prototype._init.call(this, { styleClass: 'run-dialog' }); + +- this._lockdownSettings = new Gio.Settings({ schema: LOCKDOWN_SCHEMA }); +- this._terminalSettings = new Gio.Settings({ schema: TERMINAL_SCHEMA }); ++ this._lockdownSettings = new Gio.Settings({ schema_id: LOCKDOWN_SCHEMA }); ++ this._terminalSettings = new Gio.Settings({ schema_id: TERMINAL_SCHEMA }); + global.settings.connect('changed::development-tools', Lang.bind(this, function () { + this._enableInternalCommands = global.settings.get_boolean('development-tools'); + })); +--- a/js/ui/slideshowManager.js ++++ b/js/ui/slideshowManager.js +@@ -23,7 +23,7 @@ SlideshowManager.prototype = { + + _init: function() { + this.proxy = null; +- this._slideshowSettings = new Gio.Settings({ schema: "org.cinnamon.desktop.background.slideshow" }); ++ this._slideshowSettings = new Gio.Settings({ schema_id: "org.cinnamon.desktop.background.slideshow" }); + this._slideshowSettings.connect("changed::slideshow-enabled", Lang.bind(this, this._onSlideshowEnabledChanged)); + + if (this._slideshowSettings.get_boolean("slideshow-enabled")) { +--- a/js/ui/soundManager.js ++++ b/js/ui/soundManager.js +@@ -44,8 +44,8 @@ SoundManager.prototype = { + this.startup_delay = true; + this.enabled = {}; + this.file = {}; +- this.settings = new Gio.Settings({ schema: 'org.cinnamon.sounds' }); +- this.desktop_settings = new Gio.Settings({ schema: 'org.cinnamon.desktop.sound' }); ++ this.settings = new Gio.Settings({ schema_id: 'org.cinnamon.sounds' }); ++ this.desktop_settings = new Gio.Settings({ schema_id: 'org.cinnamon.desktop.sound' }); + this._cacheSettings(); + this._cacheDesktopSettings(); + this.settings.connect("changed", Lang.bind(this, this._cacheSettings)); +--- a/js/ui/themeManager.js ++++ b/js/ui/themeManager.js +@@ -17,7 +17,7 @@ function ThemeManager() { + + ThemeManager.prototype = { + _init: function() { +- this._settings = new Gio.Settings({ schema: SETTINGS_SCHEMA }); ++ this._settings = new Gio.Settings({ schema_id: SETTINGS_SCHEMA }); + this._changedId = this._settings.connect('changed::'+SETTINGS_KEY, Lang.bind(this, this._changeTheme)); + this._changeTheme(); + }, +--- a/js/ui/windowManager.js ++++ b/js/ui/windowManager.js +@@ -195,7 +195,7 @@ HudPreview.prototype = { + this.actor = new St.Bin({ style_class: 'tile-hud', important: true }); + global.window_group.add_actor(this.actor); + +- this._tileHudSettings = new Gio.Settings({ schema: "org.cinnamon.muffin" }); ++ this._tileHudSettings = new Gio.Settings({ schema_id: "org.cinnamon.muffin" }); + this._tileHudSettings.connect("changed::tile-hud-threshold", Lang.bind(this, this._onTileHudSettingsChanged)); + + this._onTileHudSettingsChanged(); +@@ -484,7 +484,7 @@ WindowManager.prototype = { + global.screen.connect ("hide-snap-osd", Lang.bind (this, this._hideSnapOSD)); + global.screen.connect ("show-workspace-osd", Lang.bind (this, this.showWorkspaceOSD)); + +- this.settings = new Gio.Settings({schema: "org.cinnamon.muffin"}); ++ this.settings = new Gio.Settings({schema_id: "org.cinnamon.muffin"}); + }, + + blockAnimations: function() { +--- a/js/ui/workspace.js ++++ b/js/ui/workspace.js +@@ -566,7 +566,7 @@ WindowOverlay.prototype = { + updatePositions: function(cloneX, cloneY, cloneWidth, cloneHeight, maxWidth) { + let button = this.closeButton; + +- let settings = new Gio.Settings({ schema: BUTTON_LAYOUT_SCHEMA }); ++ let settings = new Gio.Settings({ schema_id: BUTTON_LAYOUT_SCHEMA }); + let layout = settings.get_string(BUTTON_LAYOUT_KEY); + let rtl = St.Widget.get_default_direction() == St.TextDirection.RTL; + +--- a/js/ui/overrides.js ++++ b/js/ui/overrides.js +@@ -22,7 +22,7 @@ function check_schema_and_init(obj, method, params) { + if (listSchemas.indexOf(params.schema) != -1) { + method.call(obj, params); + } else { +- method.call(obj, { schema: "org.cinnamon.invalid-schema" }); ++ method.call(obj, { schema_id: "org.cinnamon.invalid-schema" }); + log("GSettings schema not found: " + params.schema); + throw new Error("GSettings schema not found: " + params.schema); + } +--- a/files/usr/bin/cinnamon-killer-daemon ++++ b/files/usr/bin/cinnamon-killer-daemon +@@ -17,7 +17,7 @@ class KillerDaemon: + def __init__(self): + Keybinder.init() + self.bindings = None +- self.settings = Gio.Settings(SETTINGS_SCHEMA) ++ self.settings = Gio.Settings(schema_id=SETTINGS_SCHEMA) + self.apply_bindings() + self.settings.connect('changed::' + SETTINGS_KEY, self.apply_bindings) + +--- a/files/usr/bin/cinnamon-launcher ++++ b/files/usr/bin/cinnamon-launcher +@@ -12,7 +12,7 @@ from gi.repository import Gtk + gettext.install("cinnamon", "/usr/share/locale") + + def confirm_restart(): +- d = Gtk.MessageDialog(None, 0, Gtk.MessageType.WARNING, Gtk.ButtonsType.YES_NO) ++ d = Gtk.MessageDialog(parent=None, flags=0, message_type=Gtk.MessageType.WARNING, buttons=Gtk.ButtonsType.YES_NO) + d.set_keep_above(True) + d.set_markup("%s\n\n%s" % (_("Cinnamon just crashed. You are currently running in Fallback Mode."), _("Do you want to restart Cinnamon?"))) + d.show_all()