From 734aca62d370b255cf3653eeef8df03f43b84034 Mon Sep 17 00:00:00 2001 From: xust Date: Tue, 7 May 2024 14:05:43 +0800 Subject: [PATCH] feat: [AM] adapt new AM open computer:/// trash:/// with xdg-open on V23, and gio open on UOS. Log: as title. --- debian/dde-desktop.install | 1 + src/apps/dde-desktop/CMakeLists.txt | 1 + .../data/applications/dde-computer.desktop | 2 +- .../data/applications/dde-trash.desktop | 2 +- .../dde-desktop/data/applications/dfm-open.sh | 17 +++++++++++++++++ 5 files changed, 21 insertions(+), 2 deletions(-) create mode 100755 src/apps/dde-desktop/data/applications/dfm-open.sh diff --git a/debian/dde-desktop.install b/debian/dde-desktop.install index d33403b9b8..6622955c84 100644 --- a/debian/dde-desktop.install +++ b/debian/dde-desktop.install @@ -1,5 +1,6 @@ usr/bin/dde-desktop usr/lib/*/dde-file-manager/plugins/desktop-core/*.so +usr/bin/dfm-open.sh usr/share/applications/dde-computer.desktop usr/share/applications/dde-trash.desktop usr/share/applications/dde-home.desktop diff --git a/src/apps/dde-desktop/CMakeLists.txt b/src/apps/dde-desktop/CMakeLists.txt index 6fe2895ef4..1ac359dc4d 100644 --- a/src/apps/dde-desktop/CMakeLists.txt +++ b/src/apps/dde-desktop/CMakeLists.txt @@ -47,6 +47,7 @@ install(TARGETS ${PROJECT_NAME} DESTINATION bin) install(FILES data/com.deepin.dde.desktop.service DESTINATION share/dbus-1/services) # computer and trash +install(FILES data/applications/dfm-open.sh DESTINATION bin/) install(FILES data/applications/dde-computer.desktop DESTINATION share/applications/) install(FILES data/applications/dde-trash.desktop DESTINATION share/applications/) install(FILES data/applications/dde-home.desktop DESTINATION share/applications/) diff --git a/src/apps/dde-desktop/data/applications/dde-computer.desktop b/src/apps/dde-desktop/data/applications/dde-computer.desktop index 1c6bf262ad..845a9d66f0 100644 --- a/src/apps/dde-desktop/data/applications/dde-computer.desktop +++ b/src/apps/dde-desktop/data/applications/dde-computer.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Categories=System; Comment=Show basic info of the computer. -Exec=gio open computer:/// +Exec=dfm-open.sh computer:/// GenericName=Computer Icon=computer Name=Computer diff --git a/src/apps/dde-desktop/data/applications/dde-trash.desktop b/src/apps/dde-desktop/data/applications/dde-trash.desktop index e1934dc65e..8584d71596 100644 --- a/src/apps/dde-desktop/data/applications/dde-trash.desktop +++ b/src/apps/dde-desktop/data/applications/dde-trash.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Categories=System; Comment=Open trash. -Exec=gio open trash:/// +Exec=dfm-open.sh trash:/// GenericName=Open Trash. Icon=user-trash Name=Trash diff --git a/src/apps/dde-desktop/data/applications/dfm-open.sh b/src/apps/dde-desktop/data/applications/dfm-open.sh new file mode 100755 index 0000000000..82c29d2bff --- /dev/null +++ b/src/apps/dde-desktop/data/applications/dfm-open.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +# SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd. +# +# SPDX-License-Identifier: GPL-3.0-or-later + +sys_name=$(grep "^SystemName=" /etc/os-version | cut -d'=' -f2) +sys_ver=$(grep "^MajorVersion=" /etc/os-version | cut -d'=' -f2) + +if [ "$sys_name" = "Deepin" ] && [ "$sys_ver" = "23" ]; then + echo "open $1 with xdg-open." + xdg-open $1 +else + echo "open $1 with gio open." + gio open $1 +fi +