This commit is contained in:
2024-01-30 11:19:53 +08:00
parent 82b352d827
commit c8e0d5042e
15 changed files with 198 additions and 11 deletions

View File

@@ -0,0 +1,7 @@
#!/bin/bash
export XDG_SESSION_TYPE=x11
export QT_QPA_PLATFORM=xcb
unset WAYLAND_DISPLAYCOPY
XDG_CURRENT_DESKTOP="Deepin"
export LD_LIBRARY_PATH=/usr/share/uengine/lib64/
uengine-session "$@" -platformtheme=deepin

View File

@@ -0,0 +1,15 @@
#!/bin/bash
programPath=$(cd $(dirname $0); pwd)
if [[ ! -f /usr/bin/uengine ]]; then
echo 未安装uengine请先安装
exit 1
fi
if [[ -f /usr/bin/uengine-session ]] ;then
echo 已经安装补丁,无需重复安装!
exit 1
fi
sudo mv /usr/bin/uengine /usr/bin/uengine-session
sudo cp "$programPath/uengine" /usr/bin/uengine
sudo chmod +x /usr/bin/uengine
sudo systemctl restart uengine-session.service
echo 补丁安装完成!

View File

@@ -0,0 +1,15 @@
#!/bin/bash
programPath=$(cd $(dirname $0); pwd)
if [[ ! -f /usr/bin/uengine ]]; then
echo 未安装uengine请先安装
exit 1
fi
if [[ ! -f /usr/bin/uengine-session ]] ;then
echo 未安装补丁,无需卸载!
exit 1
fi
rm -fv /usb/bin/uengine
sudo mv /usr/bin/uengine-session /usr/bin/uengine
sudo chmod +x /usr/bin/uengine
sudo systemctl restart uengine-session.service
echo 补丁卸载完成!

View File

@@ -27,10 +27,11 @@
"※2、修复 deepin 23 安装的 APK 无法正常在启动器显示图标的问题",
"※3、新增 ARM 架构非飞腾 CPU 识别防止破坏鲲鹏 kbox 环境",
"※4、修复部分系统在使用程序的一些功能时发生崩溃的问题",
"5、优化安装量统计机制",
"6、关于窗口新增赞助页",
"7、新增 QQ 交流群入口",
"8、内置 Via 浏览器",
"5、新增 UEngine For Wayland 补丁",
"6、优化安装量统计机制",
"7、关于窗口新增赞助页",
"8、新增 QQ 交流群入口",
"9、内置 Via 浏览器",
"",
"<b>V2.1.2</b>",
"※1、修复 https://gitee.com/gfdgd-xi/uengine-runner/issues/I6ZRZX",
@@ -273,7 +274,7 @@
"11、deepin 终端",
"……"
],
"Time": "2024-01-30 10:09:22 Linux-6.1.32-amd64-desktop-hwe-x86_64-with-glibc2.35",
"Time": "2024-01-30 11:09:35 Linux-6.1.32-amd64-desktop-hwe-x86_64-with-glibc2.35",
"Contribute": [
"<b>感谢以下用户提供的问题、建议、图标、代码等,如果有遗漏,请及时与开发者联系添加,以及如果侵犯到您的合法权益,也及时与开发者联系:</p>",
"<hr>",

View File

@@ -2,3 +2,6 @@
export XDG_SESSION_TYPE=x11
export QT_QPA_PLATFORM=xcb
unset WAYLAND_DISPLAYCOPY
XDG_CURRENT_DESKTOP="Deepin"
export LD_LIBRARY_PATH=/usr/share/uengine/lib64/
"$@"

View File

@@ -1570,6 +1570,26 @@ def BackAPK(choice):
global choose
choose = choice
def InstallUEnginePatchForWayland():
if os.system("which uengine"):
QtWidgets.QMessageBox.critical(window, "错误", "未安装UEngine请先安装UEngine")
return
if os.path.exists("/usr/bin/uengine-session"):
QtWidgets.QMessageBox.critical(window, "提示", "已安装该补丁,请勿重复安装")
return
os.system(f"pkexec bash '{programPath}/LoadingBinder/uengine-wayland-install.sh'")
QtWidgets.QMessageBox.information(window, "提示", "安装成功!重启电脑后生效")
def RemoveUEnginePatchForWayland():
if os.system("which uengine"):
QtWidgets.QMessageBox.critical(window, "错误", "未安装UEngine请先安装UEngine")
return
if not os.path.exists("/usr/bin/uengine-session"):
QtWidgets.QMessageBox.critical(window, "提示", "已卸载该补丁,无需卸载")
return
os.system(f"pkexec bash '{programPath}/LoadingBinder/uengine-wayland-uninstall.sh'")
QtWidgets.QMessageBox.information(window, "提示", "卸载成功!重启电脑后生效")
###########################
# 程序信息
###########################
@@ -1876,10 +1896,19 @@ if not os.path.exists("/usr/bin/uengine"):
OpenTerminal(f"bash '{programPath}/uengine-installer'")
sys.exit(0)
###########################
# 窗口创建
###########################
window = QtWidgets.QMainWindow()
# 判断系统是不是 Deepin 23、有没有安装 Wayland 补丁、是不是 Wayland 环境
if not os.path.exists("/usr/bin/uengine-session") and isDeepin23 and os.getenv("XDG_SESSION_TYPE") == "wayland":
# 如果是
if QtWidgets.QMessageBox.question(None, "提示", "检测到您使用的是 Deepin 23 + Wayland 环境,建议安装 UEngine For Wayland 补丁以便能正常使用 UEngine是否安装") == QtWidgets.QMessageBox.Yes:
InstallUEnginePatchForWayland()
widget = QtWidgets.QWidget()
widgetLayout = QtWidgets.QGridLayout()
# 权重
@@ -2024,6 +2053,9 @@ uengineUbuntuInstall = QtWidgets.QAction(QtGui.QIcon.fromTheme("ubuntu-logo-icon
uengineUbuntuRemove = QtWidgets.QAction(QtGui.QIcon.fromTheme("ubuntu-logo-icon"), "移除在 Ubuntu/Debian 上安装的 UEngine 及其附属脚本")
uengineUbuntuInstallRoot = QtWidgets.QAction(QtGui.QIcon.fromTheme("ubuntu-logo-icon"), "在 Ubuntu/Debian 上安装 UEngineSuperSU 镜像)")
uengineWindowSizeSetting = QtWidgets.QAction(langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Menu"][16])
uengineInstallVia = QtWidgets.QAction("安装 Via")
installUEnginePatchForWayland = QtWidgets.QAction("安装 UEngine For Wayland 补丁")
uninstallUEnginePatchForWayland = QtWidgets.QAction("卸载 UEngine For Wayland 补丁")
uengine.addAction(uengineOpenDebBuilder)
uengine.addAction(uengineOpenDebBuilderMore)
uengine.addAction(uengineKeyboardToMouse)
@@ -2049,6 +2081,12 @@ uengine.addSeparator()
uengine.addAction(uengineDeleteUengineCheck)
uengine.addAction(uengineReinstall)
uengineRoot = uengine.addMenu(langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Menu"][11]["Name"])
uengine.addSeparator()
uengine.addAction(uengineInstallVia)
uengine.addSeparator()
uengine.addAction(installUEnginePatchForWayland)
uengine.addAction(uninstallUEnginePatchForWayland)
#uengineUbuntuInstall.setDisabled(True)
# 绑定信号
uengineAllowOrDisallowUpdateAndroidApp.triggered.connect(AllowOrDisallowUpdateAndroidApp)
@@ -2063,6 +2101,14 @@ uengineUbuntuInstallRoot.triggered.connect(UengineUbuntuInstallRoot)
uengineDeleteUengineCheck.triggered.connect(DelUengineCheck)
uengineReinstall.triggered.connect(ReinstallUengine)
uengineWindowSizeSetting.triggered.connect(UengineWindowSizeSetting.ShowWindow)
installUEnginePatchForWayland.triggered.connect(InstallUEnginePatchForWayland)
uninstallUEnginePatchForWayland.triggered.connect(RemoveUEnginePatchForWayland)
def InstallVia():
ComboInstallPath.setCurrentText(f"{programPath}/APK/Via.apk")
Button3Install()
uengineInstallVia.triggered.connect(InstallVia)
uengineStart = QtWidgets.QAction(QtGui.QIcon.fromTheme("services"), langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Menu"][2]["Menu"][0])
uengineStop = QtWidgets.QAction(QtGui.QIcon.fromTheme("services"), langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Menu"][2]["Menu"][1])