diff --git a/terminatorlib/config.py b/terminatorlib/config.py
index fbfcb84e..66f82ae9 100644
--- a/terminatorlib/config.py
+++ b/terminatorlib/config.py
@@ -221,6 +221,7 @@
'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 518a08e6..3567fb34 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 6b923905..69951acd 100755
--- a/terminatorlib/prefseditor.py
+++ b/terminatorlib/prefseditor.py
@@ -286,6 +286,9 @@ def set_values(self):
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'])
@@ -695,6 +698,11 @@ def on_dbuscheck_toggled(self, widget):
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 2f22dfb9..e8212197 100644
--- a/terminatorlib/terminal.py
+++ b/terminatorlib/terminal.py
@@ -975,7 +975,10 @@ def on_mousewheel(self, widget, event):
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: