Updated version, destroy keymanager.

This commit is contained in:
Fmstrat
2019-03-29 11:45:09 -04:00
parent 9e41ac9763
commit e746f736da
2 changed files with 33 additions and 25 deletions

View File

@@ -18,7 +18,7 @@ window.gsconnect = {
imports.searchPath.unshift(gsconnect.extdatadir); imports.searchPath.unshift(gsconnect.extdatadir);
const KeyBindings = imports.keybindings const KeyBindings = imports.keybindings
let keyManager = new KeyBindings.Manager(); let keyManager = null;
var oldbindings = { var oldbindings = {
unmaximize: [], unmaximize: [],
maximize: [], maximize: [],
@@ -285,6 +285,8 @@ function resetBinding(settings, key) {
} }
var enable = function() { var enable = function() {
if (!keyManager) {
keyManager = new KeyBindings.Manager();
let desktopSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.wm.keybindings' }); let desktopSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.wm.keybindings' });
let mutterSettings = new Gio.Settings({ schema_id: 'org.gnome.mutter.keybindings' }); let mutterSettings = new Gio.Settings({ schema_id: 'org.gnome.mutter.keybindings' });
oldbindings['unmaximize'] = desktopSettings.get_strv('unmaximize'); oldbindings['unmaximize'] = desktopSettings.get_strv('unmaximize');
@@ -301,14 +303,19 @@ var enable = function() {
keyManager.add("<Super>up", function() { requestMove("up") }) keyManager.add("<Super>up", function() { requestMove("up") })
keyManager.add("<Super>down", function() { requestMove("down") }) keyManager.add("<Super>down", function() { requestMove("down") })
}); });
}
} }
var disable = function() { var disable = function() {
if (keyManager) {
keyManager.removeAll(); keyManager.removeAll();
keyManager.destroy();
keyManager = null;
let desktopSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.wm.keybindings' }); let desktopSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.wm.keybindings' });
let mutterSettings = new Gio.Settings({ schema_id: 'org.gnome.mutter.keybindings' }); let mutterSettings = new Gio.Settings({ schema_id: 'org.gnome.mutter.keybindings' });
resetBinding(desktopSettings, 'unmaximize'); resetBinding(desktopSettings, 'unmaximize');
resetBinding(desktopSettings, 'maximize'); resetBinding(desktopSettings, 'maximize');
resetBinding(mutterSettings, 'toggle-tiled-left'); resetBinding(mutterSettings, 'toggle-tiled-left');
resetBinding(mutterSettings, 'toggle-tiled-right'); resetBinding(mutterSettings, 'toggle-tiled-right');
}
} }

View File

@@ -3,5 +3,6 @@
"description": "Window tiling based on Windows 10 hotkey patterns.", "description": "Window tiling based on Windows 10 hotkey patterns.",
"uuid": "wintile@nowsci.com", "uuid": "wintile@nowsci.com",
"url": "https://github.com/fmstrat/wintile", "url": "https://github.com/fmstrat/wintile",
"shell-version": ["3.28"] "shell-version": ["3.28"],
"version": 2
} }