1#!/usr/local/bin/python3.8 2 3import signal 4import sys 5 6import gi 7gi.require_version('Gtk', '3.0') 8from gi.repository import Gtk, GLib 9 10class ScrollbarTestWidget: 11 def __init__(self): 12 self.builder = Gtk.Builder() 13 self.builder.set_translation_domain('cinnamon') 14 15 self.builder.add_from_file("/usr/local/share/cinnamon/cinnamon-settings/bin/scrollbar-test-widget.glade") 16 self.content_box = self.builder.get_object("content_box") 17 18 # In hidpi, the size request seems to be doubled, resulting in too high a test window. 19 # Check and adjust here at runtime. 20 if self.content_box.get_scale_factor() == 2: 21 self.content_box.set_size_request(-1, 50) 22 23 GLib.unix_signal_add(GLib.PRIORITY_HIGH, signal.SIGTERM, self.on_terminate) 24 25 plug = Gtk.Plug.new(int(sys.argv[1])) 26 plug.add(self.content_box) 27 28 plug.connect("destroy", Gtk.main_quit) 29 plug.show_all() 30 31 def on_terminate(self, data=None): 32 Gtk.main_quit() 33 34if len(sys.argv) < 2: 35 exit() 36 37ScrollbarTestWidget() 38Gtk.main() 39