From 030ad5a47a300d9d00b34482ff3cbb60a565db54 Mon Sep 17 00:00:00 2001 From: Fmstrat Date: Fri, 3 Jan 2020 11:10:47 -0500 Subject: [PATCH] Cleaned up bindings --- extension.js | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/extension.js b/extension.js index aeb5c7c..f07deac 100644 --- a/extension.js +++ b/extension.js @@ -3,6 +3,9 @@ const Main = imports.ui.main const Mainloop = imports.mainloop; const Gio = imports.gi.Gio; +const ExtensionUtils = imports.misc.extensionUtils; +const Extension = ExtensionUtils.getCurrentExtension(); + const ModalDialog = imports.ui.modalDialog; const PanelMenu = imports.ui.panelMenu; const PopupMenu = imports.ui.popupMenu; @@ -10,9 +13,6 @@ const PopupMenu = imports.ui.popupMenu; const St = imports.gi.St; const Tweener = imports.ui.tweener; -const ExtensionUtils = imports.misc.extensionUtils; -const Me = ExtensionUtils.getCurrentExtension(); - let onWindowGrabBegin, onWindowGrabEnd; let windowMoving = false; @@ -36,7 +36,7 @@ let config = { // Get the GSchema for our settings let gschema = Gio.SettingsSchemaSource.new_from_directory( - Me.dir.get_child('schemas').get_path(), + Extension.dir.get_child('schemas').get_path(), Gio.SettingsSchemaSource.get_default(), false ); @@ -628,11 +628,6 @@ function changeBinding(settings, key, oldBinding, newBinding) { settings.set_strv(key, _newbindings); } -function resetBinding(settings, key) { - var binding = oldbindings[key.replace(/-/g, '_')]; - settings.set_strv(key, binding); -} - function isClose(a, b) { if (a <= b && a > b - config.preview.close) return true; @@ -735,15 +730,19 @@ var enable = function() { if (!keyManager) { keyManager = new KeyBindings.Manager(); let desktopSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.wm.keybindings' }); - let mutterSettings = new Gio.Settings({ schema_id: 'org.gnome.mutter.keybindings' }); + let shellSettings = new Gio.Settings({ schema_id: 'org.gnome.shell.overrides' }); + let mutterKeybindingSettings = new Gio.Settings({ schema_id: 'org.gnome.mutter.keybindings' }); + let mutterSettings = new Gio.Settings({ schema_id: 'org.gnome.mutter' }); oldbindings['unmaximize'] = desktopSettings.get_strv('unmaximize'); oldbindings['maximize'] = desktopSettings.get_strv('maximize'); - oldbindings['toggle_tiled_left'] = mutterSettings.get_strv('toggle-tiled-left'); - oldbindings['toggle_tiled_right'] = mutterSettings.get_strv('toggle-tiled-right'); + oldbindings['toggle_tiled_left'] = mutterKeybindingSettings.get_strv('toggle-tiled-left'); + oldbindings['toggle_tiled_right'] = mutterKeybindingSettings.get_strv('toggle-tiled-right'); changeBinding(desktopSettings, 'unmaximize', 'Down', 'Down'); changeBinding(desktopSettings, 'maximize', 'Up', 'Up'); - changeBinding(mutterSettings, 'toggle-tiled-left', 'Left', 'Left'); - changeBinding(mutterSettings, 'toggle-tiled-right', 'Right', 'Right'); + changeBinding(mutterKeybindingSettings, 'toggle-tiled-left', 'Left', 'Left'); + changeBinding(mutterKeybindingSettings, 'toggle-tiled-right', 'Right', 'Right'); + shellSettings.set_boolean("edge-tiling", false); + mutterSettings.set_boolean("edge-tiling", false); Mainloop.timeout_add(3000, function() { keyManager.add("left", function() { requestMove("left") }) keyManager.add("right", function() { requestMove("right") }) @@ -761,11 +760,15 @@ var disable = function() { keyManager.destroy(); keyManager = null; let desktopSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.wm.keybindings' }); - let mutterSettings = new Gio.Settings({ schema_id: 'org.gnome.mutter.keybindings' }); - resetBinding(desktopSettings, 'unmaximize'); - resetBinding(desktopSettings, 'maximize'); - resetBinding(mutterSettings, 'toggle-tiled-left'); - resetBinding(mutterSettings, 'toggle-tiled-right'); + let shellSettings = new Gio.Settings({ schema_id: 'org.gnome.shell.overrides' }); + let mutterKeybindingSettings = new Gio.Settings({ schema_id: 'org.gnome.mutter.keybindings' }); + let mutterSettings = new Gio.Settings({ schema_id: 'org.gnome.mutter' }); + desktopSettings.reset('unmaximize'); + desktopSettings.reset('maximize'); + mutterKeybindingSettings.reset('toggle-tiled-left'); + mutterKeybindingSettings.reset('toggle-tiled-right'); + shellSettings.reset("edge-tiling"); + mutterSettings.reset("edge-tiling") global.display.disconnect(onWindowGrabBegin); global.display.disconnect(onWindowGrabEnd); }