def __init__(
        self, name: str, sub_items: list[ItemType], type: ActivationType | str
    ) -> None:
        """
        Items required are the name of the top menu, the sub items, and the type.
        """
        # nautilus extensions doesn't work with filenames with spaces
        # Example menu item -> ExampleMenuItem
        self.name = (
            "".join([word.title() for word in name.split()])
            if len(name.split()) > 0
            else name
        )
        self.sub_items = sub_items
        self.type = type
        self.counter = 0

        # Create all the necessary lists that will be used later on
        self.commands: list[str] = []
        self.script_dirs: list[str] = []
        self.funcs: list[str] = []
        self.imports: list[str] = []

        Items required are the name of the top menu, the sub items, and the type.
        
context_menu/linux_menus.py