Try to restore updater-dependent binary path logic
Now that the file generating logic is simplier, it may be not that hard to maintain
This commit is contained in:
parent
40e65eb1e6
commit
3064a41014
|
@ -1724,7 +1724,6 @@ endif()
|
||||||
|
|
||||||
if (LINUX AND DESKTOP_APP_USE_PACKAGED)
|
if (LINUX AND DESKTOP_APP_USE_PACKAGED)
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
configure_file("../lib/xdg/org.telegram.desktop.desktop" "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.desktop" @ONLY)
|
|
||||||
configure_file("../lib/xdg/org.telegram.desktop.metainfo.xml" "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.metainfo.xml" @ONLY)
|
configure_file("../lib/xdg/org.telegram.desktop.metainfo.xml" "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.metainfo.xml" @ONLY)
|
||||||
generate_appdata_changelog(Telegram "${CMAKE_SOURCE_DIR}/changelog.txt" "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.metainfo.xml")
|
generate_appdata_changelog(Telegram "${CMAKE_SOURCE_DIR}/changelog.txt" "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.metainfo.xml")
|
||||||
install(TARGETS Telegram RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
install(TARGETS Telegram RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||||
|
@ -1735,6 +1734,6 @@ if (LINUX AND DESKTOP_APP_USE_PACKAGED)
|
||||||
install(FILES "Resources/art/icon128.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/128x128/apps" RENAME "telegram.png")
|
install(FILES "Resources/art/icon128.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/128x128/apps" RENAME "telegram.png")
|
||||||
install(FILES "Resources/art/icon256.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/256x256/apps" RENAME "telegram.png")
|
install(FILES "Resources/art/icon256.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/256x256/apps" RENAME "telegram.png")
|
||||||
install(FILES "Resources/art/icon512.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/512x512/apps" RENAME "telegram.png")
|
install(FILES "Resources/art/icon512.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/512x512/apps" RENAME "telegram.png")
|
||||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications")
|
install(FILES "../lib/xdg/org.telegram.desktop.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications")
|
||||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.metainfo.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo")
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.metainfo.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo")
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -1730,7 +1730,9 @@ void Application::startShortcuts() {
|
||||||
|
|
||||||
void Application::RegisterUrlScheme() {
|
void Application::RegisterUrlScheme() {
|
||||||
base::Platform::RegisterUrlScheme(base::Platform::UrlSchemeDescriptor{
|
base::Platform::RegisterUrlScheme(base::Platform::UrlSchemeDescriptor{
|
||||||
.executable = cExeDir() + cExeName(),
|
.executable = (!Platform::IsLinux() || !Core::UpdaterDisabled())
|
||||||
|
? (cExeDir() + cExeName())
|
||||||
|
: cExeName(),
|
||||||
.arguments = Sandbox::Instance().customWorkingDir()
|
.arguments = Sandbox::Instance().customWorkingDir()
|
||||||
? u"-workdir \"%1\""_q.arg(cWorkingDir())
|
? u"-workdir \"%1\""_q.arg(cWorkingDir())
|
||||||
: QString(),
|
: QString(),
|
||||||
|
|
|
@ -422,7 +422,11 @@ bool GenerateDesktopFile(
|
||||||
target->set_string(
|
target->set_string(
|
||||||
group,
|
group,
|
||||||
"TryExec",
|
"TryExec",
|
||||||
KShell::joinArgs({ cExeDir() + cExeName() }).replace(
|
KShell::joinArgs({
|
||||||
|
!Core::UpdaterDisabled()
|
||||||
|
? (cExeDir() + cExeName())
|
||||||
|
: cExeName()
|
||||||
|
}).replace(
|
||||||
'\\',
|
'\\',
|
||||||
qstr("\\\\")).toStdString());
|
qstr("\\\\")).toStdString());
|
||||||
}
|
}
|
||||||
|
@ -430,7 +434,9 @@ bool GenerateDesktopFile(
|
||||||
if (target->has_key(group, "Exec")) {
|
if (target->has_key(group, "Exec")) {
|
||||||
if (group == "Desktop Entry" && !args.isEmpty()) {
|
if (group == "Desktop Entry" && !args.isEmpty()) {
|
||||||
QStringList exec;
|
QStringList exec;
|
||||||
exec.append(cExeDir() + cExeName());
|
exec.append(!Core::UpdaterDisabled()
|
||||||
|
? (cExeDir() + cExeName())
|
||||||
|
: cExeName());
|
||||||
if (Core::Sandbox::Instance().customWorkingDir()) {
|
if (Core::Sandbox::Instance().customWorkingDir()) {
|
||||||
exec.append(u"-workdir"_q);
|
exec.append(u"-workdir"_q);
|
||||||
exec.append(cWorkingDir());
|
exec.append(cWorkingDir());
|
||||||
|
@ -451,7 +457,9 @@ bool GenerateDesktopFile(
|
||||||
qstr("\\")));
|
qstr("\\")));
|
||||||
|
|
||||||
if (!exec.isEmpty()) {
|
if (!exec.isEmpty()) {
|
||||||
exec[0] = cExeDir() + cExeName();
|
exec[0] = !Core::UpdaterDisabled()
|
||||||
|
? (cExeDir() + cExeName())
|
||||||
|
: cExeName();
|
||||||
if (Core::Sandbox::Instance().customWorkingDir()) {
|
if (Core::Sandbox::Instance().customWorkingDir()) {
|
||||||
exec.insert(1, u"-workdir"_q);
|
exec.insert(1, u"-workdir"_q);
|
||||||
exec.insert(2, cWorkingDir());
|
exec.insert(2, cWorkingDir());
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Name=Telegram Desktop
|
Name=Telegram Desktop
|
||||||
Comment=Official desktop version of Telegram messaging app
|
Comment=Official desktop version of Telegram messaging app
|
||||||
TryExec=@CMAKE_INSTALL_FULL_BINDIR@/telegram-desktop
|
TryExec=telegram-desktop
|
||||||
Exec=@CMAKE_INSTALL_FULL_BINDIR@/telegram-desktop -- %u
|
Exec=telegram-desktop -- %u
|
||||||
Icon=telegram
|
Icon=telegram
|
||||||
Terminal=false
|
Terminal=false
|
||||||
StartupWMClass=TelegramDesktop
|
StartupWMClass=TelegramDesktop
|
||||||
|
@ -16,6 +16,6 @@ X-GNOME-UsesNotifications=true
|
||||||
X-GNOME-SingleWindow=true
|
X-GNOME-SingleWindow=true
|
||||||
|
|
||||||
[Desktop Action quit]
|
[Desktop Action quit]
|
||||||
Exec=@CMAKE_INSTALL_FULL_BINDIR@/telegram-desktop -quit
|
Exec=telegram-desktop -quit
|
||||||
Name=Quit Telegram
|
Name=Quit Telegram
|
||||||
Icon=application-exit
|
Icon=application-exit
|
||||||
|
|
Loading…
Reference in New Issue