diff options
author | Kimiblock Moe | 2024-04-17 21:16:57 +0800 |
---|---|---|
committer | Kimiblock Moe | 2024-04-17 21:16:57 +0800 |
commit | 796fdd038145c1ba76fd00eb56092c4929b52844 (patch) | |
tree | 80d64c1ffe8d6034c84a673c1f1bfbaa12a4045b | |
parent | 2a939d36c5ee995117a8f2f95b100aa883561550 (diff) | |
download | aur-796fdd038145c1ba76fd00eb56092c4929b52844.tar.gz |
Rewrite some logic
-rw-r--r-- | .SRCINFO | 8 | ||||
-rw-r--r-- | PKGBUILD | 9 | ||||
-rwxr-xr-x | open.sh | 13 | ||||
-rw-r--r-- | wechat-uos-beta.desktop | 8 | ||||
-rw-r--r-- | wechat.sh | 49 |
5 files changed, 58 insertions, 29 deletions
@@ -1,7 +1,7 @@ pkgbase = wechat-uos-bwrap pkgdesc = WeChat Qt w/ bwrap sandbox pkgver = 1.0.0.238 - pkgrel = 9 + pkgrel = 10 url = https://weixin.qq.com/ arch = x86_64 arch = aarch64 @@ -57,10 +57,10 @@ pkgbase = wechat-uos-bwrap source = open.sh source = license.tar.gz source = user-dirs.dirs - md5sums = d053f0e6c2cf50a5a6dbf34a9bd1fba9 - md5sums = 14b090b2a38396406e7fc8cc09be74bb + md5sums = 8552c99740dcb5268af833f7901b07ca + md5sums = 8f4a19a88facd8d7d6d49f2fab94d70c md5sums = 600e74549ce2258c045d5c2f7689ea63 - md5sums = e49130d3e6185335db9a60f31d4b7429 + md5sums = f26cf8d88185f54531ad5cd64111cc35 md5sums = 6b159c6e9d21a98925489bc37a9aea43 md5sums = 38e98220da64adc1d8f9dc17d04b3a39 source_x86_64 = wechat-x86-1.0.0.238.deb::https://pro-store-packages.uniontech.com/appstore/pool/appstore/c/com.tencent.wechat/com.tencent.wechat_1.0.0.238_amd64.deb @@ -1,7 +1,7 @@ # Maintainer: Kimiblock Moe pkgname=(wechat-uos-bwrap wechat-uos-qt) pkgver=1.0.0.238 -pkgrel=9 +pkgrel=10 epoch= pkgdesc="WeChat Qt w/ bwrap sandbox" arch=('x86_64' 'aarch64' 'loong64') @@ -11,6 +11,7 @@ groups=() options=(!debug) depends=( + "findutils" "zenity" "xdg-dbus-proxy" "nss" @@ -84,10 +85,10 @@ source_loong64=( wechat-loong64-${pkgver}.deb::"https://pro-store-packages.uniontech.com/appstore/pool/appstore/c/com.tencent.wechat/com.tencent.wechat_1.0.0.238_arm64.deb" ) -md5sums=('d053f0e6c2cf50a5a6dbf34a9bd1fba9' - '14b090b2a38396406e7fc8cc09be74bb' +md5sums=('8552c99740dcb5268af833f7901b07ca' + '8f4a19a88facd8d7d6d49f2fab94d70c' '600e74549ce2258c045d5c2f7689ea63' - 'e49130d3e6185335db9a60f31d4b7429' + 'f26cf8d88185f54531ad5cd64111cc35' '6b159c6e9d21a98925489bc37a9aea43' '38e98220da64adc1d8f9dc17d04b3a39') md5sums_x86_64=('aa52e39afd9c16eee7f924093ce4c5b6') @@ -2,19 +2,24 @@ echo "[Info] received a request: $@" +fakeDirBase="${XDG_DOCUMENTS_DIR}/xwechat_files" +realDirBase="${XDG_DATA_HOME}/WeChat_Data/Documents/xwechat_files" + +link=$(echo "$2" | sed "s|${fakeDirBase}|${reakDirBase}|g") + if [ -f /usr/bin/dbus-send ]; then echo "[Info] Initiating D-Bus call..." dbus-send --print-reply --dest=org.freedesktop.FileManager1 \ /org/freedesktop/FileManager1 \ org.freedesktop.FileManager1.ShowItems \ - array:string:"file://${2}" \ + array:string:"file://${link}" \ string:fake-dde-show-items else if [ -f /usr/bin/dolphin ] && [ ${XDG_CURRENT_DESKTOP} = KDE ]; then - /usr/bin/dolphin --select "$2" + /usr/bin/dolphin --select "${link}" elif [ -f /usr/bin/nautilus ] && [ ${XDG_CURRENT_DESKTOP} = GNOME ]; then - /usr/bin/nautilus $(dirname "$2") + /usr/bin/nautilus $(dirname "${link}") else - xdg-open $(dirname "$2") + xdg-open $(dirname "${link}") fi fi
\ No newline at end of file diff --git a/wechat-uos-beta.desktop b/wechat-uos-beta.desktop index 7396f3e40c7e..66e2580a5ebe 100644 --- a/wechat-uos-beta.desktop +++ b/wechat-uos-beta.desktop @@ -13,11 +13,17 @@ Keywords=wechat;weixin;we;w; Keywords[zh_CN]=微;微信;wechat;weixin;we;w; X-GNOME-SingleWindow=true SingleMainWindow=true -Actions=nosandbox; +Actions=nosandbox;opendir; StartupWMClass=wechat [Desktop Action nosandbox] Name=Disable Sandbox (Temporarily) Name[zh_CN]=禁用沙盒 (暂时) Exec=/usr/bin/wechat-uos-qt --actions f5aaebc6-0014-4d30-beba-72bce57e0650 +#Icon=application-exit + +[Desktop Action opendir] +Name=Open WeChat Data +Name[zh_CN]=打开数据目录 +Exec=/usr/bin/wechat-uos-qt --actions opendir #Icon=application-exit
\ No newline at end of file diff --git a/wechat.sh b/wechat.sh index 91742433cda4..ee7066c606b9 100644 --- a/wechat.sh +++ b/wechat.sh @@ -19,10 +19,12 @@ function sourceXDG() { else source "${XDG_CONFIG_HOME}"/user-dirs.dirs fi + if [[ ! ${XDG_DATA_HOME} ]]; then + export XDG_DATA_HOME="${HOME}"/.local/share + fi } function manageDirs() { - createWrapIfNotExist "${XDG_DOCUMENTS_DIR}"/WeChat_Data if [ -d "${HOME}/Documents/TrashBox" ]; then echo "[Warn] Old user data may be present, check ${HOME}/Documents/TrashBox" fi @@ -30,6 +32,15 @@ function manageDirs() { mv "${XDG_DOCUMENTS_DIR}/WeChat_Data/文档" \ "${XDG_DOCUMENTS_DIR}/WeChat_Data/Documents" fi + if [ -d "${XDG_DOCUMENTS_DIR}"/WeChat_Data ]; then + echo "[Info] Migrating user data..." + mv "${XDG_DOCUMENTS_DIR}"/WeChat_Data "${XDG_DATA_HOME}"/WeChat_Data + fi + if [ -d "${XDG_DOCUMENTS_DIR}"/xwechat_files ]; then + echo "[Info] Removing unused links..." + rm "${XDG_DOCUMENTS_DIR}"/xwechat_files + fi + createWrapIfNotExist "${XDG_DATA_HOME}"/WeChat_Data } function detectXauth() { @@ -62,21 +73,20 @@ function inputMethod() { } function lnDir() { - if [ -d "${XDG_DOCUMENTS_DIR}"/WeChat_Data/xwechat_files ]; then - ln -s "${XDG_DOCUMENTS_DIR}"/WeChat_Data/xwechat_files \ + if [ -d "${XDG_DATA_HOME}"/WeChat_Data/xwechat_files ]; then + ln -srf "${XDG_DATA_HOME}"/WeChat_Data/xwechat_files \ "${HOME}"/xwechat_files fi - cd "${XDG_DOCUMENTS_DIR}" - ln -sf WeChat_Data/Documents/xwechat_files \ - xwechat_files + #cd "${XDG_DOCUMENTS_DIR}" + #ln -sfr "${XDG_DATA_HOME}"/WeChat_Data/Documents/xwechat_files \ + # "${XDG_DOCUMENTS_DIR}"/xwechat_files } function importEnv() { - if [ -e "${XDG_DOCUMENTS_DIR}"/WeChat_Data/wechat.env ]; then + if [ -e "${XDG_DATA_HOME}"/WeChat_Data/wechat.env ]; then echo "[Info] Sourcing env vars..." - source "${XDG_DOCUMENTS_DIR}"/WeChat_Data/wechat.env else - touch "${XDG_DOCUMENTS_DIR}"/WeChat_Data/wechat.env + touch "${XDG_DATA_HOME}"/WeChat_Data/wechat.env fi } @@ -91,7 +101,7 @@ function cameraDect() { } function execApp() { - touch "${XDG_DOCUMENTS_DIR}"/WeChat_Data/.flatpak-info + touch "${XDG_DATA_HOME}"/WeChat_Data/.flatpak-info cameraDect importEnv bwrap \ @@ -117,7 +127,7 @@ function execApp() { "${XDG_RUNTIME_DIR}/pulse" \ --ro-bind-try "${XDG_RUNTIME_DIR}/${WAYLAND_DISPLAY}" \ "${XDG_RUNTIME_DIR}/${WAYLAND_DISPLAY}" \ - --bind "${XDG_DOCUMENTS_DIR}"/WeChat_Data "${HOME}" \ + --bind "${XDG_DATA_HOME}"/WeChat_Data "${HOME}" \ --ro-bind-try "${XAUTHORITY}" "${XAUTHORITY}" \ --unshare-all \ --share-net \ @@ -138,9 +148,9 @@ function execApp() { "${XDG_CONFIG_HOME}"/mimeapps.list \ --ro-bind-try "${XDG_CONFIG_HOME}"/kdeglobals \ "${XDG_CONFIG_HOME}"/kdeglobals \ - --ro-bind-try "${XDG_DOCUMENTS_DIR}"/WeChat_Data/.flatpak-info \ + --ro-bind-try "${XDG_DATA_HOME}"/WeChat_Data/.flatpak-info \ "${XDG_RUNTIME_DIR}/.flatpak-info" \ - --ro-bind-try "${XDG_DOCUMENTS_DIR}"/WeChat_Data/.flatpak-info \ + --ro-bind-try "${XDG_DATA_HOME}"/WeChat_Data/.flatpak-info \ /.flatpak-info \ --dir "${XDG_DOCUMENTS_DIR}" \ ${bwCamPar} \ @@ -149,7 +159,7 @@ function execApp() { /opt/wechat-uos-qt/files:/usr/lib/wechat-uos-qt/so \ --setenv QT_AUTO_SCREEN_SCALE_FACTOR 1 \ --setenv PATH /sandbox:"${PATH}" \ - bash -c "export $(grep -v '^#' "${XDG_DOCUMENTS_DIR}"/WeChat_Data/wechat.env | xargs) && ${launchTarget}" + bash -c "export $(grep -v '^#' "${XDG_DATA_HOME}"/WeChat_Data/wechat.env | xargs) && ${launchTarget}" } function dbusProxy() { @@ -161,9 +171,9 @@ function dbusProxy() { --ro-bind /usr/lib64 /usr/lib64 \ --ro-bind /usr/bin /usr/bin \ --bind "${XDG_RUNTIME_DIR}" "${XDG_RUNTIME_DIR}" \ - --ro-bind-try "${XDG_DOCUMENTS_DIR}"/WeChat_Data/.flatpak-info \ + --ro-bind-try "${XDG_DATA_HOME}"/WeChat_Data/.flatpak-info \ /.flatpak-info \ - --ro-bind-try "${XDG_DOCUMENTS_DIR}"/WeChat_Data/.flatpak-info \ + --ro-bind-try "${XDG_DATA_HOME}"/WeChat_Data/.flatpak-info \ "${XDG_RUNTIME_DIR}/.flatpak-info" \ --die-with-parent \ -- \ @@ -216,6 +226,12 @@ function disableSandbox() { fi } +function openDataDir() { + if [[ $@ =~ "--actions" ]] && [[ $@ =~ "opendir" ]]; then + xdg-open "${XDG_DATA_HOME}"/WeChat_Data + fi +} + function launch() { detectXauth inputMethod @@ -239,6 +255,7 @@ function launch() { disableSandbox $@ sourceXDG +openDataDir $@ manageDirs launch $@ |