find_appid/
find_appid.rs

1use freedesktop_desktop_entry as fde;
2
3fn main() {
4    let locales = fde::get_languages_from_env();
5    let desktop_entries = fde::desktop_entries(&locales);
6
7    for arg in std::env::args().skip(1) {
8        let arg = fde::unicase::Ascii::new(arg.as_str());
9
10        let desktop_entry =
11            fde::find_app_by_id(&desktop_entries, arg).expect("could not find appid");
12
13        let icon_source = fde::IconSource::from_unknown(desktop_entry.icon().unwrap_or_default());
14
15        println!("{arg}: {desktop_entry:#?} with icon {icon_source:?}");
16    }
17}