Source code for ebenezer.config.fonts
"""
fonts.py
--------
This module provides a class to manage font settings for Qtile.
Classes:
AppSettingsFonts:
Manages font settings including font types, sizes, and icons.
"""
[docs]
class AppSettingsFonts:
font: str = ""
font_regular: str = ""
font_light: str = ""
font_strong: str = ""
font_strong_bold: str = ""
font_size: int = 10
font_icon: str = ""
font_icon_size: int = 10
font_arrow: str = ""
font_arrow_size: int = 10
rofi_font: str = ""
rofi_font_size: int = 10
font_notification: str = ""
font_notification_size: int = 10
def __init__(self, **kwargs):
"""
Initializes the AppSettingsFonts with optional keyword arguments.
Args:
**kwargs: Arbitrary keyword arguments to initialize the font settings.
"""
self.font = kwargs.get("font", self.font)
self.font_regular = kwargs.get("font_regular", self.font_regular)
self.font_light = kwargs.get("font_light", self.font_light)
self.font_strong = kwargs.get("font_strong", self.font_strong)
self.font_strong_bold = kwargs.get("font_strong_bold", self.font_strong_bold)
self.font_size = int(kwargs.get("font_size", str(self.font_size)))
self.font_icon = kwargs.get("font_icon", self.font_icon)
self.font_icon_size = int(
kwargs.get("font_icon_size", str(self.font_icon_size))
)
self.font_arrow = kwargs.get("font_arrow", self.font_arrow)
self.font_arrow_size = int(
kwargs.get("font_arrow_size", str(self.font_arrow_size))
)
self.rofi_font = kwargs.get("rofi_font", self.font)
self.rofi_font_size = int(kwargs.get("rofi_font_size", str(self.font_size)))
self.font_notification = kwargs.get("font_notification", self.font)
self.font_notification_size = int(
kwargs.get("font_notification_size", str(self.font_size))
)