mirror of
https://gitee.com/gfdgd-xi/deep-wine-runner
synced 2026-08-07 04:23:56 +08:00
初步1.6.0格局形成
This commit is contained in:
Binary file not shown.
Binary file not shown.
Executable
+41
@@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env python3
|
||||
import os
|
||||
import sys
|
||||
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装 MSXML")
|
||||
sys.exit()
|
||||
if len(sys.argv) <= 2 or sys.argv[1] == "" or sys.argv[2] == "":
|
||||
print("您未指定需要安装 MSXML 的容器和使用的 wine,无法继续")
|
||||
print("参数:")
|
||||
print("XXX 参数一 参数二")
|
||||
print("参数一为需要安装的容器,参数二为需要使用的wine,两个参数位置不能颠倒")
|
||||
sys.exit()
|
||||
|
||||
msxmlList = [
|
||||
["MSXML 4.0 SP2", "https://www.gitlink.org.cn/api/attachments/390679?gfdgd_xi"],
|
||||
["MSXML 4.0 SP3", "https://www.gitlink.org.cn/api/attachments/390678?gfdgd_xi"],
|
||||
["MSXML 6.0", "https://www.gitlink.org.cn/api/attachments/390681?gfdgd_xi"]
|
||||
]
|
||||
print("请选择以下的 MSXML 进行安装(不保证能正常安装运行)")
|
||||
for i in range(0, len(msxmlList)):
|
||||
print(f"{i}、{msxmlList[i][0]}")
|
||||
while True:
|
||||
try:
|
||||
choose = int(input("请输入要选择要安装的 MSXML:"))
|
||||
except:
|
||||
print("输入错误,请重新输入")
|
||||
continue
|
||||
if 0 <= choose and choose < len(msxmlList):
|
||||
break
|
||||
print(f"您选择了 {msxmlList[choose][0]}")
|
||||
print("开始下载")
|
||||
os.system("rm -rfv /tmp/wineinstallmsxml")
|
||||
os.system("mkdir -p /tmp/wineinstallmsxml")
|
||||
os.system(f"aria2c -x 16 -s 16 -d /tmp/wineinstallmsxml -o install.msi \"{msxmlList[choose][1]}\"")
|
||||
print("开始安装")
|
||||
os.system(f"WINEPREFIX={sys.argv[1]} {sys.argv[2]} msiexec /i /tmp/wineinstallmsxml/install.msi")
|
||||
print("安装结束")
|
||||
sys.exit()
|
||||
@@ -0,0 +1,48 @@
|
||||
#!/usr/bin/env python3
|
||||
import os
|
||||
import sys
|
||||
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装运行库")
|
||||
sys.exit()
|
||||
if len(sys.argv) <= 2 or sys.argv[1] == "" or sys.argv[2] == "":
|
||||
print("您未指定需要安装的容器和使用的 wine,无法继续")
|
||||
print("参数:")
|
||||
print("XXX 参数一 参数二")
|
||||
print("参数一为需要安装的容器,参数二为需要使用的wine,两个参数位置不能颠倒")
|
||||
sys.exit()
|
||||
|
||||
msxmlList = [
|
||||
["Windows Script 5.7 for Windows XP", "https://download.microsoft.com/download/f/f/e/ffea3abf-b55f-4924-b5a5-bde0805ad67c/scripten.exe", "exe"],
|
||||
["Windows Management Instrumentation 1.50.1131", "https://www.gitlink.org.cn/api/attachments/390680", "exe"]
|
||||
]
|
||||
print("请选择以下的应用进行安装(不保证能正常安装运行)")
|
||||
for i in range(0, len(msxmlList)):
|
||||
print(f"{i}、{msxmlList[i][0]}")
|
||||
while True:
|
||||
try:
|
||||
choose = int(input("请输入要选择要安装的应用:"))
|
||||
except:
|
||||
print("输入错误,请重新输入")
|
||||
continue
|
||||
if 0 <= choose and choose < len(msxmlList):
|
||||
break
|
||||
print(f"您选择了{msxmlList[choose][0]}")
|
||||
print("开始下载")
|
||||
os.system("rm -rf /tmp/wineinstall")
|
||||
os.system("mkdir -p /tmp/wineinstall")
|
||||
if msxmlList[choose][2] == "msi":
|
||||
os.system(f"aria2c -x 16 -s 16 -d /tmp/wineinstall -o install.msi \"{msxmlList[choose][1]}\"")
|
||||
print("开始安装")
|
||||
os.system(f"WINEPREFIX={sys.argv[1]} {sys.argv[2]} msiexec /i /tmp/wineinstall/install.msi")
|
||||
print("安装结束")
|
||||
sys.exit()
|
||||
if msxmlList[choose][2] == "exe":
|
||||
os.system(f"aria2c -x 16 -s 16 -d /tmp/wineinstall -o install.exe \"{msxmlList[choose][1]}\"")
|
||||
print("开始安装")
|
||||
os.system(f"WINEPREFIX={sys.argv[1]} {sys.argv[2]} /tmp/wineinstall/install.exe")
|
||||
print("安装结束")
|
||||
sys.exit()
|
||||
pass
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
Package: spark-deepin-wine-runner
|
||||
Version: 1.5.3
|
||||
Version: 1.6.0
|
||||
Maintainer: gfdgd xi <3025613752@qq.com>, 为什么您不喜欢熊出没和阿布呢
|
||||
Homepage: https://gitee.com/gfdgd-xi/deep-wine-runner
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Depends: python3, python3-tk, python3-pip, python3-pil, python3-pil.imagetk, python3-pyquery, deepin-terminal, aria2, curl
|
||||
Depends: python3, python3-tk, python3-pip, python3-pil, python3-pil.imagetk, python3-pyquery, deepin-terminal, aria2, curl, unrar, unzip, python3-requests
|
||||
Conflicts: spark.deepin-venturi-setter, spark-deepin-wine5-application-packer
|
||||
Replaces: spark.deepin-venturi-setter, spark-deepin-wine5-application-packer
|
||||
Description: gfdgd xi 制作的 wine 运行器
|
||||
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
# !/bin/sh
|
||||
python3 -m pip install --upgrade ttkthemes -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
|
||||
python3 -m pip install --upgrade ttkthemes -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
|
||||
python3 -m pip install --upgrade ttkbootstrap -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
|
||||
python3 -m pip install --upgrade easygui -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
|
||||
# 向服务器返回安装数加1(不显示内容且忽略错误)
|
||||
curl http://120.25.153.144/spark-deepin-wine-runner/Install.php?Version=1.5.3 -s > /dev/null | true
|
||||
|
||||
Executable
+133
@@ -0,0 +1,133 @@
|
||||
#!/usr/bin/env python3
|
||||
import os
|
||||
import json
|
||||
import base64
|
||||
import requests
|
||||
import ttkthemes
|
||||
import traceback
|
||||
import webbrowser
|
||||
import tkinter as tk
|
||||
import tkinter.ttk as ttk
|
||||
import tkinter.messagebox as messagebox
|
||||
import urllib.parse as parse
|
||||
|
||||
# 读取文本文档
|
||||
def readtxt(path: "路径")->"读取文本文档":
|
||||
f = open(path, "r") # 设置文件对象
|
||||
str = f.read() # 获取内容
|
||||
f.close() # 关闭文本对象
|
||||
return str # 返回结果
|
||||
|
||||
def Update(name, stars, contact, things, version):
|
||||
# post 内容
|
||||
data = {
|
||||
"Name": name,
|
||||
"Starts": stars,
|
||||
"Contact": contact,
|
||||
"Things": things,
|
||||
"Version": version
|
||||
}
|
||||
try:
|
||||
messagebox.showinfo(message=requests.post(parse.unquote(base64.b64decode("aHR0cDovLzEyMC4yNS4xNTMuMTQ0L3NwYXJrLWRlZXBpbi13aW5lLXJ1bm5lci9idWcvdXBsb2FkLnBocA==").decode("utf-8")), data=data).text)
|
||||
except:
|
||||
traceback.print_exc()
|
||||
messagebox.showerror(title="错误", message="服务器疑似出现错误,可以进行以下尝试:①多尝试几次;②使用其他反馈途径\n错误信息:{}".format(traceback.format_exc()))
|
||||
|
||||
def UpdateButtonClick():
|
||||
#判断是否为空
|
||||
if nameThings.get() == "" or starValue.get() == "" or contactThings.get() == "" or updateThings.get(1.0, "end").replace(" ", "").replace("\n", "") == "":
|
||||
messagebox.showerror(title="错误", message="反馈信息未填写完整!")
|
||||
return
|
||||
Update(name=nameThings.get(), stars=starValue.get(), contact=contactThings.get(), things=updateThings.get(1.0, "end"), version=version)
|
||||
|
||||
def OpenGiteeIssues():
|
||||
webbrowser.open_new_tab("https://gitee.com/gfdgd-xi/deep-wine-runner/issues")
|
||||
|
||||
def OpenGithubIssues():
|
||||
webbrowser.open_new_tab("https://github.com/gfdgd-xi/deep-wine-runner/issues")
|
||||
|
||||
def OpenGitlinkIssues():
|
||||
webbrowser.open_new_tab("https://www.gitlink.org.cn/gfdgd_xi/deep-wine-runner/issues")
|
||||
|
||||
# 获取用户主目录
|
||||
def get_home()->"获取用户主目录":
|
||||
return os.path.expanduser('~')
|
||||
|
||||
###########################
|
||||
# 程序信息
|
||||
###########################
|
||||
iconPath = "{}/icon.png".format(os.path.split(os.path.realpath(__file__))[0])
|
||||
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
||||
information = json.loads(readtxt(programPath + "/information.json"))
|
||||
version = information["Version"]
|
||||
|
||||
###########################
|
||||
# 窗口创建
|
||||
###########################
|
||||
# 读取主题
|
||||
try:
|
||||
theme = not ("dark" in readtxt(get_home() + "/.gtkrc-2.0") and "gtk-theme-name=" in readtxt(get_home() + "/.gtkrc-2.0"))
|
||||
except:
|
||||
print("主题读取错误,默认使用浅色主题")
|
||||
theme = True
|
||||
if theme:
|
||||
window = tk.Tk()
|
||||
themes = ttkthemes.ThemedStyle(window)
|
||||
themes.set_theme("breeze")
|
||||
else:
|
||||
import ttkbootstrap
|
||||
style = ttkbootstrap.Style(theme="darkly")
|
||||
window = style.master # 创建窗口
|
||||
win = ttk.Frame()
|
||||
|
||||
starValue = tk.StringVar()
|
||||
starValue.set("5分")
|
||||
|
||||
name = ttk.Label(win, text="你的昵称:")
|
||||
nameThings = ttk.Entry(win, width=25)
|
||||
|
||||
contact = ttk.Label(win, text="联系方式(电子邮箱):")
|
||||
contactThings = ttk.Entry(win, width=25)
|
||||
|
||||
star = ttk.Label(win, text="评分:")
|
||||
starMenu = ttk.OptionMenu(win, starValue, "5分", "5分", "4分", "3分", "2分", "1分")
|
||||
|
||||
updateThingsTips = ttk.Label(win, text="反馈内容(支持 Markdown 格式):")
|
||||
updateThings = tk.Text(win, width=100)
|
||||
|
||||
otherUpload = ttk.Frame(win)
|
||||
# 所属内容
|
||||
tips = ttk.Label(otherUpload, text="如果无法正常反馈,可以用其他方式反馈:")
|
||||
giteeButton = ttk.Button(otherUpload, text="Gitee Issues", command=OpenGiteeIssues)
|
||||
githubButton = ttk.Button(otherUpload, text="Github Issues", command=OpenGithubIssues)
|
||||
gitlinkButton = ttk.Button(otherUpload, text="Github Issues", command=OpenGitlinkIssues)
|
||||
|
||||
updateButton = ttk.Button(win, text="提交", command=UpdateButtonClick)
|
||||
|
||||
# 设置窗口
|
||||
window.title("Wine 运行器 {} 问题/建议反馈".format(version))
|
||||
window.resizable(0, 0)
|
||||
window.iconphoto(False, tk.PhotoImage(file=iconPath))
|
||||
|
||||
tips.grid(row=0, column=0)
|
||||
giteeButton.grid(row=0, column=1)
|
||||
githubButton.grid(row=0, column=2)
|
||||
gitlinkButton.grid(row=0, column=3)
|
||||
|
||||
name.grid(row=0, column=0)
|
||||
nameThings.grid(row=0, column=1)
|
||||
|
||||
contact.grid(row=0, column=2)
|
||||
contactThings.grid(row=0, column=3)
|
||||
|
||||
star.grid(row=0, column=4)
|
||||
starMenu.grid(row=0, column=5)
|
||||
|
||||
updateThingsTips.grid(row=1, column=0, columnspan=2)
|
||||
updateThings.grid(row=2, column=0, columnspan=6)
|
||||
|
||||
otherUpload.grid(row=3, column=0, columnspan=4, sticky=tk.W)
|
||||
updateButton.grid(row=3, column=5)
|
||||
|
||||
win.pack(expand="yes", fill="both")
|
||||
window.mainloop()
|
||||
+9
-1
@@ -1,3 +1,11 @@
|
||||
{
|
||||
"Version": "1.5.3"
|
||||
"Version": "1.6.0",
|
||||
"Thank": [
|
||||
"@a2035274 @虚幻的早晨 https://bbs.deepin.org/post/238301",
|
||||
"@zhangs https://bbs.deepin.org/post/227948",
|
||||
"@gtjmaster https://bbs.deepin.org/post/225509",
|
||||
"@统信UCARE服务 https://mp.weixin.qq.com/s/iOdfNv6phc8F4inackFFTw",
|
||||
"",
|
||||
"可以从上面的各种解决方案更好的学习 Wine 生态适配,也可以看 deepin 论坛板块 https://bbs.deepin.org/module/detail/116 进行学习,最后也向各位有进行 Wine 生态适配的大佬进行由衷的更新!"
|
||||
]
|
||||
}
|
||||
@@ -10,14 +10,13 @@
|
||||
#################
|
||||
# 引入所需的库
|
||||
#################
|
||||
from asyncore import read
|
||||
from email import message
|
||||
import os
|
||||
from sqlite3 import TimeFromTicks
|
||||
import sys
|
||||
import time
|
||||
import json
|
||||
import shutil
|
||||
import easygui
|
||||
import requests
|
||||
import threading
|
||||
import traceback
|
||||
import ttkthemes
|
||||
@@ -100,9 +99,10 @@ def DisableButton(things):
|
||||
e1.configure(state=a[things])
|
||||
e2.configure(state=a[things])
|
||||
o1.configure(state=a[things])
|
||||
winetricksOpen.configure(state=a[things])
|
||||
#winetricksOpen.configure(state=a[things])
|
||||
getProgramIcon.configure(state=a[things])
|
||||
uninstallProgram.configure(state=a[things])
|
||||
trasButton.configure(state=a[things])
|
||||
|
||||
def CheckProgramIsInstall(program):
|
||||
return not bool(os.system(f"which '{program}'"))
|
||||
@@ -361,9 +361,10 @@ def RunWinetricks():
|
||||
if not setting["Debug"]:
|
||||
option += "WINEDEBUG=-all "
|
||||
if setting["TerminalOpen"]:
|
||||
res = subprocess.Popen([f"'{programPath}/launch.sh' deepin-terminal -C \"WINEPREFIX='" + option + wineBottonPath + "' winetricks\""], shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||
res = subprocess.Popen([f"'{programPath}/launch.sh' deepin-terminal -C \"WINEPREFIX='{wineBottonPath}' {option} WINE=" + subprocess.getoutput(f"which {wine[o1_text.get()]}").replace(" ", "").replace("\n", "") + " winetricks --gui\" --keep-open"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||
else:
|
||||
res = subprocess.Popen(["WINEPREFIX='" + option + wineBottonPath + "' winetricks"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||
res = subprocess.Popen([f"WINEPREFIX='{wineBottonPath}' {option} WINE='" + subprocess.getoutput(f"which {wine[o1_text.get()]}").replace(" ", "").replace("\n", "") + "' winetricks --gui"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||
#res = subprocess.Popen(["WINEPREFIX='" + option + wineBottonPath + "' winetricks"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||
# 清空文本框内容
|
||||
returnText.config(state=tk.NORMAL)
|
||||
returnText.delete(1.0, "end")
|
||||
@@ -407,6 +408,15 @@ def InstallVisualStudioCPlusPlus():
|
||||
os.system(f"'{programPath}/launch.sh' deepin-terminal -C \"'{programPath}/InstallVisualCPlusPlus.py' '{wineBottonPath}' {wine[o1_text.get()]}\" --keep-open")
|
||||
DisableButton(False)
|
||||
|
||||
def InstallMSXML():
|
||||
DisableButton(True)
|
||||
if e1.get() == "":
|
||||
wineBottonPath = setting["DefultBotton"]
|
||||
else:
|
||||
wineBottonPath = e1.get()
|
||||
os.system(f"'{programPath}/launch.sh' deepin-terminal -C \"'{programPath}/InstallMsxml.py' '{wineBottonPath}' {wine[o1_text.get()]}\" --keep-open")
|
||||
DisableButton(False)
|
||||
|
||||
def BuildExeDeb():
|
||||
if e1.get() == "":
|
||||
wineBottonPath = setting["DefultBotton"]
|
||||
@@ -447,6 +457,65 @@ def DeleteWineBotton():
|
||||
traceback.print_exc()
|
||||
tkinter.messagebox.showerror(title="错误", message=traceback.format_exc())
|
||||
|
||||
def ThankWindow():
|
||||
easygui.textbox(title="特别谢明", msg="感谢以下的大佬在 deepin 论坛、公众号等平台提供的 Wine 适配解决方案,现在将这些 Wine 适配方案加入此 Wine 运行器,对此有由衷的感谢!如果有侵犯到您的权利和意愿,请尽快与开发者联系删除在此程序内相关的内容:", text=thankText)
|
||||
|
||||
def InstallWineFont():
|
||||
threading.Thread(target=os.system, args=[f"'{programPath}/launch.sh' deepin-terminal -C 'echo 这些字体来自星火应用商店 && sudo ss-apt-fast install ms-core-fonts winfonts -y' --keep-open"]).start()
|
||||
|
||||
class UpdateWindow():
|
||||
data = {}
|
||||
def ShowWindow():
|
||||
update = tk.Toplevel()
|
||||
update.title("检查更新")
|
||||
update.resizable(0, 0)
|
||||
update.iconphoto(False, tk.PhotoImage(file=iconPath))
|
||||
versionLabel = ttk.Label(update, text="当前版本:{}\n最新版本:未知\n更新内容:".format(version))
|
||||
updateText = tk.Text(update)
|
||||
controlFrame = ttk.Frame(update)
|
||||
ok = ttk.Button(controlFrame, text="更新(更新过程中会关闭所有Python应用,包括这个应用)", command=UpdateWindow.Update)
|
||||
cancel = ttk.Button(controlFrame, text="取消", command=update.destroy)
|
||||
try:
|
||||
UpdateWindow.data = json.loads(requests.get("http://120.25.153.144/spark-deepin-wine-runner/update.json").text)
|
||||
versionLabel = ttk.Label(update, text="当前版本:{}\n最新版本:{}\n更新内容:".format(version, UpdateWindow.data["Version"]))
|
||||
if UpdateWindow.data["Version"] == version:
|
||||
updateText.insert("0.0", "此为最新版本,无需更新")
|
||||
ok.configure(state=tk.DISABLED)
|
||||
else:
|
||||
updateText.insert("0.0", UpdateWindow.data["New"].replace("\\n", "\n"))
|
||||
except:
|
||||
traceback.print_exc()
|
||||
tkinter.messagebox.showerror(title="错误", message="无法连接服务器!")
|
||||
updateText.configure(state=tk.DISABLED)
|
||||
versionLabel.pack(anchor=tk.W)
|
||||
updateText.pack()
|
||||
controlFrame.pack(anchor=tk.E)
|
||||
cancel.grid(row=0, column=0)
|
||||
ok.grid(row=0, column=1)
|
||||
update.mainloop()
|
||||
def Update():
|
||||
if not os.path.exists("/tmp/uengine-runner/update"):
|
||||
os.makedirs("/tmp/spark-deepin-wine-runner/update")
|
||||
try:
|
||||
write_txt("/tmp/spark-deepin-wine-runner/update.sh", f"""#!/bin/bash
|
||||
echo 删除多余的安装包
|
||||
rm -rfv /tmp/spark-deepin-wine-runner/update/*
|
||||
echo 关闭“UEngine 运行器”以及其它“Python 应用”
|
||||
killall python3
|
||||
echo 下载安装包
|
||||
wget -P /tmp/spark-deepin-wine-runner/update {UpdateWindow.data["Url"][0], iconPath}
|
||||
echo 安装安装包
|
||||
dpkg -i /tmp/spark-deepin-wine-runner/update/*.deb
|
||||
echo 修复依赖关系
|
||||
apt install -f -y
|
||||
notify-send -i "{iconPath}" "更新完毕!"
|
||||
zenity --info --text=\"更新完毕!\" --ellipsize
|
||||
""")
|
||||
except:
|
||||
traceback.print_exc()
|
||||
easygui.textbox(title="错误", msg="更新出现错误,无法继续更新!", text=traceback.format_exc())
|
||||
os.system(f"'{programPath}/launch.sh' deepin-terminal -e pkexec bash /tmp/spark-deepin-wine-runner/update.sh")
|
||||
|
||||
class GetDllFromWindowsISO:
|
||||
wineBottonPath = get_home() + "/.wine"
|
||||
isoPath = None#ttk.Entry()
|
||||
@@ -766,6 +835,9 @@ updateThingsString = '''※1、新增专门的程序设置,支持设置 Wine
|
||||
title = "wine 运行器 {}".format(version)
|
||||
updateTime = "2022年07月07日"
|
||||
updateThings = "{} 更新内容:\n{}\n更新时间:{}".format(version, updateThingsString, updateTime, time.strftime("%Y"))
|
||||
thankText = ""
|
||||
for i in information["Thank"]:
|
||||
thankText += f"{i}\n"
|
||||
|
||||
|
||||
###########################
|
||||
@@ -798,13 +870,14 @@ button1 = ttk.Button(window, text="浏览", command=liulanbutton) # 创建按
|
||||
button2 = ttk.Button(window, text="浏览", command=liulanexebutton) # 创建按钮控件
|
||||
button3 = ttk.Button(controlFrame, text="启动", command=runexebutton) # 创建按钮控件
|
||||
killProgram = ttk.Button(controlFrame, text="停止", command=KillProgram)
|
||||
openWineBotton = ttk.Button(controlFrame, text="打开Wine容器目录", command=OpenWineBotton)
|
||||
installWineFont = ttk.Button(controlFrame, text="安装字体", command=OpenWineFontPath)
|
||||
#openWineBotton = ttk.Button(controlFrame, text="打开Wine容器目录", command=OpenWineBotton)
|
||||
#installWineFont = ttk.Button(controlFrame, text="安装字体", command=OpenWineFontPath)
|
||||
uninstallProgram = ttk.Button(controlFrame, text="卸载程序", command=UninstallProgram)
|
||||
wineConfig = ttk.Button(controlFrame, text="配置wine容器", command=ConfigWineBotton)
|
||||
sparkWineSetting = ttk.Button(controlFrame, text="星火wine设置", command=lambda: threading.Thread(target=os.system, args=["/opt/durapps/spark-dwine-helper/spark-dwine-helper-settings/settings.sh"]).start())
|
||||
getProgramIcon = ttk.Button(controlFrame, text="获取选择的程序图标", command=lambda: threading.Thread(target=RunWineProgram, args=[f"{programPath}/Run.bat' '{programPath}/BeCyIconGrabber.exe' '{e2.get()}"]).start())
|
||||
winetricksOpen = ttk.Button(controlFrame, text="使用winetricks打开指定容器(只能使用wine和wine64)", command=lambda: threading.Thread(target=RunWinetricks).start())
|
||||
trasButton = ttk.Button(controlFrame, text="窗口透明度工具", command=lambda: threading.Thread(target=RunWineProgram, args=[programPath + "/窗体透明度设置工具.exe"]).start())
|
||||
#winetricksOpen = ttk.Button(controlFrame, text="使用winetricks打开指定容器(只能使用wine和wine64)", command=lambda: threading.Thread(target=RunWinetricks).start())
|
||||
button5 = ttk.Button(sendFrame, text="创建用于运行的 desktop 文件到桌面", command=make_desktop_on_desktop) # 创建按钮控件
|
||||
saveDesktopFileOnLauncher = ttk.Button(sendFrame, text="创建用于运行的 desktop 文件到启动器", command=make_desktop_on_launcher) # 创建按钮控件
|
||||
label1 = ttk.Label(window, text="选择你想要使用的 wine 容器:") # 创建标签控件
|
||||
@@ -827,12 +900,18 @@ programmenu.add_separator() # 设置分界线
|
||||
programmenu.add_command(label="退出程序", command=window.quit) # 设置“退出程序”项
|
||||
wineOption = tk.Menu(menu, tearoff=0, background="white") # 设置“Wine”菜单栏
|
||||
menu.add_cascade(label="Wine", menu=wineOption)
|
||||
wineOption.add_command(label="打开 Wine 容器目录", command=OpenWineBotton)
|
||||
wineOption.add_command(label="安装常见字体", command=InstallWineFont)
|
||||
wineOption.add_command(label="安装自定义字体", command=OpenWineFontPath)
|
||||
wineOption.add_command(label="删除选择的 Wine 容器", command=DeleteWineBotton)
|
||||
wineOption.add_separator()
|
||||
wineOption.add_command(label="打包 wine 应用", command=BuildExeDeb)
|
||||
wineOption.add_separator()
|
||||
wineOption.add_command(label="从镜像获取DLL(只支持Windows XP、Windows Server 2003官方安装镜像)", command=GetDllFromWindowsISO.ShowWindow)
|
||||
wineOption.add_separator()
|
||||
wineOption.add_command(label="在指定wine、指定容器安装 .net framework", command=lambda: threading.Thread(target=InstallNetFramework).start())
|
||||
wineOption.add_command(label="在指定wine、指定容器安装 Visual Studio C++", command=lambda: threading.Thread(target=InstallVisualStudioCPlusPlus).start())
|
||||
wineOption.add_command(label="在指定wine、指定容器安装 MSXML", command=lambda: threading.Thread(target=InstallMSXML).start())
|
||||
wineOption.add_command(label="在指定wine、指定容器安装 gecko", command=lambda: threading.Thread(target=InstallMonoGecko, args=["gecko"]).start())
|
||||
wineOption.add_command(label="在指定wine、指定容器安装 mono", command=lambda: threading.Thread(target=InstallMonoGecko, args=["mono"]).start())
|
||||
wineOption.add_separator()
|
||||
@@ -840,19 +919,39 @@ wineOption.add_command(label="打开指定wine、指定容器的控制面板", c
|
||||
wineOption.add_command(label="打开指定wine、指定容器的浏览器", command=lambda: threading.Thread(target=RunWineProgram, args=["iexplore' 'https://www.deepin.org"]).start())
|
||||
wineOption.add_command(label="打开指定wine、指定容器的注册表", command=lambda: threading.Thread(target=RunWineProgram, args=["regedit"]).start())
|
||||
wineOption.add_command(label="打开指定wine、指定容器的任务管理器", command=lambda: threading.Thread(target=RunWineProgram, args=["taskmgr"]).start())
|
||||
wineOption.add_command(label="打开指定wine、指定容器的资源管理器", command=lambda: threading.Thread(target=RunWineProgram, args=["explorer"]).start())
|
||||
wineOption.add_command(label="打开指定wine、指定容器的关于 wine", command=lambda: threading.Thread(target=RunWineProgram, args=["winver"]).start())
|
||||
wineOption.add_separator()
|
||||
wineOption.add_command(label="设置 run_v3.sh 的文管为 Deepin 默认文管", command=SetDeepinFileDialogDeepin)
|
||||
wineOption.add_command(label="设置 run_v3.sh 的文管为 Wine 默认文管", command=SetDeepinFileDialogDefult)
|
||||
wineOption.add_command(label="重新安装 deepin-wine-helper", command=SetDeepinFileDialogRecovery)
|
||||
wineOption.add_separator()
|
||||
wineOption.add_command(label="删除选择的 wine 容器", command=DeleteWineBotton)
|
||||
wineOption.add_command(label="使用winetricks打开指定容器(只能使用wine和wine64)", command=lambda: threading.Thread(target=RunWinetricks).start())
|
||||
wineOption.add_separator()
|
||||
opengl = tk.Menu()
|
||||
opengl.add_command(label="开启 opengl", command=lambda: threading.Thread(target=RunWineProgram, args=[f"regedit.exe' /s '{programPath}/EnabledOpengl.reg"]).start())
|
||||
opengl.add_command(label="禁用 opengl", command=lambda: threading.Thread(target=RunWineProgram, args=[f"regedit.exe' /s '{programPath}/DisabledOpengl.reg"]).start())
|
||||
wineOption.add_cascade(label="启用/禁用 opengl", menu=opengl)
|
||||
winbind = tk.Menu()
|
||||
winbind.add_command(label="安装 winbind", command=lambda: os.system(f"'{programPath}/launch.sh' deepin-terminal -C 'pkexec apt install winbind -y' --keep-open"))
|
||||
winbind.add_command(label="卸载 winbind", command=lambda: os.system(f"'{programPath}/launch.sh' deepin-terminal -C 'pkexec apt purge winbind -y' --keep-open"))
|
||||
wineOption.add_cascade(label="安装/卸载 winbind", menu=winbind)
|
||||
safeWebsize = tk.Menu(menu, tearoff=0, background="white")
|
||||
menu.add_cascade(label="云沙箱", menu=safeWebsize)
|
||||
safeWebsize.add_command(label="360 沙箱云", command=lambda: webbrowser.open_new_tab("https://ata.360.net/"))
|
||||
safeWebsize.add_command(label="微步云沙箱", command=lambda: webbrowser.open_new_tab("https://s.threatbook.cn/"))
|
||||
safeWebsize.add_command(label="VIRUSTOTAL", command=lambda: webbrowser.open_new_tab("https://www.virustotal.com/"))
|
||||
|
||||
help = tk.Menu(menu, tearoff=0, background="white") # 设置“帮助”菜单栏
|
||||
|
||||
menu.add_cascade(label="帮助", menu=help)
|
||||
help.add_command(label="程序官网", command=OpenProgramURL) # 设置“程序官网”项
|
||||
help.add_separator()
|
||||
help.add_command(label="小提示", command=helps) # 设置“小提示”项
|
||||
help.add_command(label="更新内容", command=UpdateThings) # 设置“更新内容”项
|
||||
help.add_command(label="谢明名单", command=ThankWindow)
|
||||
help.add_separator()
|
||||
help.add_command(label="更新这个程序", command=UpdateWindow.ShowWindow)
|
||||
help.add_command(label="关于这个程序", command=about_this_program) # 设置“关于这个程序”项
|
||||
help.add_separator()
|
||||
moreProgram = tk.Menu(menu, tearoff=0, background="white")
|
||||
@@ -890,13 +989,14 @@ button2.grid(row=1, column=2)
|
||||
controlFrame.grid(row=3, column=0, columnspan=3)
|
||||
button3.grid(row=0, column=0)
|
||||
killProgram.grid(row=0, column=1)
|
||||
openWineBotton.grid(row=0, column=2)
|
||||
installWineFont.grid(row=0, column=3)
|
||||
uninstallProgram.grid(row=0, column=4)
|
||||
wineConfig.grid(row=0, column=5)
|
||||
sparkWineSetting.grid(row=0, column=6)
|
||||
getProgramIcon.grid(row=0, column=7)
|
||||
winetricksOpen.grid(row=0, column=8)
|
||||
#openWineBotton.grid(row=0, column=2)
|
||||
#installWineFont.grid(row=0, column=3)
|
||||
uninstallProgram.grid(row=0, column=2)
|
||||
wineConfig.grid(row=0, column=3)
|
||||
sparkWineSetting.grid(row=0, column=4)
|
||||
getProgramIcon.grid(row=0, column=5)
|
||||
#winetricksOpen.grid(row=0, column=8)
|
||||
trasButton.grid(row=0, column=6)
|
||||
sendFrame.grid(row=5, column=0, columnspan=3)
|
||||
button5.grid(row=0, column=0)
|
||||
saveDesktopFileOnLauncher.grid(row=0, column=1)
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user