def on_search_on_web(self, *args): if self.terminal.get_has_selection(): self.terminal.copy_clipboard() clipboard = Gtk.Clipboard.get_default(self.window.get_display()) query = clipboard.wait_for_text() query = quote_plus(query) if query: search_url = "https://www.google.com/search?q={!s}&safe=off".format(query) Gtk.show_uri(self.window.get_screen(), search_url, get_server_time(self.window))
def on_window_losefocus(self, window, event): """Hides terminal main window when it loses the focus and if the window_losefocus gconf variable is True. """ if not HidePrevention(self.window).may_hide(): return value = self.settings.general.get_boolean('window-losefocus') visible = window.get_property('visible') self.losefocus_time = get_server_time(self.window) if visible and value: log.info("Hiding on focus lose") self.hide()
def on_window_losefocus(self, window, event): """Hides terminal main window when it loses the focus and if the window_losefocus gconf variable is True. """ if not HidePrevention(self.window).may_hide(): return value = self.settings.general.get_boolean('window-losefocus') visible = window.get_property('visible') self.losefocus_time = get_server_time(self.window) if visible and value: log.info("Hiding on focus lose") self.hide()
def search_on_web(self, *args): """Search for the selected text on the web """ # TODO KEYBINDINGS ONLY current_term = self.get_notebook().get_current_terminal() if current_term.get_has_selection(): current_term.copy_clipboard() guake_clipboard = Gtk.Clipboard.get_default(self.window.get_display()) search_query = guake_clipboard.wait_for_text() search_query = quote_plus(search_query) if search_query: # TODO search provider should be selectable (someone might # prefer bing.com, the internet is a strange place ¯\_(ツ)_/¯ ) search_url = "https://www.google.com/#q={!s}&safe=off".format(search_query, ) Gtk.show_uri(self.window.get_screen(), search_url, get_server_time(self.window)) return True
def search_on_web(self, *args): """Search for the selected text on the web """ # TODO KEYBINDINGS ONLY current_term = self.notebook.get_current_terminal() if current_term.get_has_selection(): current_term.copy_clipboard() guake_clipboard = Gtk.Clipboard.get_default( self.window.get_display()) search_query = guake_clipboard.wait_for_text() search_query = quote_plus(search_query) if search_query: # TODO search provider should be selectable (someone might # prefer bing.com, the internet is a strange place ¯\_(ツ)_/¯ ) search_url = "https://www.google.com/#q={!s}&safe=off".format( search_query, ) Gtk.show_uri(self.window.get_screen(), search_url, get_server_time(self.window)) return True
def grab_focus_on_last_focused_terminal(self): server_time = get_server_time(self.notebook.guake.window) self.notebook.guake.window.get_window().focus(server_time) self.notebook.get_current_terminal().grab_focus()
def grab_focus_on_last_focused_terminal(self): server_time = get_server_time(self.notebook.guake.window) self.notebook.guake.window.get_window().focus(server_time) self.notebook.get_current_terminal().grab_focus()
def show(self): """Shows the main window and grabs the focus on it. """ self.hidden = False # setting window in all desktops window_rect = RectCalculator.set_final_window_rect( self.settings, self.window) self.get_widget('window-root').stick() # add tab must be called before window.show to avoid a # blank screen before adding the tab. if not self.notebook.has_page(): self.add_tab() self.window.set_keep_below(False) self.window.show_all() # this is needed because self.window.show_all() results in showing every # thing which includes the scrollbar too self.settings.general.triggerOnChangedValue(self.settings.general, "use-scrollbar") # move the window even when in fullscreen-mode log.debug("Moving window to: %r", window_rect) self.window.move(window_rect.x, window_rect.y) # this works around an issue in fluxbox if not FullscreenManager(self.settings, self.window).is_fullscreen(): self.settings.general.triggerOnChangedValue( self.settings.general, 'window-height') time = get_server_time(self.window) # TODO PORT this # When minized, the window manager seems to refuse to resume # log.debug("self.window: %s. Dir=%s", type(self.window), dir(self.window)) # is_iconified = self.is_iconified() # if is_iconified: # log.debug("Is iconified. Ubuntu Trick => " # "removing skip_taskbar_hint and skip_pager_hint " # "so deiconify can work!") # self.get_widget('window-root').set_skip_taskbar_hint(False) # self.get_widget('window-root').set_skip_pager_hint(False) # self.get_widget('window-root').set_urgency_hint(False) # log.debug("get_skip_taskbar_hint: {}".format( # self.get_widget('window-root').get_skip_taskbar_hint())) # log.debug("get_skip_pager_hint: {}".format( # self.get_widget('window-root').get_skip_pager_hint())) # log.debug("get_urgency_hint: {}".format( # self.get_widget('window-root').get_urgency_hint())) # glib.timeout_add_seconds(1, lambda: self.timeout_restore(time)) # log.debug("order to present and deiconify") self.window.present() self.window.deiconify() self.window.show() self.window.get_window().focus(time) self.window.set_type_hint(Gdk.WindowTypeHint.DOCK) self.window.set_type_hint(Gdk.WindowTypeHint.NORMAL) # log.debug("Restoring skip_taskbar_hint and skip_pager_hint") # if is_iconified: # self.get_widget('window-root').set_skip_taskbar_hint(False) # self.get_widget('window-root').set_skip_pager_hint(False) # self.get_widget('window-root').set_urgency_hint(False) # This is here because vte color configuration works only after the # widget is shown. self.settings.styleFont.triggerOnChangedValue(self.settings.styleFont, 'color') self.settings.styleBackground.triggerOnChangedValue( self.settings.styleBackground, 'color') log.debug("Current window position: %r", self.window.get_position()) self.execute_hook('show')
def show(self): """Shows the main window and grabs the focus on it. """ self.hidden = False # setting window in all desktops window_rect = RectCalculator.set_final_window_rect(self.settings, self.window) self.window.stick() # add tab must be called before window.show to avoid a # blank screen before adding the tab. if not self.get_notebook().has_page(): self.add_tab() self.window.set_keep_below(False) self.window.show_all() # this is needed because self.window.show_all() results in showing every # thing which includes the scrollbar too self.settings.general.triggerOnChangedValue(self.settings.general, "use-scrollbar") # move the window even when in fullscreen-mode log.debug("Moving window to: %r", window_rect) self.window.move(window_rect.x, window_rect.y) # this works around an issue in fluxbox if not FullscreenManager(self.settings, self.window).is_fullscreen(): self.settings.general.triggerOnChangedValue(self.settings.general, 'window-height') time = get_server_time(self.window) # TODO PORT this # When minized, the window manager seems to refuse to resume # log.debug("self.window: %s. Dir=%s", type(self.window), dir(self.window)) # is_iconified = self.is_iconified() # if is_iconified: # log.debug("Is iconified. Ubuntu Trick => " # "removing skip_taskbar_hint and skip_pager_hint " # "so deiconify can work!") # self.get_widget('window-root').set_skip_taskbar_hint(False) # self.get_widget('window-root').set_skip_pager_hint(False) # self.get_widget('window-root').set_urgency_hint(False) # log.debug("get_skip_taskbar_hint: {}".format( # self.get_widget('window-root').get_skip_taskbar_hint())) # log.debug("get_skip_pager_hint: {}".format( # self.get_widget('window-root').get_skip_pager_hint())) # log.debug("get_urgency_hint: {}".format( # self.get_widget('window-root').get_urgency_hint())) # glib.timeout_add_seconds(1, lambda: self.timeout_restore(time)) # log.debug("order to present and deiconify") self.window.present() self.window.deiconify() self.window.show() self.window.get_window().focus(time) self.window.set_type_hint(Gdk.WindowTypeHint.DOCK) self.window.set_type_hint(Gdk.WindowTypeHint.NORMAL) # log.debug("Restoring skip_taskbar_hint and skip_pager_hint") # if is_iconified: # self.get_widget('window-root').set_skip_taskbar_hint(False) # self.get_widget('window-root').set_skip_pager_hint(False) # self.get_widget('window-root').set_urgency_hint(False) # This is here because vte color configuration works only after the # widget is shown. self.settings.styleFont.triggerOnChangedValue(self.settings.styleFont, 'color') self.settings.styleBackground.triggerOnChangedValue(self.settings.styleBackground, 'color') log.debug("Current window position: %r", self.window.get_position()) self.execute_hook('show')