diff --git a/terminatorlib/config.py b/terminatorlib/config.py index 00ca4deb..1806677d 100644 --- a/terminatorlib/config.py +++ b/terminatorlib/config.py @@ -221,6 +221,7 @@ DEFAULTS = { 'scroll_on_output' : False, 'scrollback_lines' : 500, 'scrollback_infinite' : False, + 'disable_mousewheel_zoom': False, 'exit_action' : 'close', 'palette' : '#2e3436:#cc0000:#4e9a06:#c4a000:\ #3465a4:#75507b:#06989a:#d3d7cf:#555753:#ef2929:#8ae234:#fce94f:\ diff --git a/terminatorlib/preferences.glade b/terminatorlib/preferences.glade index df7e6725..56f1f961 100644 --- a/terminatorlib/preferences.glade +++ b/terminatorlib/preferences.glade @@ -1626,6 +1626,23 @@ 5 + + + Disable Ctrl+mousewheel zoom + False + True + True + False + 0.5 + True + + + + False + False + 6 + + True @@ -1664,7 +1681,7 @@ False True - 6 + 7 diff --git a/terminatorlib/prefseditor.py b/terminatorlib/prefseditor.py index a336a9e2..405b6afb 100755 --- a/terminatorlib/prefseditor.py +++ b/terminatorlib/prefseditor.py @@ -286,6 +286,9 @@ class PrefsEditor: else: active = 1 widget.set_active(active) + # Disable Ctrl+mousewheel zoom + widget = guiget('disablemousewheelzoom') + widget.set_active(self.config['disable_mousewheel_zoom']) # scroll_tabbar widget = guiget('scrolltabbarcheck') widget.set_active(self.config['scroll_tabbar']) @@ -698,6 +701,11 @@ class PrefsEditor: self.config['dbus'] = widget.get_active() self.config.save() + def on_disable_mousewheel_zoom_toggled(self, widget): + """Ctrl+mousewheel zoom setting changed""" + self.config['disable_mousewheel_zoom'] = widget.get_active() + self.config.save() + def on_winbordercheck_toggled(self, widget): """Window border setting changed""" self.config['borderless'] = not widget.get_active() diff --git a/terminatorlib/terminal.py b/terminatorlib/terminal.py index dfaf14cf..6cedc4d3 100644 --- a/terminatorlib/terminal.py +++ b/terminatorlib/terminal.py @@ -991,7 +991,10 @@ class Terminal(Gtk.VBox): SMOOTH_SCROLL_UP = event.direction == Gdk.ScrollDirection.SMOOTH and event.delta_y <= 0. SMOOTH_SCROLL_DOWN = event.direction == Gdk.ScrollDirection.SMOOTH and event.delta_y > 0. if event.state & Gdk.ModifierType.CONTROL_MASK == Gdk.ModifierType.CONTROL_MASK: - # Ctrl + mouse wheel up/down with Shift and Super additions + # Zoom the terminal(s) in or out if not disabled in config + if self.config["disable_mousewheel_zoom"] is True: + return (False) + # Choice of target terminals depends on Shift and Super modifiers if event.state & Gdk.ModifierType.MOD4_MASK == Gdk.ModifierType.MOD4_MASK: targets=self.terminator.terminals elif event.state & Gdk.ModifierType.SHIFT_MASK == Gdk.ModifierType.SHIFT_MASK: