Fix hide on lose focus due to our own menus and Preferences (Juliano Fischer Naves + Steve Boddy)
This commit is contained in:
commit
3e9f7742d5
@ -33,6 +33,8 @@ class PrefsEditor:
|
||||
plugins = None
|
||||
keybindings = None
|
||||
window = None
|
||||
calling_window = None
|
||||
term = None
|
||||
builder = None
|
||||
layouteditor = None
|
||||
previous_layout_selection = None
|
||||
@ -171,6 +173,8 @@ class PrefsEditor:
|
||||
self.config = config.Config()
|
||||
self.config.base.reload()
|
||||
self.term = term
|
||||
self.calling_window = self.term.get_toplevel()
|
||||
self.calling_window.preventHide = True
|
||||
self.builder = Gtk.Builder()
|
||||
self.builder.set_translation_domain(APP_NAME)
|
||||
self.keybindings = Keybindings()
|
||||
@ -212,6 +216,7 @@ class PrefsEditor:
|
||||
terminator = Terminator()
|
||||
terminator.reconfigure()
|
||||
self.window.destroy()
|
||||
self.calling_window.preventHide = False
|
||||
del(self)
|
||||
|
||||
def set_values(self):
|
||||
|
@ -842,6 +842,8 @@ class Terminal(Gtk.VBox):
|
||||
elif event.type == Gdk.EventType.BUTTON_PRESS:
|
||||
# Single Click gives popup
|
||||
dbg('on_group_button_press: group menu popup')
|
||||
window = self.get_toplevel()
|
||||
window.preventHide = True
|
||||
self.create_popup_group_menu(widget, event)
|
||||
return True
|
||||
else:
|
||||
@ -982,6 +984,8 @@ class Terminal(Gtk.VBox):
|
||||
|
||||
def popup_menu(self, widget, event=None):
|
||||
"""Display the context menu"""
|
||||
window = self.get_toplevel()
|
||||
window.preventHide = True
|
||||
menu = TerminalPopupMenu(self)
|
||||
menu.show(widget, event)
|
||||
|
||||
|
@ -42,6 +42,7 @@ class Window(Container, Gtk.Window):
|
||||
ignore_startup_show = None
|
||||
set_pos_by_ratio = None
|
||||
last_active_term = None
|
||||
preventHide = None
|
||||
|
||||
zoom_data = None
|
||||
|
||||
@ -74,6 +75,8 @@ class Window(Container, Gtk.Window):
|
||||
|
||||
self.title = WindowTitle(self)
|
||||
self.title.update()
|
||||
|
||||
self.preventHide = False
|
||||
|
||||
options = self.config.options_get()
|
||||
if options:
|
||||
@ -226,9 +229,13 @@ class Window(Container, Gtk.Window):
|
||||
terminal.on_window_focus_out()
|
||||
|
||||
self.losefocus_time = time.time()
|
||||
if self.config['hide_on_lose_focus'] and self.get_property('visible'):
|
||||
self.position = self.get_position()
|
||||
self.hidefunc()
|
||||
|
||||
if self.preventHide:
|
||||
self.preventHide = False
|
||||
else:
|
||||
if self.config['hide_on_lose_focus'] and self.get_property('visible'):
|
||||
self.position = self.get_position()
|
||||
self.hidefunc()
|
||||
|
||||
def on_focus_in(self, window, event):
|
||||
"""Focus has entered the window"""
|
||||
|
Loading…
Reference in New Issue
Block a user