From 98ba21b0fb72f1a8a089bbfa42c14bc68b8d6ace Mon Sep 17 00:00:00 2001 From: Penelope Gwen Date: Fri, 22 Aug 2025 23:36:20 -0700 Subject: [PATCH] update drun application directory paths * fixed xdg-data-home and xdg-data-dirs application directory paths * added flatpak per-user application path * deduplicate application paths before searching --- worf/src/lib/desktop.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/worf/src/lib/desktop.rs b/worf/src/lib/desktop.rs index b0ec3b5..82797bc 100644 --- a/worf/src/lib/desktop.rs +++ b/worf/src/lib/desktop.rs @@ -76,17 +76,21 @@ pub fn find_desktop_files() -> Vec { if let Some(home) = dirs::home_dir() { paths.push(home.join(".local/share/applications")); + paths.push(home.join(".local/share/flatpak/exports/share/applications")); } if let Ok(xdg_data_home) = env::var("XDG_DATA_HOME") { - paths.push(PathBuf::from(xdg_data_home).join(".applications")); + paths.push(PathBuf::from(xdg_data_home.clone()).join("applications")); + paths.push(PathBuf::from(xdg_data_home).join("flatpak/exports/share/applications")); } if let Ok(xdg_data_dirs) = env::var("XDG_DATA_DIRS") { for dir in xdg_data_dirs.split(':') { - paths.push(PathBuf::from(dir).join(".applications")); + paths.push(PathBuf::from(dir).join("applications")); } } + paths.sort(); + paths.dedup(); let p: Vec<_> = paths .into_par_iter()