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
+
+
+
+ False
+ False
+ 6
+
+
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: