Ticket #220: guake.toggle_hide_on_blur.patch

File guake.toggle_hide_on_blur.patch, 4.6 KB (added by elitak, 2 years ago)

patch to add hotkey for "toggle on lose focus"

  • guake-0.4.1/src/guake.py

    diff -ur orig/guake-0.4.1/src/guake.py guake-0.4.1/src/guake.py
    old new  
    334334        notify_add(GKEY('show_hide'), self.reload_globals) 
    335335 
    336336        keys = ['toggle_fullscreen', 'new_tab', 'close_tab', 'rename_tab', 
     337                'toggle_hide_on_blur', 
    337338                'previous_tab', 'next_tab', 'clipboard_copy', 'clipboard_paste', 
    338339                'quit', 
    339340                ] 
     
    369370        and adds to the main accel_group. 
    370371        """ 
    371372        gets = lambda x:self.client.get_string(LKEY(x)) 
    372         key, mask = gtk.accelerator_parse(gets('quit')) 
    373         if key > 0: 
    374             self.accel_group.connect_group(key, mask, gtk.ACCEL_VISIBLE, 
    375                                            self.guake.accel_quit) 
    376  
    377         key, mask = gtk.accelerator_parse(gets('new_tab')) 
    378         if key > 0: 
    379             self.accel_group.connect_group(key, mask, gtk.ACCEL_VISIBLE, 
    380                                            self.guake.accel_add) 
    381  
    382         key, mask = gtk.accelerator_parse(gets('close_tab')) 
    383         if key > 0: 
    384             self.accel_group.connect_group( 
    385                 key, mask, gtk.ACCEL_VISIBLE, 
    386                 self.guake.close_tab) 
    387  
    388         key, mask = gtk.accelerator_parse(gets('previous_tab')) 
    389         if key > 0: 
    390             self.accel_group.connect_group(key, mask, gtk.ACCEL_VISIBLE, 
    391                                            self.guake.accel_prev) 
    392  
    393         key, mask = gtk.accelerator_parse(gets('next_tab')) 
    394         if key > 0: 
    395             self.accel_group.connect_group(key, mask, gtk.ACCEL_VISIBLE, 
    396                                            self.guake.accel_next) 
    397  
    398         key, mask = gtk.accelerator_parse(gets('rename_tab')) 
    399         if key > 0: 
    400             self.accel_group.connect_group(key, mask, gtk.ACCEL_VISIBLE, 
    401                                            self.guake.accel_rename) 
    402  
    403         key, mask = gtk.accelerator_parse(gets('clipboard_copy')) 
    404         if key > 0: 
    405             self.accel_group.connect_group(key, mask, gtk.ACCEL_VISIBLE, 
    406                                            self.guake.accel_copy_clipboard) 
    407  
    408         key, mask = gtk.accelerator_parse(gets('clipboard_paste')) 
    409         if key > 0: 
    410             self.accel_group.connect_group(key, mask, gtk.ACCEL_VISIBLE, 
    411                                            self.guake.accel_paste_clipboard) 
    412  
    413         key, mask = gtk.accelerator_parse(gets('toggle_fullscreen')) 
    414         if key > 0: 
    415             self.accel_group.connect_group(key, mask, gtk.ACCEL_VISIBLE, 
    416                                            self.guake.accel_toggle_fullscreen) 
     373        connections = { 
     374            'quit' : self.guake.accel_quit, 
     375            'new_tab' : self.guake.accel_add, 
     376            'close_tab' : self.guake.close_tab, 
     377            'previous_tab' : self.guake.accel_prev, 
     378            'next_tab' : self.guake.accel_next, 
     379            'rename_tab' : self.guake.accel_rename, 
     380            'clipboard_copy' : self.guake.accel_copy_clipboard, 
     381            'clipboard_paste' : self.guake.accel_paste_clipboard, 
     382            'toggle_fullscreen' : self.guake.accel_toggle_fullscreen, 
     383            'toggle_hide_on_blur' : self.guake.accel_toggle_hide_on_blur, 
     384        } 
     385        for action, method in connections.items(): 
     386            key, mask = gtk.accelerator_parse(gets(action)) 
     387            if key > 0: 
     388                self.accel_group.connect_group(key, mask, gtk.ACCEL_VISIBLE, 
     389                                               method) 
     390 
    417391 
    418392class GuakeTerminal(vte.Terminal): 
    419393    """Just a vte.Terminal with some properties already set. 
     
    944918 
    945919        return True 
    946920 
     921    def accel_toggle_hide_on_blur(self, *args): 
     922        ''' 
     923        Callback toggle the option to "hide on lose focus". 
     924        Called by the accel key. 
     925        ''' 
     926        key = KEY('/general/window_losefocus') 
     927        newVal = not self.client.get_bool(key) 
     928        self.client.set_bool(key, newVal) 
     929        return True 
     930 
    947931    # -- callbacks -- 
    948932 
    949933    def on_terminal_exited(self, term, widget): 
  • guake-0.4.1/src/prefs.py

    diff -ur orig/guake-0.4.1/src/prefs.py guake-0.4.1/src/prefs.py
    old new  
    5757               'label': _('Toggle Guake visibility')}, 
    5858              {'key': LKEY('toggle_fullscreen'), 
    5959               'label': _('Toggle Fullscreen')}, 
     60              {'key': LKEY('toggle_hide_on_blur'), 
     61               'label': _('Toggle "Hide on Lose Focus"')}, 
    6062              {'key': LKEY('quit'), 
    6163               'label': _('Quit')}, 
    6264              ]},