aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorCodist2020-04-13 00:07:20 +0800
committerCodist2020-04-13 00:07:20 +0800
commit117c44fe5c39a4dbe962a39d14df7753dea91147 (patch)
treed0c8876c1fe1a365e77b68bdb4dbef660de6ee77
parent1e33df5058e80df282be36b5dc6aac9afa091b05 (diff)
downloadaur-117c44fe5c39a4dbe962a39d14df7753dea91147.tar.gz
Using xsettingsd
Signed-off-by: Codist <countstarlight@gmail.com>
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD4
-rw-r--r--README.md96
-rwxr-xr-xrun.sh36
4 files changed, 43 insertions, 97 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 27ad8690b901..bb91a0fbb005 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 29f097956447..8ac0691474be 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
+}
```
## 感谢
diff --git a/run.sh b/run.sh
index 30e7d0ecc55c..6ccaab044bfc 100755
--- a/run.sh
+++ b/run.sh
@@ -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