From ae37271573f7b5ab88614679bd3220f86c05262f Mon Sep 17 00:00:00 2001 From: Victor Kareh Date: Tue, 3 Mar 2026 15:23:30 -0500 Subject: Use application name for generated .desktop filenames Instead of naming user-created launchers mozo-made.desktop, mozo-made-1.desktop, etc., derive the filename from the Name field (e.g. "My App" becomes My-App.desktop). This makes it easier to identify launcher files in ~/.local/share/applications/. Fixes #27 --- Mozo/util.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'Mozo/util.py') diff --git a/Mozo/util.py b/Mozo/util.py index 72df83e..a9bde70 100644 --- a/Mozo/util.py +++ b/Mozo/util.py @@ -18,6 +18,7 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA import os +import re import xml.dom.minidom import gi gi.require_version('Gtk', '3.0') @@ -41,6 +42,15 @@ def fillKeyFile(keyfile, items): elif isinstance(item, str): keyfile.set_string(DESKTOP_GROUP, key, item) +def sanitizeFileName(name): + name = name.strip() + name = re.sub(r'[/\\<>:"|?*\x00-\x1f]', '-', name) + name = name.replace(' ', '-') + name = name.strip('.') + if not name: + name = 'mozo-made' + return name + def getUniqueFileId(name, extension): append = 0 while 1: -- cgit v1.2.1