From f41036441c7ce03915ab6c1e7a80096db8728989 Mon Sep 17 00:00:00 2001
From: gfdgd_xi <3025613752@qq.com>
Date: Thu, 12 Jan 2023 22:29:12 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0Makefile?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Makefile                                      |  11 +-
 UI/KeyAddGui.py                               |  85 ------------
 UI/KeyAddGui.ui                               | 127 -----------------
 UI/KeyAddKeyboardGui.py                       |  86 ------------
 UI/KeyAddKeyboardGui.ui                       | 130 ------------------
 UI/__pycache__/AutoConfig.cpython-310.pyc     | Bin 2603 -> 0 bytes
 UI/__pycache__/AutoConfig.cpython-37.pyc      | Bin 3820 -> 0 bytes
 UI/__pycache__/KeyAddGui.cpython-37.pyc       | Bin 3123 -> 0 bytes
 .../KeyAddKeyboardGui.cpython-37.pyc          | Bin 2674 -> 0 bytes
 api/__init__.py                               |  11 +-
 wayland.sh => run-program-without-wayland.sh  |   1 +
 11 files changed, 15 insertions(+), 436 deletions(-)
 delete mode 100755 UI/KeyAddGui.py
 delete mode 100755 UI/KeyAddGui.ui
 delete mode 100755 UI/KeyAddKeyboardGui.py
 delete mode 100755 UI/KeyAddKeyboardGui.ui
 delete mode 100755 UI/__pycache__/AutoConfig.cpython-310.pyc
 delete mode 100644 UI/__pycache__/AutoConfig.cpython-37.pyc
 delete mode 100644 UI/__pycache__/KeyAddGui.cpython-37.pyc
 delete mode 100755 UI/__pycache__/KeyAddKeyboardGui.cpython-37.pyc
 rename wayland.sh => run-program-without-wayland.sh (87%)

diff --git a/Makefile b/Makefile
index d05a7e7..e70b00f 100755
--- a/Makefile
+++ b/Makefile
@@ -20,8 +20,8 @@ build:
 	cp -rv uengine-app-setting.py               new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
 	cp -rv uengine-app-install                  new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
 	cp -rv uengine_logo.svg                     new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
-	cp -rv defult.svg                     new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
-	cp -rv defult.png                     new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
+	cp -rv defult.svg                           new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
+	cp -rv defult.png                           new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
 	cp -rv runner.svg                           new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
 	cp -rv root-uengine.sh                      new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
 	cp -rv menu.svg                             new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
@@ -34,7 +34,12 @@ build:
 	cp -rv Download.py                          new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
 	cp -rv updatekiller.py                      new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
 	cp -rv pkexec/*                             new-deb-build/usr/share/polkit-1/actions
-	python3 RemovePycacheFile.py
+	cp -rv AutoShell                            new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
+	cp -rv UI                                   new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
+	cp -rv ConfigLanguareRunner-help.json       new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
+	cp -rv ConfigLanguareRunner.py              new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
+	cp -rv run-program-without-wayland.sh       new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
+	python3 RemovePycacheFile.py                new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
 	cp -rv new-deb-build /tmp/uengine-runner-builder
 	sudo chown -R root:root /tmp/uengine-runner-builder
 	dpkg -b /tmp/uengine-runner-builder com.gitee.uengine.runner.spark.deb
diff --git a/UI/KeyAddGui.py b/UI/KeyAddGui.py
deleted file mode 100755
index 45e7d8c..0000000
--- a/UI/KeyAddGui.py
+++ /dev/null
@@ -1,85 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Form implementation generated from reading ui file 'KeyAddGui.ui'
-#
-# Created by: PyQt5 UI code generator 5.11.3
-#
-# WARNING! All changes made in this file will be lost!
-
-from PyQt5 import QtCore, QtGui, QtWidgets
-
-class Ui_MainWindow(object):
-    def setupUi(self, MainWindow):
-        MainWindow.setObjectName("MainWindow")
-        MainWindow.resize(692, 314)
-        self.centralwidget = QtWidgets.QWidget(MainWindow)
-        self.centralwidget.setObjectName("centralwidget")
-        self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
-        self.verticalLayout.setObjectName("verticalLayout")
-        self.tips = QtWidgets.QLabel(self.centralwidget)
-        self.tips.setObjectName("tips")
-        self.verticalLayout.addWidget(self.tips)
-        self.keyBoardList = QtWidgets.QListView(self.centralwidget)
-        self.keyBoardList.setObjectName("keyBoardList")
-        self.verticalLayout.addWidget(self.keyBoardList)
-        self.horizontalLayout = QtWidgets.QHBoxLayout()
-        self.horizontalLayout.setObjectName("horizontalLayout")
-        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
-        self.horizontalLayout.addItem(spacerItem)
-        self.addButton = QtWidgets.QPushButton(self.centralwidget)
-        self.addButton.setObjectName("addButton")
-        self.horizontalLayout.addWidget(self.addButton)
-        self.editButton = QtWidgets.QPushButton(self.centralwidget)
-        self.editButton.setObjectName("editButton")
-        self.horizontalLayout.addWidget(self.editButton)
-        self.delectButton = QtWidgets.QPushButton(self.centralwidget)
-        self.delectButton.setObjectName("delectButton")
-        self.horizontalLayout.addWidget(self.delectButton)
-        self.verticalLayout.addLayout(self.horizontalLayout)
-        MainWindow.setCentralWidget(self.centralwidget)
-        self.menuBar = QtWidgets.QMenuBar(MainWindow)
-        self.menuBar.setGeometry(QtCore.QRect(0, 0, 692, 33))
-        self.menuBar.setObjectName("menuBar")
-        self.menu = QtWidgets.QMenu(self.menuBar)
-        self.menu.setObjectName("menu")
-        MainWindow.setMenuBar(self.menuBar)
-        self.action = QtWidgets.QAction(MainWindow)
-        self.action.setObjectName("action")
-        self.serverTips = QtWidgets.QAction(MainWindow)
-        self.serverTips.setEnabled(False)
-        self.serverTips.setObjectName("serverTips")
-        self.startServer = QtWidgets.QAction(MainWindow)
-        self.startServer.setObjectName("startServer")
-        self.stopServer = QtWidgets.QAction(MainWindow)
-        self.stopServer.setObjectName("stopServer")
-        self.setAutoStart = QtWidgets.QAction(MainWindow)
-        self.setAutoStart.setObjectName("setAutoStart")
-        self.setUnautoStart = QtWidgets.QAction(MainWindow)
-        self.setUnautoStart.setObjectName("setUnautoStart")
-        self.menu.addAction(self.serverTips)
-        self.menu.addSeparator()
-        self.menu.addAction(self.startServer)
-        self.menu.addAction(self.stopServer)
-        self.menu.addSeparator()
-        self.menu.addAction(self.setAutoStart)
-        self.menu.addAction(self.setUnautoStart)
-        self.menuBar.addAction(self.menu.menuAction())
-
-        self.retranslateUi(MainWindow)
-        QtCore.QMetaObject.connectSlotsByName(MainWindow)
-
-    def retranslateUi(self, MainWindow):
-        _translate = QtCore.QCoreApplication.translate
-        MainWindow.setWindowTitle(_translate("MainWindow", "编辑快捷键"))
-        self.tips.setText(_translate("MainWindow", "<html><head/><body><p>此工具可以用于设置快捷键到 Wine 容器的映射,以便 Wine 程序可以正常的使用快捷键<br/>Deepin/UOS将会使用默认的快捷键服务,其它发行版将使用此运行器提供的快捷键服务<br>Deepin/UOS将只会提供快捷键添加功能,请在控制中心进行快捷键的修改管理</p></body></html>"))
-        self.addButton.setText(_translate("MainWindow", "添加"))
-        self.editButton.setText(_translate("MainWindow", "编辑"))
-        self.delectButton.setText(_translate("MainWindow", "删除"))
-        self.menu.setTitle(_translate("MainWindow", "设置快捷键服务"))
-        self.action.setText(_translate("MainWindow", "关于"))
-        self.serverTips.setText(_translate("MainWindow", "此内容只支持非Deepin/UOS发行版"))
-        self.startServer.setText(_translate("MainWindow", "启动服务"))
-        self.stopServer.setText(_translate("MainWindow", "停止服务"))
-        self.setAutoStart.setText(_translate("MainWindow", "设置开机自启"))
-        self.setUnautoStart.setText(_translate("MainWindow", "关闭开机自启动"))
-
diff --git a/UI/KeyAddGui.ui b/UI/KeyAddGui.ui
deleted file mode 100755
index a0869ec..0000000
--- a/UI/KeyAddGui.ui
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>MainWindow</class>
- <widget class="QMainWindow" name="MainWindow">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>692</width>
-    <height>314</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>编辑快捷键</string>
-  </property>
-  <widget class="QWidget" name="centralwidget">
-   <layout class="QVBoxLayout" name="verticalLayout">
-    <item>
-     <widget class="QLabel" name="tips">
-      <property name="text">
-       <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;此工具可以用于设置快捷键到 Wine 容器的映射,以便 Wine 程序可以正常的使用快捷键&lt;br/&gt;Deepin/UOS将会使用默认的快捷键服务,其它发行版将使用此运行器提供的快捷键服务&lt;br&gt;Deepin/UOS将只会提供快捷键添加功能,请在控制中心进行快捷键的修改管理&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-      </property>
-     </widget>
-    </item>
-    <item>
-     <widget class="QListView" name="keyBoardList"/>
-    </item>
-    <item>
-     <layout class="QHBoxLayout" name="horizontalLayout">
-      <item>
-       <spacer name="horizontalSpacer">
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>40</width>
-          <height>20</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item>
-       <widget class="QPushButton" name="addButton">
-        <property name="text">
-         <string>添加</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QPushButton" name="editButton">
-        <property name="text">
-         <string>编辑</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QPushButton" name="delectButton">
-        <property name="text">
-         <string>删除</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </item>
-   </layout>
-  </widget>
-  <widget class="QMenuBar" name="menuBar">
-   <property name="geometry">
-    <rect>
-     <x>0</x>
-     <y>0</y>
-     <width>692</width>
-     <height>33</height>
-    </rect>
-   </property>
-   <widget class="QMenu" name="menu">
-    <property name="title">
-     <string>设置快捷键服务</string>
-    </property>
-    <addaction name="serverTips"/>
-    <addaction name="separator"/>
-    <addaction name="startServer"/>
-    <addaction name="stopServer"/>
-    <addaction name="separator"/>
-    <addaction name="setAutoStart"/>
-    <addaction name="setUnautoStart"/>
-   </widget>
-   <addaction name="menu"/>
-  </widget>
-  <action name="action">
-   <property name="text">
-    <string>关于</string>
-   </property>
-  </action>
-  <action name="serverTips">
-   <property name="enabled">
-    <bool>false</bool>
-   </property>
-   <property name="text">
-    <string>此内容只支持非Deepin/UOS发行版</string>
-   </property>
-  </action>
-  <action name="startServer">
-   <property name="text">
-    <string>启动服务</string>
-   </property>
-  </action>
-  <action name="stopServer">
-   <property name="text">
-    <string>停止服务</string>
-   </property>
-  </action>
-  <action name="setAutoStart">
-   <property name="text">
-    <string>设置开机自启</string>
-   </property>
-  </action>
-  <action name="setUnautoStart">
-   <property name="text">
-    <string>关闭开机自启动</string>
-   </property>
-  </action>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/UI/KeyAddKeyboardGui.py b/UI/KeyAddKeyboardGui.py
deleted file mode 100755
index 5e4e12c..0000000
--- a/UI/KeyAddKeyboardGui.py
+++ /dev/null
@@ -1,86 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Form implementation generated from reading ui file 'KeyAddKeyboardGui.ui'
-#
-# Created by: PyQt5 UI code generator 5.11.3
-#
-# WARNING! All changes made in this file will be lost!
-
-from PyQt5 import QtCore, QtGui, QtWidgets
-
-class Ui_MainWindow(object):
-    def setupUi(self, MainWindow):
-        MainWindow.setObjectName("MainWindow")
-        MainWindow.resize(800, 195)
-        icon = QtGui.QIcon.fromTheme("..")
-        MainWindow.setWindowIcon(icon)
-        self.centralwidget = QtWidgets.QWidget(MainWindow)
-        self.centralwidget.setObjectName("centralwidget")
-        self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
-        self.verticalLayout.setObjectName("verticalLayout")
-        self.addTips = QtWidgets.QLabel(self.centralwidget)
-        self.addTips.setObjectName("addTips")
-        self.verticalLayout.addWidget(self.addTips)
-        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
-        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
-        self.exeNameTips = QtWidgets.QLabel(self.centralwidget)
-        self.exeNameTips.setObjectName("exeNameTips")
-        self.horizontalLayout_3.addWidget(self.exeNameTips)
-        self.exeName = QtWidgets.QLineEdit(self.centralwidget)
-        self.exeName.setObjectName("exeName")
-        self.horizontalLayout_3.addWidget(self.exeName)
-        self.verticalLayout.addLayout(self.horizontalLayout_3)
-        self.horizontalLayout = QtWidgets.QHBoxLayout()
-        self.horizontalLayout.setObjectName("horizontalLayout")
-        self.localTips = QtWidgets.QLabel(self.centralwidget)
-        self.localTips.setObjectName("localTips")
-        self.horizontalLayout.addWidget(self.localTips)
-        self.localKeyboardChoose = QtWidgets.QComboBox(self.centralwidget)
-        self.localKeyboardChoose.setObjectName("localKeyboardChoose")
-        self.horizontalLayout.addWidget(self.localKeyboardChoose)
-        self.addTips_2 = QtWidgets.QLabel(self.centralwidget)
-        self.addTips_2.setObjectName("addTips_2")
-        self.horizontalLayout.addWidget(self.addTips_2)
-        self.localKey = QtWidgets.QLineEdit(self.centralwidget)
-        self.localKey.setObjectName("localKey")
-        self.horizontalLayout.addWidget(self.localKey)
-        self.wineTips = QtWidgets.QLabel(self.centralwidget)
-        self.wineTips.setObjectName("wineTips")
-        self.horizontalLayout.addWidget(self.wineTips)
-        self.wineKeyboardChoose = QtWidgets.QComboBox(self.centralwidget)
-        self.wineKeyboardChoose.setObjectName("wineKeyboardChoose")
-        self.horizontalLayout.addWidget(self.wineKeyboardChoose)
-        self.addTipsWine = QtWidgets.QLabel(self.centralwidget)
-        self.addTipsWine.setObjectName("addTipsWine")
-        self.horizontalLayout.addWidget(self.addTipsWine)
-        self.wineKey = QtWidgets.QLineEdit(self.centralwidget)
-        self.wineKey.setObjectName("wineKey")
-        self.horizontalLayout.addWidget(self.wineKey)
-        self.verticalLayout.addLayout(self.horizontalLayout)
-        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
-        self.verticalLayout.addItem(spacerItem)
-        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
-        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
-        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
-        self.horizontalLayout_2.addItem(spacerItem1)
-        self.addButton = QtWidgets.QPushButton(self.centralwidget)
-        self.addButton.setObjectName("addButton")
-        self.horizontalLayout_2.addWidget(self.addButton)
-        self.verticalLayout.addLayout(self.horizontalLayout_2)
-        MainWindow.setCentralWidget(self.centralwidget)
-
-        self.retranslateUi(MainWindow)
-        QtCore.QMetaObject.connectSlotsByName(MainWindow)
-
-    def retranslateUi(self, MainWindow):
-        _translate = QtCore.QCoreApplication.translate
-        MainWindow.setWindowTitle(_translate("MainWindow", "添加快捷键"))
-        self.addTips.setText(_translate("MainWindow", "暂时只支持特定组合\n"
-"文本框内的只能输入单字母"))
-        self.exeNameTips.setText(_translate("MainWindow", "可这执行文件名称:"))
-        self.localTips.setText(_translate("MainWindow", "本地映射:"))
-        self.addTips_2.setText(_translate("MainWindow", "+"))
-        self.wineTips.setText(_translate("MainWindow", "Wine 容器映射内容:"))
-        self.addTipsWine.setText(_translate("MainWindow", "+"))
-        self.addButton.setText(_translate("MainWindow", "添加快捷键"))
-
diff --git a/UI/KeyAddKeyboardGui.ui b/UI/KeyAddKeyboardGui.ui
deleted file mode 100755
index b6eb4bc..0000000
--- a/UI/KeyAddKeyboardGui.ui
+++ /dev/null
@@ -1,130 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>MainWindow</class>
- <widget class="QMainWindow" name="MainWindow">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>800</width>
-    <height>195</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>添加快捷键</string>
-  </property>
-  <property name="windowIcon">
-   <iconset theme="..">
-    <normaloff>../../../.designer/backup</normaloff>../../../.designer/backup</iconset>
-  </property>
-  <widget class="QWidget" name="centralwidget">
-   <layout class="QVBoxLayout" name="verticalLayout">
-    <item>
-     <widget class="QLabel" name="addTips">
-      <property name="text">
-       <string>暂时只支持特定组合
-文本框内的只能输入单字母</string>
-      </property>
-     </widget>
-    </item>
-    <item>
-     <layout class="QHBoxLayout" name="horizontalLayout_3">
-      <item>
-       <widget class="QLabel" name="exeNameTips">
-        <property name="text">
-         <string>可这执行文件名称:</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QLineEdit" name="exeName"/>
-      </item>
-     </layout>
-    </item>
-    <item>
-     <layout class="QHBoxLayout" name="horizontalLayout">
-      <item>
-       <widget class="QLabel" name="localTips">
-        <property name="text">
-         <string>本地映射:</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QComboBox" name="localKeyboardChoose"/>
-      </item>
-      <item>
-       <widget class="QLabel" name="addTips_2">
-        <property name="text">
-         <string>+</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QLineEdit" name="localKey"/>
-      </item>
-      <item>
-       <widget class="QLabel" name="wineTips">
-        <property name="text">
-         <string>Wine 容器映射内容:</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QComboBox" name="wineKeyboardChoose"/>
-      </item>
-      <item>
-       <widget class="QLabel" name="addTipsWine">
-        <property name="text">
-         <string>+</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QLineEdit" name="wineKey"/>
-      </item>
-     </layout>
-    </item>
-    <item>
-     <spacer name="verticalSpacer">
-      <property name="orientation">
-       <enum>Qt::Vertical</enum>
-      </property>
-      <property name="sizeHint" stdset="0">
-       <size>
-        <width>20</width>
-        <height>40</height>
-       </size>
-      </property>
-     </spacer>
-    </item>
-    <item>
-     <layout class="QHBoxLayout" name="horizontalLayout_2">
-      <item>
-       <spacer name="horizontalSpacer">
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>40</width>
-          <height>20</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item>
-       <widget class="QPushButton" name="addButton">
-        <property name="text">
-         <string>添加快捷键</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </item>
-   </layout>
-  </widget>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/UI/__pycache__/AutoConfig.cpython-310.pyc b/UI/__pycache__/AutoConfig.cpython-310.pyc
deleted file mode 100755
index bbf0dfbe8815d7bfbc44d02f5b412bd4f8cb7d9e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2603
zcmZuzTW=dh6y9C0udy9Bx8BmyKyLxuR0$y<A=D%-rBV`N(zIw_thHyFY_NCD>@2w`
zNR`^srbti;2~|}dZ0JLZN`-)jHWYryzEV5QQ{Q>woZ0opDP3#FXTI~zIcF~C%vz~b
zLV_oJHdf5GOVU5sX?;}aoPpOq2@R2mT$0MNCYKdWDTlO>ES;B#LPFOi5~Aw0kQOHD
zjMN|A2Da26aw9oDZZYbHbNswxxbYmnY>+w1?IIFd9|byR;I(_9p^_#ONmGbSl<Sff
zA|ax}ze>VjJmRKijr^o;n3oNcSc^p*+I&JF#NZu=*S-UqRk;dL*JK$bFh@c)MV7cy
z4XpyYD&^HxX+Z^!iX6bh*cX}zND<J4eND6`0Y3(44A6*=#shu=qy%W9s1d9-M0{Q{
z;H5xH0WY?Tm-2b(fY%OEJMiMWc<p{KQq6!~*np__1fx1Y>VQ$gFUXN9M$zG0_vX+E
zNGEXGe6))sNs22A-3vXU-CI+?QUqt;s^W8Y;@S_I{V+Q1N75-g?Du<KT%DpPR}TPJ
zMHyl|=&yJ$V7=8t{BZR((hfg`WNLyVaEa{k`A4uXcA^iYKJX}J0sHv6rx8})@U0#N
z>?m-AXYkg<j{$xR@GjqK6F(04alpG@!cPEx0`MNhLGG)bL?r0-*Q6Hwn2+}gR$uka
zn&ctXw=gb<@bJRh)vPBI36AgHDL1imc#R`)VvWz>pt`9dH96Buiy}kZ%$JmLqo|iA
z^kvK8`5`wmZ!u%VGI<ko6E@XZasHxFvE8IE&l~0(_H+uGF^hA{Z1N@yo4Xw^TgeY@
zV{&hILF2}mV|s&_jNnlOqh)G31)aGn3T{|0KtOIAT{8GIv*wsycGY=Ws<<($Ld}ni
z674_brfkYTDJ;+;pVG@zi!f>%E0keD(V{u846rEn+H#l1tR-)n43ig-k9UwbB9YvL
zUZ5q0)k=%&gm?zDcy7Wl={aI>*5-|zcI^2v2dB-FO|oZOkZpd+po=U8Dwg&}%vAIu
zWfwRtgX0+pa@r~x#bqsiZmFW11lCiFP8z0BcFI~5TqBe1!Lb>b<G8nLemt?<BrMUG
z&RC}~4utd6DpSsu8P+K+ock1(1pbi6aLqN?MedJ+l^HE^17hz64eP;XFE;y-i1YT;
zS`x$=TG5%#Ev6-KUp$SQV&F_S?UK&vtN}Bcq+ItlLhC46rU~w6N*1@rmT_aCNUJt2
zU11UQkg$Wbcpxz>#sAI?lqoUvfw?PWj^vk&fz!p|k-`WqWCsV|*R$^opDtwI8zv*!
z(^P*~A1aI#h6W2e?6cJVoLiLvLTM$t2z!-<6J}C2FneKO)Zx~+WnMAnPF0rOC@h0h
znKf|NYywR}PKsX|T9olW{Zi{;sNJ`VvD5c#w6<xmmX<r@gp!e0x_8|rr~DZHcc+9Q
z9&x8U1c6Hn@`3^tQifYZTvFFWm4rH>!u^3rC_o}Uq6SFRN5TOTtH#BsNPr}KPBcK;
zd?XeiNgs&^NXkbN9wO>Z+mzT^rvn0ie)H%0?Tzhg8(V+<_Wb(2#`;5N2;jz@^{qdC
ztbcu@{^-ezr?;Lx-rRby`Rvc1p4T=ScmLkHzu8#3+E`y}64qWkz31R@@y0pu-5_~3
z8^7Fd{P3hvyCu|H8{gD7zY}8p#_!KIzjbhHx36BU-`s4~J$_Wb{lLK!-dOv-{uEq2
ztgrvt8fAalOP)*)za~a2706E=)5MJjXWdQ1-g#dH7Y$ybUa7!Cb&)P{Q42)UdN~(E
zT+m*TX#F8}5Tfx@A|JRA3E?$|P=5fLQFv`k<CvU*Gu8U*kyj4xK3%&~bE-e=#`1X+
zk}#il6Zw4EB2EeAWIq3eqnA7lJKS{D;vO@Ti5T!;V&$`OLt+p`a+o1D1>Z^G>E#?B
l7E8zAnvq2Dbt9Ij%7XPOlWyz-FOm=O2C%VUcg4Dt{{Z|n$Tt80

diff --git a/UI/__pycache__/AutoConfig.cpython-37.pyc b/UI/__pycache__/AutoConfig.cpython-37.pyc
deleted file mode 100644
index 7cb1f2ce457fd63f150e6994e9cdfd5aa51bd888..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3820
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

diff --git a/UI/__pycache__/KeyAddGui.cpython-37.pyc b/UI/__pycache__/KeyAddGui.cpython-37.pyc
deleted file mode 100644
index 22d67112fc9f7ae5126001d88c5bf9ab24337250..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3123
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
a{e&aVRKa?hLq9bv^BBRy)5SBWKk_?Ku-Y*I

diff --git a/UI/__pycache__/KeyAddKeyboardGui.cpython-37.pyc b/UI/__pycache__/KeyAddKeyboardGui.cpython-37.pyc
deleted file mode 100755
index f2da1d9fd7cbf57252e2fcb9050be3d7d40afbcc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2674
zcmZ`*&2JM&6yFbjJ5G$_kZ+(+T3ke|QuS7~kd#scq*x?H+RMuE49ObX>&~uA5}89w
zprs-LskD@cgL6Rig90ZIqAiF113mAxT_-v9&Z+OsjBP^bS~L6Rz2AFp=IwiLJf29z
z6nNr)jTib;it;xuT2BCoLol3uFcF2QC8ewyYFRV1vTo?Aa#SH2(U%mW)4)aD2$H~Q
zB@^5Lw35-iP|lsO8TEoW_h`-XqB-}BMP{k%6cEsQG$0Paa7JLFilGw4(1=R3CB@K*
zP6F@_kRTWid5LMuJejvDXRHdb&lgY?pCF77j0qUdfUYQYwE??bRaK<G6wy~TRdKbV
z-UyJus(L{Kez2|~!VNXTb->mYGg4QI5zq`ueiYYS5(6p*l8}_d+mbGzx<C>}2}dQ6
zBXQlUz%zS*(*qc=#r<`(lORcgBr3Ig8mOI=xNSfS|0$qSfQxOyrQ|Bs=mmL?)Dk|^
zz)6EfTyi@;`#{nM623={LZ5vSw;gEVvmdB_z$K)YG~ZkQ7JCDL8vtDQCftC;b<Qvd
zxIw`2eF81)4Q{bF1hOH(@hG%$LlW27-!RCA0k>_F-{CFxMgTVgxK^};-w}!H>~9os
zqk!w(WN%ciM2yo?YX?b_J~vd{S=`0v*H!};bkL7AcGq=@5#M1CaQA@K?QP9Ik`_8b
zA2b6Tv%4OUnAc$~zQJCg_JTH#I!EER+KV`Ni#_e(E4A?kaCnB*mByQx(U5EVikZe+
zf+h--(7>b@>lBc+3u<NKPpFzjZEVa-6lld|`O<k_rC#^vl(|+RUpkRruxqXt&J!|a
zRUI!iXESTjuDC6c`HmN-^K>#_rW_EK3orRH(u<aCu*gxpoIFk!X6!s86LYrhP%kQ-
zm<PQ`OYTL^TNPnBh15$baj61LfqG#H*hs^vHn4BKV!H>qoAH|K+Lg?HBjHf@lbIqd
zxOf61#HeE}QU<Y6j9~6q!LAt5v&=3}%~22|8eBpDK?%biX@qm4v#|)S;<-=9?RgP3
z7DY}dcOpMSOAK4BfkzZ@Kz`go#zDxsI3jlf&T@oUE=#mDq`7Vc^$5^}U7oQ)pCysG
z4JYW}3hTuQ&(HdB+71(VI$g~dC_CoTGA`hNr|gndSTMpTt%_Bym5u0;`D(sGtjer`
zpBj;DQ0ShjIddXhYzR3?h{1$N7I6|U!6>9o#VO@oI&CrR%;4rEb@L*!Mhb#efe@cA
z*{(CbfRWAwy?{eYXBqZxBVb{mW6lfP?9gxjq_9yyJ^v^>XP0Sq_AHqt=Dd~tkUHmF
zyP74GRuAB}Kfr3>hh@*vh3wc^cKTQr(&aEAt)zjQXso*6h2aFX>a>ONcIIJH)R@`@
zKQVU$B?hhq)ta|*5YdwUA3Y##<GYR3V(MbwraNs+?yG&bVHV>3HUYy~fyq^hYEk1i
zm|o`><wbsvLG=glPJ^pcZ*xMD6KHe7k`rumB9aqobE1+HZgXN=FmcJz1crB)$Rz)i
zHO$ZE<EQ>N4gc9M&E>}%H}2OCA#df&=FLa`wV#_e9yG6hv3BK&e}84|>5_l_>sa&q
zubQ{-HCHeDmoKfYECFc!;_vH!eCuDj<1c^b|9Z3eV7WF7M*M3J)}P&KUb(xzdKHxZ
zdHTq|zPxt#;lIDF2*<bY`L`c7e`xp*mw@+N-Cx6;#qO}nzyHL)^`nr1A6Nn+(<Rb1
znZti8hpSa6i@a;u6))OOX`{Pc^;4ExqP&uM5>3&0msc&XN>PQp0D0}9=ZwzquZ_s^
znAx_;6Ix6=P>zQ?4#UABR@8`^R8v|?ZT%L9Hz&%bf}4a|ikM~vs>(FIm}!=6QY#_d
zWtyMW@+Bc*JHaw{^n!D&E5>(#d4^rc!KM~bBOfs2OlCqx@YF)ieV50H_eI|JypYYi
WCP%%>pci>h?Bjjxf(|x?wDunnqT4Y5

diff --git a/api/__init__.py b/api/__init__.py
index 9409c47..abd242c 100755
--- a/api/__init__.py
+++ b/api/__init__.py
@@ -45,9 +45,9 @@ class APK:
     def __init__(self, apkPath):
         self.apkPath = apkPath
     def install(self):
-        os.system("pkexec /usr/bin/uengine-session-launch-helper -- uengine install --apk='{}'".format(self.apkPath))
+        return os.system("uengine install --apk='{}'".format(self.apkPath))
     def uninstall(self):
-        os.system("pkexec /usr/bin/uengine-session-launch-helper -- uengine uninstall --pkg='{}'".format(self.packageName()))
+        return os.system("uengine uninstall --pkg='{}'".format(self.packageName()))
     def information(self):
         return subprocess.getoutput("aapt dump badging '{}'".format(self.apkPath))
     def activityName(self):
@@ -362,10 +362,11 @@ class UengineRunner:
 
 if __name__ == "__main__":
     print("本 API 不支持直接运行,请通过引入的方式使用此 API")
-    adb = Adb("192.168.250.2:5555")
-    print(adb.boolAndroidInstallOtherAppSetting())
+    #adb = Adb("192.168.250.2:5555")
+    #print(adb.boolAndroidInstallOtherAppSetting())
 
     quit()
 
 if not ROOT.GetRoot():
-    print("请获取 ROOT 权限以便更好的使用该 API")
\ No newline at end of file
+    pass
+    #print("请获取 ROOT 权限以便更好的使用该 API")
\ No newline at end of file
diff --git a/wayland.sh b/run-program-without-wayland.sh
similarity index 87%
rename from wayland.sh
rename to run-program-without-wayland.sh
index f3e313f..2ffe898 100644
--- a/wayland.sh
+++ b/run-program-without-wayland.sh
@@ -1,3 +1,4 @@
+#!/bin/bash
 export XDG_SESSION_TYPE=x11
 export QT_QPA_PLATFORM=xcb
 unset WAYLAND_DISPLAYCOPY