import gi gi.require_version('Gtk', '3.0') from gi.repository import Gtk def resolveIconPath(iconName): iconTheme = Gtk.IconTheme.get_default() iconFile = iconTheme.lookup_icon(iconName.lower(), 32, 0) if iconFile: return iconFile.get_filename() else: return "" #### use FreeDesktop::Icons; my $iconlib = new FreeDesktop::Icons; $iconlib->theme('WhiteSur-red'); $iconlib->size('16'); my $imagefile = $iconlib->get('xfsm-shutdown'); print $imagefile; #### sub findsvg { my $app = shift; my @themes = ("hicolor/scalable/apps/", "Flat-Remix-Blue-Dark/apps/scalable/", "Papirus/32x32/apps/"); my $svg; foreach my $theme (@themes){ $svg = "/usr/share/icons/" . $theme . $app . ".svg"; -e $svg and return $svg; } return "/usr/share/icons/whiskermenu-manjaro.svg"; }