@classmethod
def addch(cls, c, x=None, y=None, attr=None):
    """
        Add a character to a position on the screen or at cursor.

        :param c: the character to insert
        :param x: optional x value, or current x position
        :param y: optional y value, or current y position
        :param attr: optional attribute, like 'bold'
        """
    attr = cls._fix_attr(attr)
    x, y = cls._fix_xy(x, y)
    if isinstance(c, int):
        c = chr(c)
    if attr is None:
        return cls.WINDOW.addch(y, x, c)
    else:
        return cls.WINDOW.addch(y, x, c, attr)
