Description: Revert "Fix QGuiApplication::desktopFileName usage"
 This so-called fix breaks window bindings to app list in DE. Qt5 and Qt6
 interpret differently the QGuiApplication::setDesktopFileName() method.
 .
 https://github.com/telegramdesktop/tdesktop/commit/0534a2fb6213a2c05e06c4a1f7668a9c31b6c326
 .
 Later, as new versions were released, conflicts in the patch were resolved.
Author: Nicholas Guriev <guriev-ns@ya.ru>
Last-Update: Wed, 19 Nov 2025 14:14:16 +0300
Bug-Debian: https://bugs.debian.org/1051032

--- a/Telegram/SourceFiles/platform/linux/integration_linux.cpp
+++ b/Telegram/SourceFiles/platform/linux/integration_linux.cpp
@@ -108,7 +108,9 @@ public:
 
 Application::Application()
 : Gio::impl::ApplicationImpl(this) {
-	const auto appId = QGuiApplication::desktopFileName().toStdString();
+	const auto appId = QGuiApplication::desktopFileName()
+		.chopped(8)
+		.toStdString();
 	if (Gio::Application::id_is_valid(appId)) {
 		set_application_id(appId);
 	}
--- a/Telegram/SourceFiles/platform/linux/main_window_linux.cpp
+++ b/Telegram/SourceFiles/platform/linux/main_window_linux.cpp
@@ -175,8 +175,7 @@ void MainWindow::updateUnityCounter() {
 	};
 
 	const auto launcherUrl = "application://"
-		+ QGuiApplication::desktopFileName().toStdString()
-		+ ".desktop";
+		+ QGuiApplication::desktopFileName().toStdString();
 
 	const auto counterSlice = std::min(Core::App().unreadBadge(), 9999);
 
--- a/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp
+++ b/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp
@@ -387,7 +387,7 @@ bool NotificationData::init(
 	_hints.insert_value("category", GLib::Variant::new_string("im.received"));
 
 	_hints.insert_value("desktop-entry", GLib::Variant::new_string(
-		QGuiApplication::desktopFileName().toStdString()));
+		QGuiApplication::desktopFileName().chopped(8).toStdString()));
 
 	_notificationClosedSignalId =
 		_interface.signal_notification_closed().connect([=](
--- a/Telegram/SourceFiles/platform/linux/specific_linux.cpp
+++ b/Telegram/SourceFiles/platform/linux/specific_linux.cpp
@@ -237,9 +237,7 @@ bool GenerateDesktopFile(
 	if (!QDir(targetPath).exists()) QDir().mkpath(targetPath);
 
 	const auto sourceFile = u":/misc/org.telegram.desktop.desktop"_q;
-	const auto targetFile = targetPath
-		+ QGuiApplication::desktopFileName()
-		+ u".desktop"_q;
+	const auto targetFile = targetPath + QGuiApplication::desktopFileName();
 
 	const auto sourceText = [&] {
 		QFile source(sourceFile);
@@ -402,7 +400,7 @@ bool GenerateServiceFile(bool silent = f
 		QStandardPaths::GenericDataLocation) + u"/dbus-1/services/"_q;
 
 	const auto targetFile = targetPath
-		+ QGuiApplication::desktopFileName()
+		+ QGuiApplication::desktopFileName().chopped(8)
 		+ u".service"_q;
 
 	DEBUG_LOG(("App Info: placing D-Bus service file to %1").arg(targetPath));
@@ -414,7 +412,7 @@ bool GenerateServiceFile(bool silent = f
 	target.set_string(
 		group,
 		"Name",
-		QGuiApplication::desktopFileName().toStdString());
+		QGuiApplication::desktopFileName().chopped(8).toStdString());
 
 	QStringList exec;
 	exec.append(executable);
@@ -557,9 +555,7 @@ void AutostartToggle(bool enabled, Fn<vo
 
 		if (!enabled) {
 			return QFile::remove(
-				autostart
-					+ QGuiApplication::desktopFileName()
-					+ u".desktop"_q);
+				autostart + QGuiApplication::desktopFileName());
 		}
 
 		return GenerateDesktopFile(
@@ -666,13 +662,14 @@ void start() {
 
 	QGuiApplication::setDesktopFileName([&] {
 		if (KSandbox::isFlatpak()) {
-			return qEnvironmentVariable("FLATPAK_ID");
+			return qEnvironmentVariable("FLATPAK_ID") + u".desktop"_q;
 		}
 
 		if (KSandbox::isSnap()) {
 			return qEnvironmentVariable("SNAP_INSTANCE_NAME")
 				+ '_'
-				+ cExeName();
+				+ cExeName()
+				+ u".desktop"_q;
 		}
 
 		if (!Core::UpdaterDisabled()) {
@@ -687,13 +684,14 @@ void start() {
 					md5Hash.data());
 			}
 
-			return u"org.telegram.desktop._%1"_q.arg(md5Hash.constData());
+			return u"org.telegram.desktop._%1.desktop"_q.arg(
+				md5Hash.constData());
 		}
 
-		return u"org.telegram.desktop"_q;
+		return u"org.telegram.desktop.desktop"_q;
 	}());
 
-	LOG(("App ID: %1").arg(QGuiApplication::desktopFileName()));
+	LOG(("Launcher filename: %1").arg(QGuiApplication::desktopFileName()));
 
 	if (!qEnvironmentVariableIsSet("XDG_ACTIVATION_TOKEN")
 		&& qEnvironmentVariableIsSet("DESKTOP_STARTUP_ID")) {
--- a/Telegram/lib_base/base/platform/linux/base_system_media_controls_linux.cpp
+++ b/Telegram/lib_base/base/platform/linux/base_system_media_controls_linux.cpp
@@ -196,8 +196,9 @@ SystemMediaControls::Private::Private()
 }) {
 	set_can_quit(true);
 	set_can_raise(!::Platform::IsWayland());
-	set_desktop_entry(QGuiApplication::desktopFileName().toStdString());
-	set_identity(QGuiApplication::desktopFileName().toStdString());
+	set_desktop_entry(
+		QGuiApplication::desktopFileName().chopped(8).toStdString());
+	set_identity(QGuiApplication::desktopFileName().chopped(8).toStdString());
 	player().set_can_control(true);
 	player().set_can_seek(true);
 	player().set_maximum_rate(1.0);
--- a/Telegram/lib_base/base/platform/linux/base_url_scheme_linux.cpp
+++ b/Telegram/lib_base/base/platform/linux/base_url_scheme_linux.cpp
@@ -115,9 +115,9 @@ void RegisterUrlScheme(const UrlSchemeDe
 		"--",
 	}).toStdString();
 
-	const auto appId = QGuiApplication::desktopFileName().toStdString();
-	if (!appId.empty()) {
-		Gio::AppInfo appInfo = Gio::DesktopAppInfo::new_(appId + ".desktop");
+	const auto desktopId = QGuiApplication::desktopFileName().toStdString();
+	if (!desktopId.empty()) {
+		Gio::AppInfo appInfo = Gio::DesktopAppInfo::new_(desktopId);
 		if (appInfo) {
 			if (appInfo.get_commandline() == commandlineForCreator + " %u") {
 				appInfo.set_as_default_for_type(handlerType);
--- a/Telegram/lib_webview/webview/platform/linux/webview_linux_webkitgtk.cpp
+++ b/Telegram/lib_webview/webview/platform/linux/webview_linux_webkitgtk.cpp
@@ -922,6 +922,7 @@ void Instance::registerMasterMethodHandl
 			}
 
 			const auto qtAppId = QGuiApplication::desktopFileName()
+				.chopped(8)
 				.toStdString();
 
 			if (Gio::Application::id_is_valid(qtAppId)) {
