diff --git a/src/heroic/heroic_platform.rs b/src/heroic/heroic_platform.rs index bd4c3cd..9e54d0c 100644 --- a/src/heroic/heroic_platform.rs +++ b/src/heroic/heroic_platform.rs @@ -58,11 +58,15 @@ impl Platform> for HeroicPlatform { } fn get_shortcuts(&self) -> Result, Box> { let install_modes = vec![InstallationMode::FlatPak, InstallationMode::UserBin]; - let shortcuts = install_modes + let mut shortcuts :Vec = install_modes .iter() .filter_map(|install_mode| get_shortcuts_from_install_mode(install_mode).ok()) .flatten() .collect(); + + shortcuts.sort_by_key(|m| format!("{}-{}-{}",m.launch_parameters,m.executable,&m.app_name)); + shortcuts.dedup_by_key(|m| format!("{}-{}-{}",m.launch_parameters,m.executable,&m.app_name)); + Ok(shortcuts) }