diff options
author | Codist | 2020-04-13 00:07:20 +0800 |
---|---|---|
committer | Codist | 2020-04-13 00:07:20 +0800 |
commit | 117c44fe5c39a4dbe962a39d14df7753dea91147 (patch) | |
tree | d0c8876c1fe1a365e77b68bdb4dbef660de6ee77 | |
parent | 1e33df5058e80df282be36b5dc6aac9afa091b05 (diff) | |
download | aur-117c44fe5c39a4dbe962a39d14df7753dea91147.tar.gz |
Using xsettingsd
Signed-off-by: Codist <countstarlight@gmail.com>
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | PKGBUILD | 4 | ||||
-rw-r--r-- | README.md | 96 | ||||
-rwxr-xr-x | run.sh | 36 |
4 files changed, 43 insertions, 97 deletions
@@ -1,7 +1,7 @@ pkgbase = deepin-wine-wechat pkgdesc = Tencent WeChat (com.wechat) on Deepin Wine For Archlinux pkgver = 2.8.0.133 - pkgrel = 3 + pkgrel = 4 url = https://weixin.qq.com/ install = deepin-wine-wechat.install arch = x86_64 @@ -26,7 +26,7 @@ pkgbase = deepin-wine-wechat source = shadow.exe md5sums = fe31cf4f0f6186fc1c99adc1512f5305 md5sums = 562d71c57e136a8aaa3be0d135092161 - md5sums = 3c6b1957562a99ff3c845a29b8569244 + md5sums = d25d415fbcf6c7608d0aa12188d755ea md5sums = f264f961704f2aa1d480971b0e58617a md5sums = 0138f993c99d899e609bad85c2c9a15c @@ -4,7 +4,7 @@ pkgname=deepin-wine-wechat pkgver=2.8.0.133 wechat_installer=WeChatSetup deepinwechatver=2.6.8.65deepin0 -pkgrel=3 +pkgrel=4 pkgdesc="Tencent WeChat (com.wechat) on Deepin Wine For Archlinux" arch=("x86_64") url="https://weixin.qq.com/" @@ -20,7 +20,7 @@ source=("$_mirror/pool/non-free/d/deepin.com.wechat/deepin.com.wechat_${deepinwe "shadow.exe") md5sums=('fe31cf4f0f6186fc1c99adc1512f5305' '562d71c57e136a8aaa3be0d135092161' - '3c6b1957562a99ff3c845a29b8569244' + 'd25d415fbcf6c7608d0aa12188d755ea' 'f264f961704f2aa1d480971b0e58617a' '0138f993c99d899e609bad85c2c9a15c') diff --git a/README.md b/README.md index 0f665d463548..c932264dca39 100644 --- a/README.md +++ b/README.md @@ -31,10 +31,10 @@ Deepin打包的微信(WeChat)容器移植到Archlinux,不依赖`deepin-wine` - [切换到 `deepin-wine`](#切换到-deepin-wine) - [自动切换](#自动切换) - [手动切换](#手动切换) - - [1. 安装 deepin-wine](#1-安装-deepin-wine) - - [2. 修改 `deepin-wine-wechat` 的启动文件](#2-修改-deepin-wine-wechat-的启动文件) - - [3. 对于非 GNOME 桌面(KDE, XFCE等)](#3-对于非-gnome-桌面kde-xfce等) - - [4. 删除原先的微信目录](#4-删除原先的微信目录) + - [1. 安装 `deepin-wine`](#1-安装-deepin-wine) + - [2. 安装 `xsettingsd`](#2-安装-xsettingsd) + - [3. 修改 `deepin-wine-wechat` 的启动文件](#3-修改-deepin-wine-wechat-的启动文件) + - [4. 删除已安装的微信目录](#4-删除已安装的微信目录) - [5. 修复 `deepin-wine` 字体渲染发虚](#5-修复-deepin-wine-字体渲染发虚) - [常见问题及解决](#常见问题及解决) - [不能截图](#不能截图) @@ -148,45 +148,38 @@ rm ~/.deepinwine/Deepin-WeChat/deepin 如果要卸载自动安装的依赖: ```bash -sudo pacman -Rns deepin-wine gnome-settings-daemon lib32-freetype2-infinality-ultimate +sudo pacman -Rns deepin-wine xsettingsd lib32-freetype2-infinality-ultimate ``` ### 手动切换 -#### 1. 安装 deepin-wine +#### 1. 安装 `deepin-wine` ```bash yay -S deepin-wine ``` -#### 2. 修改 `deepin-wine-wechat` 的启动文件 +#### 2. 安装 `xsettingsd` -修改如下两个文件中的 `WINE_CMD` 的值: +根据 [deepin-wine-wechat-arch#36](https://github.com/countstarlight/deepin-wine-wechat-arch/issues/36#issuecomment-612001200),由[Face-Smile](https://github.com/Face-Smile)提供的方法: -`/opt/deepinwine/apps/Deepin-WeChat/run.sh` +```bash +sudo pacman -S xsettingsd +``` -`/opt/deepinwine/tools/run.sh` +#### 3. 修改 `deepin-wine-wechat` 的启动文件 + +修改 `/opt/deepinwine/apps/Deepin-WeChat/run.sh`: ```diff -WINE_CMD="wine" +WINE_CMD="deepin-wine" -``` - -#### 3. 对于非 GNOME 桌面(KDE, XFCE等) - -需要安装 `gnome-settings-daemon` - -```bash -sudo pacman -Sy gnome-settings-daemon -``` -并在 `/opt/deepinwine/apps/Deepin-WeChat/run.sh` 中加入如下几行: -```diff RunApp() { -+ if [[ -z "$(ps -e | grep -o gsd-xsettings)" ]] ++ if [[ -z "$(ps -e | grep -o xsettingsd)" ]] + then -+ /usr/lib/gsd-xsettings & ++ /usr/bin/xsettingsd & + fi if [ -d "$WINEPREFIX" ]; then UpdateApp @@ -195,7 +188,7 @@ sudo pacman -Sy gnome-settings-daemon **注意:对 `/opt/deepinwine/apps/Deepin-WeChat/run.sh` 的修改会在 `deepin-wine-wechat` 更新或重装时被覆盖,可以单独拷贝一份作为启动脚本** -#### 4. 删除原先的微信目录 +#### 4. 删除已安装的微信目录 ```bash rm -rf ~/.deepinwine/Deepin-WeChat @@ -242,49 +235,24 @@ i686-w64-mingw32-g++ -municode -m32 -s shadow.cpp -o shadow 并参照[run.sh](run.sh)在 `/opt/deepinwine/apps/Deepin-WeChat/run.sh` 中加入如下几行: ```diff - if [ ! -f "$WINEPREFIX/reinstalled" ] - then - touch $WINEPREFIX/reinstalled +CallApp() +{ + if [ ! -f "$WINEPREFIX/reinstalled" ] + then + touch $WINEPREFIX/reinstalled - env WINEDLLOVERRIDES="winemenubuilder.exe=d" WINEPREFIX="$WINEPREFIX" $WINE_CMD $APPDIR/$WECHAT_INSTALLER-$WECHAT_VER.exe + env WINEDLLOVERRIDES="winemenubuilder.exe=d" WINEPREFIX="$WINEPREFIX" $WINE_CMD $APPDIR/$WECHAT_INSTALLER-$WECHAT_VER.exe & - else - #Support use native file dialog - export ATTACH_FILE_DIALOG=1 - - env WINEPREFIX="$WINEPREFIX" WINEDEBUG=-msvcrt $WINE_CMD "c:\\Program Files\\Tencent\\WeChat\\WeChat.exe" & - fi -+ RemoveShadow - } - -+CheckProcess() -+{ -+ if [ "$1" = "" ]; then -+ return 1 -+ fi -+ -+ PROCESS_NUM=`ps -ef | grep "$1" | grep -v "grep" | wc -l` -+ if [ $PROCESS_NUM -eq 0 ]; then -+ return 1 -+ else -+ return 0 -+ fi -+} -+ -+# remove 'popupshadow' -+RemoveShadow() -+{ -+ CheckProcess "shadow.exe" -+ Check_RET=$? -+ # run 'shadow.exe' if process not exist -+ if [ $Check_RET -eq 1 ]; then -+ env WINEPREFIX="$WINEPREFIX" WINEDEBUG=-msvcrt $WINE_CMD "c:\\shadow.exe" & -+ fi -+} -+ - SwitchToDeepinWine() - { - if [ -d "$WINEPREFIX" ]; then + else + #Support use native file dialog + export ATTACH_FILE_DIALOG=1 + env WINEPREFIX="$WINEPREFIX" WINEDEBUG=-msvcrt $WINE_CMD "c:\\Program Files\\Tencent\\WeChat\\WeChat.exe" & + fi ++ # run 'shadow.exe' if process not exist ++ if [[ -z "$(ps -e | grep -o 'shadow.exe')" ]]; then ++ env WINEPREFIX="$WINEPREFIX" WINEDEBUG=-msvcrt $WINE_CMD "c:\\shadow.exe" & ++ fi +} ``` ## 感谢 @@ -35,7 +35,10 @@ CallApp() env WINEPREFIX="$WINEPREFIX" WINEDEBUG=-msvcrt $WINE_CMD "c:\\Program Files\\Tencent\\WeChat\\WeChat.exe" & fi - RemoveShadow + # run 'shadow.exe' if process not exist + if [[ -z "$(ps -e | grep -o 'shadow.exe')" ]]; then + env WINEPREFIX="$WINEPREFIX" WINEDEBUG=-msvcrt $WINE_CMD "c:\\shadow.exe" & + fi } ExtractApp() { @@ -95,31 +98,6 @@ CreateBottle() fi } -CheckProcess() -{ - if [ "$1" = "" ]; then - return 1 - fi - - PROCESS_NUM=`ps -ef | grep "$1" | grep -v "grep" | wc -l` - if [ $PROCESS_NUM -eq 0 ]; then - return 1 - else - return 0 - fi -} - -# remove 'popupshadow' -RemoveShadow() -{ - CheckProcess "shadow.exe" - Check_RET=$? - # run 'shadow.exe' if process not exist - if [ $Check_RET -eq 1 ]; then - env WINEPREFIX="$WINEPREFIX" WINEDEBUG=-msvcrt $WINE_CMD "c:\\shadow.exe" & - fi -} - SwitchToDeepinWine() { if [ -d "$WINEPREFIX" ]; then @@ -135,7 +113,7 @@ SwitchToDeepinWine() $PACKAGE_MANAGER="yaourt" fi fi - $PACKAGE_MANAGER -S deepin-wine gnome-settings-daemon lib32-freetype2-infinality-ultimate --needed + $PACKAGE_MANAGER -S deepin-wine xsettingsd lib32-freetype2-infinality-ultimate --needed touch -f $WINEPREFIX/deepin echo "Done." } @@ -143,8 +121,8 @@ SwitchToDeepinWine() # Init if [ -f "$WINEPREFIX/deepin" ]; then WINE_CMD="deepin-wine" - if [[ -z "$(ps -e | grep -o gsd-xsettings)" ]]; then - /usr/lib/gsd-xsettings & + if [[ -z "$(ps -e | grep -o xsettingsd)" ]]; then + /usr/bin/xsettingsd & fi fi |