def _read(self): """Get the theme icon,extensions and size. Save all of that to icon.""" from HardcodeTray.app import App if isinstance(self.icon_data, str): orig_icon = theme_icon = self.icon_data else: orig_icon = self.icon_data["original"] theme_icon = self.icon_data["theme"] base_name = path.splitext(theme_icon)[0] theme = Icon.get_theme(orig_icon) theme_icon = theme.lookup_icon(base_name, App.icon_size(), 0) if theme_icon: self.original = orig_icon self.theme = theme_icon.get_filename() self.theme_ext = get_extension(self.theme) self.orig_ext = get_extension(orig_icon) self.icon_size = self.get_icon_size(App.icon_size()) self._exists = True if (not isinstance(self.icon_data, str) and self.icon_data.get("symlinks")): symlinks = get_iterated_icons(self.icon_data["symlinks"]) # Make sure that symlinks have the right extension for symlink in symlinks: if not get_extension(symlink): symlink += ".{0}".format(self.theme_ext) self.symlinks.append(symlink)
def _parse_icons(self, icons): if isinstance(icons, list): icons = get_iterated_icons(icons) for icon in icons: if isinstance(icons, list): icon = Icon(icon) else: icon = Icon(icons[icon]) if icon.exists: # If icon found on current Gtk Icon theme self.icons.append(icon)