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