From b0520607503b0876020d5e764b1a98322a2bf949 Mon Sep 17 00:00:00 2001 From: Aleksey Lim Date: Fri, 09 Oct 2009 17:31:02 +0000 Subject: Alt+Space not working to show/hide the tray #1476 --- (limited to 'src') diff --git a/src/jarabe/model/shell.py b/src/jarabe/model/shell.py index ef2268d..8693e26 100644 --- a/src/jarabe/model/shell.py +++ b/src/jarabe/model/shell.py @@ -17,6 +17,7 @@ import logging import time +import subprocess import gconf import wnck @@ -322,6 +323,8 @@ class ShellModel(gobject.GObject): self._screen.connect('window-closed', self._window_closed_cb) self._screen.connect('active-window-changed', self._active_window_changed_cb) + self._screen.connect('window-manager-changed', + self.__window_manager_changed_cb) self.zoom_level_changed = dispatch.Signal() @@ -591,6 +594,22 @@ class ShellModel(gobject.GObject): self.notify_launch_failed(activity_id) return False + def __window_manager_changed_cb(self, screen): + wm_name = screen.get_window_manager_name() + if wm_name is not None: + logging.debug('Setup %s wm', wm_name) + self._setup_wm() + + def _setup_wm(self): + # have to reset cursor(metacity sets it on startup) + if subprocess.call('xsetroot -cursor_name left_ptr', shell=True): + logging.warning('Can not reset cursor') + + if subprocess.call('metacity-message disable-keybindings', + shell=True): + logging.warning('Can not disable metacity keybindings') + + _model = None def get_model(): diff --git a/src/jarabe/view/keyhandler.py b/src/jarabe/view/keyhandler.py index 478a4c0..acbbb04 100644 --- a/src/jarabe/view/keyhandler.py +++ b/src/jarabe/view/keyhandler.py @@ -74,8 +74,6 @@ class KeyHandler(object): self._keystate_pressed = 0 self._speech_proxy = None - self._ungrab_metacity_keys() - self._key_grabber = KeyGrabber() self._key_grabber.connect('key-pressed', self._key_pressed_cb) @@ -101,15 +99,6 @@ class KeyHandler(object): self._key_grabber.grab_keys(_actions_table.keys()) - def _ungrab_metacity_keys(self): - """So we can grab those instead. - """ - client = gconf.client_get_default() - for key in ['run_command_screenshot', 'switch_windows', - 'cycle_windows']: - key = '/apps/metacity/global_keybindings/' + key - client.set_string(key, 'disabled') - def _change_volume(self, step=None, value=None): if step is not None: volume = sound.get_volume() + step -- cgit v0.9.1