From 287ae5f44c9a7c1e432fb10ebb4612f9228d1c47 Mon Sep 17 00:00:00 2001 From: S4NKALP Date: Wed, 24 Jun 2026 12:52:54 +0545 Subject: [PATCH] refactor(src/utils): refine desktop file name lookup and fallback handling Use resolved name when present, else fall back to title; return None when no desktop file found --- src/utils/app_name_resolver.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/utils/app_name_resolver.py b/src/utils/app_name_resolver.py index 8e934c0..a16b7c9 100644 --- a/src/utils/app_name_resolver.py +++ b/src/utils/app_name_resolver.py @@ -13,10 +13,10 @@ class AppName: if f.startswith(wmclass + ".desktop"): desktop_file = f - desktop_app_name = wmclass - if desktop_file == "": - return wmclass + return None + + desktop_app_name = wmclass with open(os.path.join(self.path, desktop_file), "r") as f: lines = f.readlines() for line in lines: @@ -61,11 +61,11 @@ class AppName: # Try to get the proper app name from desktop file only if wmclass is not empty if wmclass: - name = self.get_app_name(wmclass=wmclass) - - # Hardcode fix for Wayland Python scripts mapping to 'start.py' - if str(name).lower() == "start.py" or str(name).lower() == "python3": - name = "Modus" + resolved = self.get_app_name(wmclass=wmclass) + if resolved is not None: + name = resolved + elif title: + name = title # Smart title formatting (capitalize first letter) name = str(name).title()