1#!/usr/local/bin/python3.8 2 3import gi 4gi.require_version("Gtk", "3.0") 5from gi.repository import Gtk 6 7from SettingsWidgets import SidePage 8from xapp.GSettingsWidgets import * 9 10 11class Module: 12 name = "fonts" 13 category = "appear" 14 comment = _("Configure system fonts") 15 16 def __init__(self, content_box): 17 keywords = _("font, size, small, large") 18 sidePage = SidePage(_("Font Selection"), "cs-fonts", keywords, content_box, module=self) 19 self.sidePage = sidePage 20 21 def on_module_selected(self): 22 if not self.loaded: 23 print("Loading Fonts module") 24 25 page = SettingsPage() 26 self.sidePage.add_widget(page) 27 28 settings = page.add_section(_("Font Selection")) 29 30 size_group = Gtk.SizeGroup.new(Gtk.SizeGroupMode.HORIZONTAL) 31 32 widget = GSettingsFontButton(_("Default font"), "org.cinnamon.desktop.interface", "font-name", size_group=size_group) 33 settings.add_row(widget) 34 35 widget = GSettingsFontButton(_("Desktop font"), "org.nemo.desktop", "font", size_group=size_group) 36 settings.add_row(widget) 37 38 widget = GSettingsFontButton(_("Document font"), "org.gnome.desktop.interface", "document-font-name", size_group=size_group) 39 settings.add_row(widget) 40 41 widget = GSettingsFontButton(_("Monospace font"), "org.gnome.desktop.interface", "monospace-font-name", size_group=size_group) 42 settings.add_row(widget) 43 44 widget = GSettingsFontButton(_("Window title font"), "org.cinnamon.desktop.wm.preferences", "titlebar-font", size_group=size_group) 45 settings.add_row(widget) 46 47 settings = page.add_section(_("Font Settings")) 48 49 aa_options = [["none", _("None")], ["grayscale", _("Grayscale")], ["rgba", _("Rgba")]] 50 hinting_options = [["none", _("None")], ["slight", _("Slight")], ["medium", _("Medium")], ["full", _("Full")]] 51 rgba_options = [["rgba", _("RGBA")], ["rgb", _("RGB")], ["bgr", _("BGR")], ["vrgb", _("Vertical RGB")], ["vbgr", _("Vertical BGR")]] 52 53 size_group = Gtk.SizeGroup.new(Gtk.SizeGroupMode.HORIZONTAL) 54 widget = GSettingsSpinButton(_("Text scaling factor"), "org.cinnamon.desktop.interface", "text-scaling-factor", step=0.1, size_group=size_group) 55 settings.add_row(widget) 56 57 widget = GSettingsComboBox(_("Hinting"), "org.cinnamon.settings-daemon.plugins.xsettings", "hinting", hinting_options, size_group=size_group) 58 widget.set_tooltip_text(_("Hinting allows for producing clear, legible text on screen.")) 59 settings.add_row(widget) 60 61 widget = GSettingsComboBox(_("Antialiasing"), "org.cinnamon.settings-daemon.plugins.xsettings", "antialiasing", aa_options, size_group=size_group) 62 widget.set_tooltip_text(_("Antialiasing makes on screen text smoother and easier to read")) 63 settings.add_row(widget) 64 65 widget = GSettingsComboBox(_("RGBA Order"), "org.cinnamon.settings-daemon.plugins.xsettings", "rgba-order", rgba_options, size_group=size_group) 66 widget.set_tooltip_text(_("The order of subpixel elements on an LCD screen, only used when antialiasing is set to 'rgba'")) 67 settings.add_row(widget) 68