about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSören Tempel <soeren+git@soeren-tempel.net>2021-06-01 23:29:04 +0200
committerSören Tempel <soeren+git@soeren-tempel.net>2021-06-01 23:29:04 +0200
commitedc7bf721fbebae4a891cfa6db0da93832498ca4 (patch)
tree0ea24ef531f894c247a4d12fcaa76d879c52e211
parent0e312a08a405fb7e51b78cdadfd08ffd915f3a26 (diff)
Add command-line flag to hide the vertical scrollbar
Unfortunately, it does not seem to be possible to hide the scrollbar
using the standard Gtk CSS configuration mechanism.
-rw-r--r--saneterm/__main__.py4
-rw-r--r--saneterm/terminal.py6
2 files changed, 8 insertions, 2 deletions
diff --git a/saneterm/__main__.py b/saneterm/__main__.py
index 9764bb5..71c1a9c 100644
--- a/saneterm/__main__.py
+++ b/saneterm/__main__.py
@@ -8,6 +8,8 @@ def get_parser():
     default_cmd = os.environ["SHELL"] if "SHELL" in os.environ else "sh"
 
     parser = argparse.ArgumentParser()
+    parser.add_argument('-v', action=argparse.BooleanOptionalAction,
+                        default=False, help="Hide the vertical scrollbar")
     parser.add_argument('-l', metavar='LIMIT', type=int,
                         default=5000, help='Amount of lines to store in scroback buffer')
     parser.add_argument('command', metavar='CMD', type=str, nargs='*',
@@ -19,7 +21,7 @@ def main():
     parser = get_parser()
     args = parser.parse_args()
 
-    win = Terminal(args.command, args.l)
+    win = Terminal(args.command, limit=args.l, vscrollbar=not args.v)
     win.connect("destroy", Gtk.main_quit)
     win.show_all()
     Gtk.main()
diff --git a/saneterm/terminal.py b/saneterm/terminal.py
index 71b9bbc..6a1f50a 100644
--- a/saneterm/terminal.py
+++ b/saneterm/terminal.py
@@ -59,7 +59,7 @@ class Terminal(Gtk.Window):
         'wordwrap': True,
     }
 
-    def __init__(self, cmd, limit):
+    def __init__(self, cmd, limit=-1, vscrollbar=True):
         Gtk.Window.__init__(self, title=NAME)
         self.set_name(NAME)
 
@@ -98,6 +98,10 @@ class Terminal(Gtk.Window):
         self.update_wrapmode()
         vbox.pack_start(self.scroll, True, True, 0)
 
+        if not vscrollbar:
+            vscroll = self.scroll.get_vscrollbar()
+            vscroll.hide()
+
         self.search_bar = SearchBar(self.termview)
         vbox.pack_start(self.search_bar, False, True, 0)