diff options
author | Sören Tempel <soeren+git@soeren-tempel.net> | 2021-06-01 18:02:47 +0200 |
---|---|---|
committer | Sören Tempel <soeren+git@soeren-tempel.net> | 2021-06-01 18:02:47 +0200 |
commit | 52622cc6f1fcc73ddff67b3670c14a2fdab50de6 (patch) | |
tree | d2847b1d4754bd308c7e946c02fb597992b97595 | |
parent | c00c1335800036aa4e24acae4c8950a3d868ce5a (diff) |
Allow toggling wordwrap/autoscroll using a key binding
I find it somewhat unpleasent to heavily rely on the mouse. Especially considering that toggeling autoscroll is something I do a lot (e.g. when using cat(1) on a text document).
-rw-r--r-- | saneterm/keys.py | 3 | ||||
-rw-r--r-- | saneterm/terminal.py | 14 |
2 files changed, 11 insertions, 6 deletions
diff --git a/saneterm/keys.py b/saneterm/keys.py index 4b27d67..44bfd9a 100644 --- a/saneterm/keys.py +++ b/saneterm/keys.py @@ -24,6 +24,9 @@ class Bindings(): bind "<ctrl>w" { "delete-from-cursor" (word-ends, -1) }; bind "<ctrl>h" { "backspace" () }; + bind "<alt>a" { "toggle-config" ("autoscroll") }; + bind "<alt>w" { "toggle-config" ("wordwrap") }; + bind "Up" { "history-entry" (1) }; bind "Down" { "history-entry" (-1) }; diff --git a/saneterm/terminal.py b/saneterm/terminal.py index 6e5d998..54dc321 100644 --- a/saneterm/terminal.py +++ b/saneterm/terminal.py @@ -107,6 +107,7 @@ class Terminal(Gtk.Window): signals = { "toggle-search": (), + "toggle-config": (GObject.TYPE_STRING,), "history-entry": (GObject.TYPE_LONG,), } @@ -116,6 +117,7 @@ class Terminal(Gtk.Window): args) self.termview.connect("toggle-search", self.toggle_search, self.search_bar) + self.termview.connect("toggle-config", self.toggle_config) self.termview.connect("history-entry", self.history) def complete(self, input): @@ -234,18 +236,18 @@ class Terminal(Gtk.Window): adj = self.scroll.get_vadjustment() adj.set_value(adj.get_upper() - adj.get_page_size()) - def populate_popup(self, textview, popup): - def toggle_config(mitem, key): - self.config[key] = not self.config[key] - if key == 'wordwrap': - self.update_wrapmode() + def toggle_config(self, widget, key): + self.config[key] = not self.config[key] + if key == 'wordwrap': + self.update_wrapmode() + def populate_popup(self, textview, popup): popup.append(Gtk.SeparatorMenuItem()) for key, enabled in self.config.items(): mitem = Gtk.CheckMenuItem(key.capitalize()) mitem.set_active(enabled) - mitem.connect('toggled', toggle_config, key) + mitem.connect('toggled', self.toggle_config, key) popup.append(mitem) popup.show_all() |