from .structs import MonitorInfo, Modeline from abc import ABC, abstractmethod class AbstractDisplay(ABC): @abstractmethod def get_modes(self) -> list[MonitorInfo]: pass @abstractmethod def set_mode(self, modeline: Modeline, requested_connector: str) -> None: pass @abstractmethod def save_current_mode(self, location: str) -> None: pass @abstractmethod def read_saved_mode(self, location: str) -> Modeline: pass @staticmethod @abstractmethod def detect(self) -> bool: pass