Compare commits
510 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 20fdb2aa76 | |||
| 4ff16d1cb8 | |||
| d7f7dd47cc | |||
| 3e77dcc1a3 | |||
| 811fc0b2dc | |||
| d169d96329 | |||
| 58f9117e45 | |||
| 55aeae22af | |||
| 1bdf8de39c | |||
| 8f37bfd3b8 | |||
| 7a175c957a | |||
| 6ac4a191ca | |||
| 9296914ed5 | |||
| df5d08cd68 | |||
| 2357c646a1 | |||
| 0b0a757765 | |||
| 104d197e4b | |||
| 60f838144d | |||
| 3146467477 | |||
| 30d4986214 | |||
| 11ad6f3766 | |||
| 046fe2c103 | |||
| b672fd93e6 | |||
| a7d478ab93 | |||
| c4987b4ce6 | |||
| 6ac4fa72ad | |||
| 15946ccb4e | |||
| e109502c34 | |||
| 97f944f4b9 | |||
| a447fa6343 | |||
| 3018f4276e | |||
| c3bfb33dd9 | |||
| f1decf51d1 | |||
| e3c54ffc32 | |||
| 10db5c042d | |||
| 18ce8a080f | |||
| f9e9a4eb72 | |||
| ebb6c2c5fa | |||
| de98af8c99 | |||
| 5f41d73dbd | |||
| 7aff330137 | |||
| 6c53446134 | |||
| 8683ee1730 | |||
| f4bce0e99f | |||
| 380cf74bbf | |||
| 535232ac5f | |||
| 6509a89658 | |||
| 962fec1ca9 | |||
| 89c61eeef2 | |||
| ae119a7d1a | |||
| f5a65ec92f | |||
| fc9f2f05d2 | |||
| c55ba35827 | |||
| 5aca3fb038 | |||
| 0ca24b773c | |||
| f43ffa0fac | |||
| 5736dd0bfa | |||
| d0071a9e5d | |||
| dbb7a6f9b2 | |||
| 8870ec6764 | |||
| 006b8ae773 | |||
| 3cd38c0032 | |||
| d19453bb22 | |||
| cca44603c2 | |||
| 5eb7bcd358 | |||
| 5818d109b0 | |||
| 01adbc9e20 | |||
| 35246e6046 | |||
| d84191d17e | |||
| 950eca478c | |||
| 1bf5eab4e0 | |||
| 3966cd0b70 | |||
| c4923fa5b9 | |||
| d369503284 | |||
| e26bf4e30f | |||
| bdb53267ee | |||
| dae29fd54e | |||
| 40c52bd1a8 | |||
| 47ebb5ca29 | |||
| e28dc5927e | |||
| 1825136eac | |||
| 9cce5771e5 | |||
| 20c2cc9949 | |||
| c84ca04f96 | |||
| 6f039e7355 | |||
| 44514dfc78 | |||
| 840fb73ba8 | |||
| 4485ff3b74 | |||
| 808cbfd228 | |||
| 4ecd03a520 | |||
| 37a8742f21 | |||
| 1006f920b0 | |||
| 3aae2d7221 | |||
| 5607f176d1 | |||
| 193be8e4de | |||
| 7dab0f8592 | |||
| c790f0fbfe | |||
| 274ef4003b | |||
| 2925576ac1 | |||
| feaf6326da | |||
| f8fa1f2a9f | |||
| 75fc007863 | |||
| 09aeaba3c8 | |||
| 250d4280ec | |||
| 992fe50266 | |||
| 21ef782ebb | |||
| 320b07202d | |||
| b7b0b360c3 | |||
| efd0c591dc | |||
| fec8b56f90 | |||
| 52d8d006db | |||
| ef3f504d67 | |||
| ece7607da0 | |||
| 80be3ff03e | |||
| 8ce51e8161 | |||
| da3991b470 | |||
| 79924d99ea | |||
| 28c712ceae | |||
| 0cac56de72 | |||
| 2d829f4243 | |||
| 9c3707b419 | |||
| 3b8e8566bc | |||
| 37082fe085 | |||
| 15c28a4820 | |||
| 7e4620f4c3 | |||
| b0e62a888c | |||
| 586b6efb59 | |||
| c82897fc7b | |||
| b6e510eb26 | |||
| ca5edef486 | |||
| 44c7d4fe3b | |||
| 1092c2ac2c | |||
| a0bc9059de | |||
| c0781b4f3a | |||
| de06de7637 | |||
| e0b2aca8ef | |||
| ff41344e97 | |||
| 0ec98cffcb | |||
| d27c31ae6f | |||
| 5e325a873e | |||
| 71917c5451 | |||
| 9cff5358fe | |||
| c8786b59bf | |||
| c46aa8fbea | |||
| 4f29c5debc | |||
| d9c52d4aa1 | |||
| c77a9b3290 | |||
| fcdd8e7622 | |||
| 9ce7c8a7d0 | |||
| eab5e11e8b | |||
| d57d53a659 | |||
| 78de66961e | |||
| b7b798d491 | |||
| 8351dc2838 | |||
| e0717e4fc5 | |||
| 99539c58f7 | |||
| 88bec61044 | |||
| 05549090fe | |||
| dc3477eae2 | |||
| 59064fb1c6 | |||
| 4669c756c4 | |||
| 0ae06f118c | |||
| 0c9da25093 | |||
| a4e8b17ac5 | |||
| 800c523935 | |||
| ab7a5c18c5 | |||
| c34708cbc5 | |||
| 0231e1d461 | |||
| 1ba1ee6b75 | |||
| dc7a301a45 | |||
| f6efb8e448 | |||
| fd410549c3 | |||
| 269c800341 | |||
| 1390ca65aa | |||
| 194f086b58 | |||
| e12ca11b08 | |||
| 506c33085f | |||
| f7a683ebf0 | |||
| 6d6aa30557 | |||
| c0aaf54ea4 | |||
| 4a47d95cd6 | |||
| 6be5b433ca | |||
| 08e7d2997d | |||
| a991d7de04 | |||
| d0dc90b95d | |||
| 10b2d8c72b | |||
| 5d819b3c8e | |||
| c7166d9330 | |||
| 053f32e5f2 | |||
| 07db3bf724 | |||
| 949fd1a07f | |||
| 1f5cc8f6c6 | |||
| 4fc20d94aa | |||
| eb049f8560 | |||
| 0173dae3e2 | |||
| e60b7fbbd0 | |||
| bdcae751c7 | |||
| c7eb70780e | |||
| b30be9ff48 | |||
| 6ee9e2a85f | |||
| 02c882c33c | |||
| e811970e08 | |||
| 7436ae72a5 | |||
| f1498a376b | |||
| 516a854f84 | |||
| d019d0d223 | |||
| be57235f02 | |||
| fd9d08b328 | |||
| a8c5acfae2 | |||
| 81ac91b180 | |||
| e477b94cda | |||
| 57db5a2630 | |||
| 4812a9a872 | |||
| ff15b60e4c | |||
| 9b82a3818b | |||
| 275379e4ba | |||
| 9e7ad17ea2 | |||
| 03942892fd | |||
| 370bde5e63 | |||
| c6e722de60 | |||
| de76733f3f | |||
| 37ad313a66 | |||
| d62ec78926 | |||
| 7d1d121c01 | |||
| f20565af53 | |||
| 8b0d0f1018 | |||
| e7cbbc62b9 | |||
| 844f709480 | |||
| 7571a6aafc | |||
| 47bdde1eb3 | |||
| f5b2a3fd93 | |||
| bc0c9039fd | |||
| 3f6c4a47ff | |||
| bab6115348 | |||
| 5f8387e14e | |||
| 1a786145fb | |||
| 0c2f37c187 | |||
| 134fff9f17 | |||
| 4853cafb67 | |||
| 0300f8e599 | |||
| 97b761067b | |||
| d93e7475ff | |||
| b031667887 | |||
| 3fde8e01bc | |||
| 09a95ebac4 | |||
| 2dc251fcb5 | |||
| b873d3e8ab | |||
| 61ea114669 | |||
| 96f02440ca | |||
| 6a2bb2e9ca | |||
| e617c24bd1 | |||
| 858617a3ae | |||
| 30e4c9d8bb | |||
| 361f3cf859 | |||
| 368a9d218a | |||
| dc7cb37d7f | |||
| 036639d830 | |||
| 07f56b820d | |||
| 0bef686aa6 | |||
| 982521b0c3 | |||
| 87a54b8d72 | |||
| ac12c24afd | |||
| 0f96e1d91a | |||
| 6689a5edb1 | |||
| b4ef46ee38 | |||
| a83e0bb2b6 | |||
| 9fdc39446e | |||
| 9892ff71a2 | |||
| 2bfa809caf | |||
| e54a424f81 | |||
| fbe795b6f8 | |||
| aa756b218c | |||
| e625bf97ad | |||
| 83f49a8c7e | |||
| dcabe5b2cf | |||
| 37c0cbf252 | |||
| 98f2beb994 | |||
| 3515e3f44f | |||
| cb0cd776a4 | |||
| ef8c115df2 | |||
| 5fb2bdf5f9 | |||
| a1b2915e3a | |||
| a2424e08ba | |||
| 2cf1266190 | |||
| 8a709ce7e2 | |||
| 82b13b585d | |||
| db622c93ba | |||
| e642d17828 | |||
| f2d766d0f9 | |||
| 01fe3ed3ab | |||
| c05371b856 | |||
| afefb854b6 | |||
| acff44eb2d | |||
| 8699f74087 | |||
| 1a78a98d8e | |||
| 7794df8170 | |||
| 226db3dfd6 | |||
| 0124c4a304 | |||
| bbf47b8120 | |||
| 1942299850 | |||
| 47cffa0637 | |||
| 96fa417b3b | |||
| 3fd2b14a2a | |||
| 8bdb45a87f | |||
| fd36c84d74 | |||
| 34a5ae629e | |||
| 0dda0870c0 | |||
| 2689bc1cfb | |||
| 8607de0fb0 | |||
| 0d2e59b9fe | |||
| 8ba8953aef | |||
| b665842e89 | |||
| ddd65bbf5f | |||
|
|
6768cf9e7b | ||
| 0de3547af0 | |||
| 6fb473f5d1 | |||
| c5e63f3699 | |||
| 878e7f6b2a | |||
| caa73c3bde | |||
| 3c6bb5042f | |||
| 881ff84efd | |||
| 38fed35de8 | |||
| 60836b448f | |||
| 89627200ad | |||
| 40de39fd19 | |||
| 16386b8557 | |||
| c1dc157c71 | |||
| 851105e7bd | |||
| 45594618f8 | |||
|
|
0960218c64 | ||
| 6d4dc4d7d9 | |||
| 995aad5273 | |||
| 851bf9fcc6 | |||
| 00da7fc010 | |||
| 9fd8f5144f | |||
| b31c4bf134 | |||
| 66ace92775 | |||
| 74e82aca00 | |||
| e175a80e57 | |||
| 27cd65a48f | |||
| a5cb1f81f8 | |||
| 2fb32f84d7 | |||
| 6c6b5ff67e | |||
| d3790780dd | |||
| 00245232bf | |||
| 5cb05e9956 | |||
| 72208fd378 | |||
| f63cdff0aa | |||
| 6c43ce51b4 | |||
| a85a7aeb0c | |||
| 70014b29ef | |||
| 808471c330 | |||
| cf0be8a2f1 | |||
| fffb56c098 | |||
| 2dab9ef7ce | |||
|
|
1964dfc866 | ||
|
|
efd22ba3a6 | ||
|
|
2a9ece428a | ||
| adf35abfc7 | |||
| 6ef513d6f5 | |||
| 550827f97c | |||
| 29f42c95b4 | |||
| ee68f6e26a | |||
| aff9996515 | |||
| 075478029d | |||
| f766e8577c | |||
| 08191c17ed | |||
| 7665dbe6d9 | |||
| 7711c186fd | |||
| 93d41ac3e2 | |||
| 59ec3d5822 | |||
| a5d1a04573 | |||
| e434aa9116 | |||
| dc789132d3 | |||
| 9b5beadbcc | |||
| 635171998d | |||
| b757d09901 | |||
| 84f0eefc27 | |||
| f9cac7619c | |||
| 8ae5efe50c | |||
| 58798dd0c6 | |||
| fdced1f2c3 | |||
| aaa5b724e4 | |||
| bbff9aa85f | |||
| 4a469f2a82 | |||
| 58400ed5ff | |||
| 2de9de6633 | |||
| eba3d9f728 | |||
| d8dce3b62c | |||
| 81f49ae83c | |||
| 160d2ecf9d | |||
| d31be64151 | |||
| 77ec7ff2bf | |||
| 6201ec2ed6 | |||
| ed344e7a6c | |||
| ed61089844 | |||
| e3435ad29a | |||
| 0e705a955a | |||
| 77d91f31b2 | |||
| c0b7c99c43 | |||
| cfbffc1a68 | |||
| 490b6ce28d | |||
| 75ae205cbf | |||
| ee49a4aec1 | |||
| 364983ac5b | |||
| ef375f32b9 | |||
| 4ff2d0815d | |||
| 8df919cadb | |||
| 89b812e6a6 | |||
| 803eb09b5a | |||
| 6397130bb2 | |||
| 8a4a5f4ee3 | |||
| 3529dc1503 | |||
| 09eb12d750 | |||
| bf95889b93 | |||
| 76d3fd556e | |||
| 45befa142f | |||
| 9785ad98fc | |||
| 201328afea | |||
| 4d10470776 | |||
| 85895b5ae2 | |||
| b785779d8a | |||
| b1b07d482b | |||
| 137193c993 | |||
| 9e9f2e2732 | |||
| 95ddbb7246 | |||
| b1142664ac | |||
| 97f85bc640 | |||
| 7d80d24ff6 | |||
| 64e1c56c8e | |||
| e9d8bc1ee3 | |||
| d10beed003 | |||
| 1f4e209f6c | |||
|
|
f54e589e3d | ||
| 6dd18d9e8f | |||
| 0360eaf5e0 | |||
| d00baaf2ce | |||
| e0a977b7ea | |||
| 787de003e3 | |||
| b7dfe86710 | |||
| ee16593767 | |||
| c64b5670d9 | |||
| 1bfb04e588 | |||
| 03dbe8d6ef | |||
| 1d2f8a46f2 | |||
| d554a8c5da | |||
| cbb81c6261 | |||
| 95e7d42a52 | |||
| 07f0c4eb2d | |||
| 466a7c5596 | |||
| 5443654791 | |||
| 0d3e798644 | |||
| 73551e9a12 | |||
| e755cea8f1 | |||
| fb653fe6ec | |||
| 044bc860ef | |||
| fd8e74d05f | |||
| d2929f83c6 | |||
| 53836dac4d | |||
| 321a840b7d | |||
| aaf7ccb793 | |||
| 81ae9751cd | |||
| 4a693831d1 | |||
| 4a438a2732 | |||
| 2105f6f9fc | |||
| bddd39ae7b | |||
| f913cde28e | |||
| c0eb6410ee | |||
| 20fc7f75f2 | |||
| 603d7a3827 | |||
| 620cea5136 | |||
| db5cee1345 | |||
| 9132acc0f6 | |||
| 03bcb9cb4e | |||
| 25f399b5cc | |||
| b1d4710ddd | |||
| eb72ed46a2 | |||
| 8ede908e73 | |||
| 9f61096967 | |||
| df96b2fd7f | |||
| 6a44167c9a | |||
| 125aa730c2 | |||
| c61607de13 | |||
| 0a643cb808 | |||
| afb0754795 | |||
| 2157a4df0d | |||
| 2320317961 | |||
| 3b8d32aa69 | |||
| f170dd093f | |||
| fc06f42161 | |||
| a471fe43d2 | |||
| 33d115c836 | |||
| 78d359a3db | |||
| b7c3ebf024 | |||
| a1d61c2b65 | |||
| fa8a2a0685 | |||
| 3d6067d4c4 | |||
| 266bd65372 | |||
| a615098594 | |||
| 0caecc9181 | |||
| baf3fbefdd | |||
| fd78edd2f7 | |||
| 002a6e309d | |||
| 8a061efa2b | |||
| cc9298f6af | |||
| 05c297647e | |||
| ba91aae7e1 | |||
| c3062915f4 | |||
| 542668311d | |||
| 8dc9db1f59 |
69
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
---
|
||||
name: 程序bug
|
||||
about: 反馈程序的故障
|
||||
---
|
||||
需要把下面的替换成自己的信息,下面为例子
|
||||
|
||||
# 故障表现(最好带图、日志)
|
||||
按右上角叉叉可以关闭运行器
|
||||

|
||||
## 日志(终端输入 `deepin-wine-runner` 输出的内容)
|
||||
```
|
||||
gfdgd_xi@gfdgdxi-PC:~$ deepin-wine-runner
|
||||
/usr/bin/deepin-terminal
|
||||
/usr/bin/deepin-wine6-stable
|
||||
/usr/bin/deepin-wine
|
||||
/usr/bin/qemu-i386-static
|
||||
/usr/bin/qemu-i386
|
||||
/usr/bin/qemu-x86_64
|
||||
['', '']
|
||||
/usr/bin/qemu-i386
|
||||
/usr/bin/qemu-x86_64
|
||||
['', '']
|
||||
{'基于 UOS box86 的 deepin-wine6-stable': "WINEPREDLL='/opt/apps/deepin-wine-runner/dlls-arm' WINEDLLPATH=/opt/deepin-wine6-stable/lib BOX86_NOSIGSEGV=1 /opt/deepin-box86/box86 /opt/deepin-wine6-stable/bin/wine ", '基于 UOS exagear 的 deepin-wine6-stable': "WINEPREDLL='/opt/apps/deepin-wine-runner/dlls-arm' WINEDLLPATH=/opt/deepin-wine6-stable/lib /opt/exagear/bin/ubt_x64a64_al --path-prefix /home/gfdgd_xi/.deepinwine/debian-buster --utmp-paths-list /home/gfdgd_xi/.deepinwine/debian-buster/.exagear/utmp-list --vpaths-list /home/gfdgd_xi/.deepinwine/debian-buster/.exagear/vpaths-list --opaths-list /home/gfdgd_xi/.deepinwine/debian-buster/.exagear/opaths-list --smo-mode fbase --smo-severity smart --fd-limit 8192 --foreign-ubt-binary /opt/exagear/bin/ubt_x32a64_al -- /opt/deepin-wine6-stable/bin/wine ", '使用 Flatpak 安装的 Wine': 'flatpak run org.winehq.Wine', 'deepin-wine6 stable': 'deepin-wine6-stable', 'deepin-wine5 stable': 'deepin-wine5-stable', 'spark-wine': 'spark-wine', 'spark-wine7-devel': 'spark-wine7-devel', 'spark-wine8': 'spark-wine8', 'deepin-wine': 'deepin-wine', 'deepin-wine5': 'deepin-wine5', 'wine': 'wine', 'wine64': 'wine64', 'ukylin-wine': 'ukylin-wine', 'mono(这不是 wine,但可以实现初步调用运行 .net 应用)': 'mono', '基于 linglong 的 deepin-wine6-stable(不推荐)': "ll-cli run '' --exec '/bin/deepin-wine6-stable'", '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-amd64/bin/wine': '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-amd64/bin/wine', '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-amd64/bin/wine-aarch64': '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-amd64/bin/wine-aarch64', '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine': '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine', '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine-i386': '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine-i386', '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine-aarch64': '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine-aarch64', '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine-x86_64': '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine-x86_64', '/home/gfdgd_xi/.deepinwine/wine-ce-8.13-amd64/bin/wine': '/home/gfdgd_xi/.deepinwine/wine-ce-8.13-amd64/bin/wine'}
|
||||
[['cmd', 'cmd'], ['cmd', 'cmd.exe'], ['cmd', 'wineBottonPath/drive_c/windows/system32/cmd.exe'], ['Internet Explorer', 'iexplore'], ['Internet Explorer', 'iexplore.exe'], ['Internet Explorer', 'wineBottonPath/drive_c/Program Files/Internet Explorer/iexplore.exe'], ['Internet Explorer', 'wineBottonPath/drive_c/Program Files (x86)/Internet Explorer/iexplore.exe'], ['微信', 'wineBottonPath/drive_c/Program Files/Tencent/WeChat/WeChat.exe'], ['微信', 'wineBottonPath/drive_c/Program Files (x86)/Tencent/WeChat/WeChat.exe'], ['UltraISO', 'wineBottonPath/drive_c/Program Files/UltraISO/UltraISO.exe'], ['UltraISO', 'wineBottonPath/drive_c/Program Files (x86)/UltraISO/UltraISO.exe'], ['迅雷', 'wineBottonPath/drive_c/Program Files/Thunder Network/MiniThunder/Bin/ThunderMini.exe'], ['迅雷', 'wineBottonPath/drive_c/Program Files (x86)/Thunder Network/MiniThunder/Bin/ThunderMini.exe'], ['Microsoft Office Word', 'wineBottonPath/drive_c/Program Files/Microsoft Office/Office12/WINWORD.EXE'], ['Microsoft Office Word', 'wineBottonPath/drive_c/Program Files (x86)/Microsoft Office/Office12/WINWORD.EXE'], ['腾讯会议', 'wineBottonPath/drive_c/Program Files/Tencent/WeMeet/wemeetapp.exe'], ['腾讯会议', 'wineBottonPath/drive_c/Program Files (x86)/Tencent/WeMeet/wemeetapp.exe'], ['腾讯课堂', 'wineBottonPath/drive_c/Program Files/Tencent/EDU/bin/TXEDU.exe'], ['腾讯课堂', 'wineBottonPath/drive_c/Program Files (x86)/Tencent/EDU/bin/TXEDU.exe'], ['QQ', 'wineBottonPath/drive_c/Program Files/Tencent/QQ/Bin/QQ.exe'], ['QQ', 'wineBottonPath/drive_c/Program Files (x86)/Tencent/QQ/Bin/QQ.exe'], ['TIM', 'wineBottonPath/drive_c/Program Files/Tencent/TIM/Bin/TIM.exe'], ['TIM', 'wineBottonPath/drive_c/Program Files (x86)/Tencent/TIM/Bin/TIM.exe']]
|
||||
lock
|
||||
libpng warning: iCCP: known incorrect sRGB profile
|
||||
libpng warning: iCCP: known incorrect sRGB profile
|
||||
libpng warning: iCCP: known incorrect sRGB profile
|
||||
libpng warning: iCCP: known incorrect sRGB profile
|
||||
libpng warning: iCCP: known incorrect sRGB profile
|
||||
libpng warning: iCCP: known incorrect sRGB profile
|
||||
libpng warning: iCCP: known incorrect sRGB profile
|
||||
libpng warning: iCCP: known incorrect sRGB profile
|
||||
create icon [font] engine failed.[theme:bloom-dark] nonCache[theme].size[0] (No such file or directory)
|
||||
create icon [floppy_unmount] engine failed.[theme:bloom-dark] nonCache[theme].size[1] (No such file or directory)
|
||||
create icon [3floppy_unmount] engine failed.[theme:bloom-dark] nonCache[theme].size[2] (No such file or directory)
|
||||
检测到库 riscv64
|
||||
检测到库 arm64
|
||||
检测到库 armhf
|
||||
检测到库 i386
|
||||
检测到库 s390x
|
||||
检测到库 mips64el
|
||||
检测到库 ppc64el
|
||||
检测到库 amd64
|
||||
版本号为:3.4.0
|
||||
普通版本
|
||||
qt.qpa.xcb: QXcbConnection: XCB error: 5 (BadAtom), sequence: 390, resource id: 0, major code: 20 (GetProperty), minor code: 0
|
||||
```
|
||||
|
||||
# 系统版本
|
||||
- 系统:Deepin 23
|
||||
- 硬件:
|
||||

|
||||
- 其他补充信息
|
||||
|
||||
# 之前做过什么操作
|
||||
在终端里输入了内容
|
||||
```bash
|
||||
sudo apt upgrade
|
||||
```
|
||||
更新了系统
|
||||
|
||||
# 复现步骤
|
||||
1. 打开运行器,然后点击右上角叉叉可以关闭
|
||||
|
||||
# 推测故障原因(可选)
|
||||
Qt 默认有一套配置好的退出事件
|
||||
|
||||
# 联系方式(可选)
|
||||
68
.github/ISSUE_TEMPLATE/ISSCUE_BUG.md
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
---
|
||||
name: 程序bug
|
||||
about: 反馈程序的故障
|
||||
---
|
||||
需要把下面的替换成自己的信息,下面为例子
|
||||
|
||||
# 故障表现(最好带图、日志)
|
||||
按右上角叉叉可以关闭运行器
|
||||

|
||||
## 日志(终端输入 `deepin-wine-runner` 输出的内容)
|
||||
```
|
||||
gfdgd_xi@gfdgdxi-PC:~$ deepin-wine-runner
|
||||
/usr/bin/deepin-terminal
|
||||
/usr/bin/deepin-wine6-stable
|
||||
/usr/bin/deepin-wine
|
||||
/usr/bin/qemu-i386-static
|
||||
/usr/bin/qemu-i386
|
||||
/usr/bin/qemu-x86_64
|
||||
['', '']
|
||||
/usr/bin/qemu-i386
|
||||
/usr/bin/qemu-x86_64
|
||||
['', '']
|
||||
{'基于 UOS box86 的 deepin-wine6-stable': "WINEPREDLL='/opt/apps/deepin-wine-runner/dlls-arm' WINEDLLPATH=/opt/deepin-wine6-stable/lib BOX86_NOSIGSEGV=1 /opt/deepin-box86/box86 /opt/deepin-wine6-stable/bin/wine ", '基于 UOS exagear 的 deepin-wine6-stable': "WINEPREDLL='/opt/apps/deepin-wine-runner/dlls-arm' WINEDLLPATH=/opt/deepin-wine6-stable/lib /opt/exagear/bin/ubt_x64a64_al --path-prefix /home/gfdgd_xi/.deepinwine/debian-buster --utmp-paths-list /home/gfdgd_xi/.deepinwine/debian-buster/.exagear/utmp-list --vpaths-list /home/gfdgd_xi/.deepinwine/debian-buster/.exagear/vpaths-list --opaths-list /home/gfdgd_xi/.deepinwine/debian-buster/.exagear/opaths-list --smo-mode fbase --smo-severity smart --fd-limit 8192 --foreign-ubt-binary /opt/exagear/bin/ubt_x32a64_al -- /opt/deepin-wine6-stable/bin/wine ", '使用 Flatpak 安装的 Wine': 'flatpak run org.winehq.Wine', 'deepin-wine6 stable': 'deepin-wine6-stable', 'deepin-wine5 stable': 'deepin-wine5-stable', 'spark-wine': 'spark-wine', 'spark-wine7-devel': 'spark-wine7-devel', 'spark-wine8': 'spark-wine8', 'deepin-wine': 'deepin-wine', 'deepin-wine5': 'deepin-wine5', 'wine': 'wine', 'wine64': 'wine64', 'ukylin-wine': 'ukylin-wine', 'mono(这不是 wine,但可以实现初步调用运行 .net 应用)': 'mono', '基于 linglong 的 deepin-wine6-stable(不推荐)': "ll-cli run '' --exec '/bin/deepin-wine6-stable'", '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-amd64/bin/wine': '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-amd64/bin/wine', '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-amd64/bin/wine-aarch64': '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-amd64/bin/wine-aarch64', '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine': '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine', '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine-i386': '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine-i386', '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine-aarch64': '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine-aarch64', '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine-x86_64': '/opt/apps/deepin-wine-runner/wine/wine-ce-8.13-riscv64/bin/wine-x86_64', '/home/gfdgd_xi/.deepinwine/wine-ce-8.13-amd64/bin/wine': '/home/gfdgd_xi/.deepinwine/wine-ce-8.13-amd64/bin/wine'}
|
||||
[['cmd', 'cmd'], ['cmd', 'cmd.exe'], ['cmd', 'wineBottonPath/drive_c/windows/system32/cmd.exe'], ['Internet Explorer', 'iexplore'], ['Internet Explorer', 'iexplore.exe'], ['Internet Explorer', 'wineBottonPath/drive_c/Program Files/Internet Explorer/iexplore.exe'], ['Internet Explorer', 'wineBottonPath/drive_c/Program Files (x86)/Internet Explorer/iexplore.exe'], ['微信', 'wineBottonPath/drive_c/Program Files/Tencent/WeChat/WeChat.exe'], ['微信', 'wineBottonPath/drive_c/Program Files (x86)/Tencent/WeChat/WeChat.exe'], ['UltraISO', 'wineBottonPath/drive_c/Program Files/UltraISO/UltraISO.exe'], ['UltraISO', 'wineBottonPath/drive_c/Program Files (x86)/UltraISO/UltraISO.exe'], ['迅雷', 'wineBottonPath/drive_c/Program Files/Thunder Network/MiniThunder/Bin/ThunderMini.exe'], ['迅雷', 'wineBottonPath/drive_c/Program Files (x86)/Thunder Network/MiniThunder/Bin/ThunderMini.exe'], ['Microsoft Office Word', 'wineBottonPath/drive_c/Program Files/Microsoft Office/Office12/WINWORD.EXE'], ['Microsoft Office Word', 'wineBottonPath/drive_c/Program Files (x86)/Microsoft Office/Office12/WINWORD.EXE'], ['腾讯会议', 'wineBottonPath/drive_c/Program Files/Tencent/WeMeet/wemeetapp.exe'], ['腾讯会议', 'wineBottonPath/drive_c/Program Files (x86)/Tencent/WeMeet/wemeetapp.exe'], ['腾讯课堂', 'wineBottonPath/drive_c/Program Files/Tencent/EDU/bin/TXEDU.exe'], ['腾讯课堂', 'wineBottonPath/drive_c/Program Files (x86)/Tencent/EDU/bin/TXEDU.exe'], ['QQ', 'wineBottonPath/drive_c/Program Files/Tencent/QQ/Bin/QQ.exe'], ['QQ', 'wineBottonPath/drive_c/Program Files (x86)/Tencent/QQ/Bin/QQ.exe'], ['TIM', 'wineBottonPath/drive_c/Program Files/Tencent/TIM/Bin/TIM.exe'], ['TIM', 'wineBottonPath/drive_c/Program Files (x86)/Tencent/TIM/Bin/TIM.exe']]
|
||||
lock
|
||||
libpng warning: iCCP: known incorrect sRGB profile
|
||||
libpng warning: iCCP: known incorrect sRGB profile
|
||||
libpng warning: iCCP: known incorrect sRGB profile
|
||||
libpng warning: iCCP: known incorrect sRGB profile
|
||||
libpng warning: iCCP: known incorrect sRGB profile
|
||||
libpng warning: iCCP: known incorrect sRGB profile
|
||||
libpng warning: iCCP: known incorrect sRGB profile
|
||||
libpng warning: iCCP: known incorrect sRGB profile
|
||||
create icon [font] engine failed.[theme:bloom-dark] nonCache[theme].size[0] (No such file or directory)
|
||||
create icon [floppy_unmount] engine failed.[theme:bloom-dark] nonCache[theme].size[1] (No such file or directory)
|
||||
create icon [3floppy_unmount] engine failed.[theme:bloom-dark] nonCache[theme].size[2] (No such file or directory)
|
||||
检测到库 riscv64
|
||||
检测到库 arm64
|
||||
检测到库 armhf
|
||||
检测到库 i386
|
||||
检测到库 s390x
|
||||
检测到库 mips64el
|
||||
检测到库 ppc64el
|
||||
检测到库 amd64
|
||||
版本号为:3.4.0
|
||||
普通版本
|
||||
qt.qpa.xcb: QXcbConnection: XCB error: 5 (BadAtom), sequence: 390, resource id: 0, major code: 20 (GetProperty), minor code: 0
|
||||
```
|
||||
|
||||
# 系统版本
|
||||
- 系统:Deepin 23
|
||||
- 硬件:
|
||||

|
||||
- 其他补充信息
|
||||
|
||||
# 之前做过什么操作
|
||||
在终端里输入了内容
|
||||
```bash
|
||||
sudo apt upgrade
|
||||
```
|
||||
更新了系统
|
||||
|
||||
# 复现步骤
|
||||
1. 打开运行器,然后点击右上角叉叉可以关闭
|
||||
|
||||
# 推测故障原因(可选)
|
||||
Qt 默认有一套配置好的退出事件
|
||||
|
||||
29
.github/workflows/auto-building-rpm.yml
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
name: Auto Building Wine Runner(rpm)
|
||||
run-name: ${{ github.actor }} Auto Building Wine Runner(rpm) 🚀
|
||||
on:
|
||||
push:
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
Explore-GitHub-Actions:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Building RPM
|
||||
env:
|
||||
GUSER: ${{ secrets.GUSER }}
|
||||
PASSWORD: ${{ secrets.PASSWORD }}
|
||||
UPLOADURL: ${{ secrets.UPLOADURL }}
|
||||
run: |
|
||||
# 配置环境
|
||||
sudo apt update
|
||||
sudo apt install git dpkg-dev qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools qt5-qmake rpm -y
|
||||
git clone https://github.com/gfdgd-xi/deep-wine-runner
|
||||
cd deep-wine-runner
|
||||
make package-rpm
|
||||
mv spark-deepin-wine-runner*.rpm /home/runner/spark-deepin-wine-runner.rpm
|
||||
- name: upload result
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: spark-deepin-wine-runner.rpm
|
||||
path: /home/runner/spark-deepin-wine-runner.rpm
|
||||
|
||||
|
||||
35
.github/workflows/auto-building.yml
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
name: Auto Building Wine Runner(deb)
|
||||
run-name: ${{ github.actor }} Auto Building Wine Runner(deb) 🚀
|
||||
on:
|
||||
push:
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
Explore-GitHub-Actions:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Building DEB
|
||||
env:
|
||||
GUSER: ${{ secrets.GUSER }}
|
||||
PASSWORD: ${{ secrets.PASSWORD }}
|
||||
UPLOADURL: ${{ secrets.UPLOADURL }}
|
||||
run: |
|
||||
# 配置环境
|
||||
sudo apt update
|
||||
sudo apt install git dpkg-dev qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools qt5-qmake -y
|
||||
git clone https://github.com/gfdgd-xi/deep-wine-runner
|
||||
cd deep-wine-runner
|
||||
make package-deb
|
||||
mv spark-deepin-wine-runner.deb ~
|
||||
mv spark-deepin-wine-runner-ace.deb ~
|
||||
- name: upload result
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: spark-deepin-wine-runner.deb
|
||||
path: /home/runner/spark-deepin-wine-runner.deb
|
||||
- name: upload result
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: spark-deepin-wine-runner-ace.deb
|
||||
path: /home/runner/spark-deepin-wine-runner-ace.deb
|
||||
|
||||
|
||||
78
.github/workflows/building-off-line-package.yml
vendored
Normal file
@@ -0,0 +1,78 @@
|
||||
name: Building Wine Runner Off-line Pages(amd64)
|
||||
run-name: ${{ github.actor }} Building Wine Runner Off-line Pages(amd64) 🚀
|
||||
on:
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
Explore-GitHub-Actions:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Building DEB
|
||||
env:
|
||||
GUSER: ${{ secrets.GUSER }}
|
||||
PASSWORD: ${{ secrets.PASSWORD }}
|
||||
UPLOADURL: ${{ secrets.UPLOADURL }}
|
||||
run: |
|
||||
# 获取所需数据
|
||||
cpu=$(cat /proc/cpuinfo | grep processor | wc -l)
|
||||
# 配置环境
|
||||
sudo apt update
|
||||
sudo apt install python3-requests debootstrap xz-utils -y
|
||||
sudo apt install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools psmisc -y
|
||||
cd ~
|
||||
mkdir package
|
||||
# 部署 chroot 环境
|
||||
sudo debootstrap bookworm debian
|
||||
wget https://github.com/gfdgd-xi/deep-wine-runner/raw/main/pardus-chroot
|
||||
sudo cp pardus-chroot /usr/bin
|
||||
sudo chmod 777 /usr/bin/pardus-chroot
|
||||
sudo pardus-chroot debian
|
||||
### 配置容器
|
||||
## 加入 wine 源
|
||||
sudo chroot debian dpkg --add-architecture i386
|
||||
sudo chroot debian apt update
|
||||
sudo chroot debian apt install wget -y
|
||||
sudo chroot debian wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
|
||||
sudo chroot debian wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bookworm/winehq-bookworm.sources
|
||||
sudo chroot debian apt update
|
||||
## 获取 Wine 运行器安装包
|
||||
git clone https://github.com/gfdgd-xi/deep-wine-runner --depth=1
|
||||
cd deep-wine-runner
|
||||
make package-deb
|
||||
cd ..
|
||||
url=`python3 deep-wine-runner/off-line-shell/GetNewestDebUrl.py`
|
||||
#wget $url
|
||||
mv deep-wine-runner/spark-deepin-wine-runner.deb debian/tmp/wine-runner.deb
|
||||
## 安装
|
||||
sudo chroot debian apt install locales /tmp/wine-runner.deb winehq-devel fcitx xfce4-terminal -y
|
||||
# 构建软件包
|
||||
mkdir package/opt -p
|
||||
mkdir package/runner -p
|
||||
sudo cp debian/opt/wine-devel package/opt -rv
|
||||
sudo cp debian/usr/bin package -rv
|
||||
sudo cp debian/usr/lib package -rv
|
||||
sudo cp debian/usr/lib32 package -rv
|
||||
sudo cp debian/usr/lib64 package -rv
|
||||
sudo cp debian/opt/apps/deepin-wine-runner/* package/runner -rv
|
||||
cp deep-wine-runner/off-line-shell/run.sh package -rv
|
||||
cp deep-wine-runner/off-line-shell/bwrap_amd64 package/bwrap -rv
|
||||
sudo chmod 777 -Rv package ; true
|
||||
cd package
|
||||
# 添加 Wine 运行器离线模式标识
|
||||
touch runner/off-line.lock
|
||||
tar -cvf ../spark-deepin-wine-runner-off-line.tar *
|
||||
cd ..
|
||||
xz -T $cpu spark-deepin-wine-runner-off-line.tar
|
||||
cp deep-wine-runner/off-line-shell/compression-packager.sh spark-deepin-wine-runner-off-line.sh
|
||||
cat spark-deepin-wine-runner-off-line.tar.xz >> spark-deepin-wine-runner-off-line.sh
|
||||
- name: upload result
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: spark-deepin-wine-runner-off-line.tar.xz
|
||||
path: /home/runner/spark-deepin-wine-runner-off-line.tar.xz
|
||||
- name: upload result
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: spark-deepin-wine-runner-off-line.sh
|
||||
path: /home/runner/spark-deepin-wine-runner-off-line.sh
|
||||
|
||||
|
||||
9
.gitignore
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
*.user*
|
||||
__pycache__
|
||||
*.deb
|
||||
VM-source/Makefile
|
||||
*.rpm
|
||||
*.pro.user
|
||||
.vscode
|
||||
package-script.zip
|
||||
build-*-Debug
|
||||
3
.gitmodules
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
[submodule "novnc"]
|
||||
path = novnc
|
||||
url = https://github.com/novnc/noVNC
|
||||
3
.idea/.gitignore
generated
vendored
@@ -1,3 +0,0 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
8
.idea/deepin-wine-run.iml
generated
@@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="jdk" jdkName="Python 3.10" jdkType="Python SDK" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
6
.idea/inspectionProfiles/profiles_settings.xml
generated
@@ -1,6 +0,0 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<settings>
|
||||
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||
<version value="1.0" />
|
||||
</settings>
|
||||
</component>
|
||||
4
.idea/misc.xml
generated
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10" project-jdk-type="Python SDK" />
|
||||
</project>
|
||||
8
.idea/modules.xml
generated
@@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/deepin-wine-run.iml" filepath="$PROJECT_DIR$/.idea/deepin-wine-run.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/vcs.xml
generated
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -1,52 +0,0 @@
|
||||
version: '1.0'
|
||||
name: branch-pipeline
|
||||
displayName: BranchPipeline
|
||||
stages:
|
||||
- stage:
|
||||
name: compile
|
||||
displayName: 编译
|
||||
steps:
|
||||
- step: build@python
|
||||
name: build_python
|
||||
displayName: Python 构建
|
||||
pythonVersion: '3.9'
|
||||
# 非必填字段,开启后表示将构建产物暂存,但不会上传到制品库中,7天后自动清除
|
||||
artifacts:
|
||||
# 构建产物名字,作为产物的唯一标识可向下传递,支持自定义,默认为BUILD_ARTIFACT。在下游可以通过${BUILD_ARTIFACT}方式引用来获取构建物地址
|
||||
- name: BUILD_ARTIFACT
|
||||
# 构建产物获取路径,是指代码编译完毕之后构建物的所在路径
|
||||
path:
|
||||
- ./
|
||||
commands:
|
||||
- python3 -m pip install --upgrade pip
|
||||
- pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
|
||||
- pip3 install -r requirements.txt
|
||||
- python3 ./main.py
|
||||
- step: publish@general_artifacts
|
||||
name: publish_general_artifacts
|
||||
displayName: 上传制品
|
||||
# 上游构建任务定义的产物名,默认BUILD_ARTIFACT
|
||||
dependArtifact: BUILD_ARTIFACT
|
||||
# 上传到制品库时的制品命名,默认output
|
||||
artifactName: output
|
||||
dependsOn: build_python
|
||||
- stage:
|
||||
name: release
|
||||
displayName: 发布
|
||||
steps:
|
||||
- step: publish@release_artifacts
|
||||
name: publish_release_artifacts
|
||||
displayName: '发布'
|
||||
# 上游上传制品任务的产出
|
||||
dependArtifact: output
|
||||
# 发布制品版本号
|
||||
version: '1.0.0.0'
|
||||
# 是否开启版本号自增,默认开启
|
||||
autoIncrement: true
|
||||
triggers:
|
||||
push:
|
||||
branches:
|
||||
exclude:
|
||||
- master
|
||||
include:
|
||||
- .*
|
||||
@@ -1,50 +0,0 @@
|
||||
version: '1.0'
|
||||
name: master-pipeline
|
||||
displayName: MasterPipeline
|
||||
stages:
|
||||
- stage:
|
||||
name: compile
|
||||
displayName: 编译
|
||||
steps:
|
||||
- step: build@python
|
||||
name: build_python
|
||||
displayName: Python 构建
|
||||
pythonVersion: '3.9'
|
||||
# 非必填字段,开启后表示将构建产物暂存,但不会上传到制品库中,7天后自动清除
|
||||
artifacts:
|
||||
# 构建产物名字,作为产物的唯一标识可向下传递,支持自定义,默认为BUILD_ARTIFACT。在下游可以通过${BUILD_ARTIFACT}方式引用来获取构建物地址
|
||||
- name: BUILD_ARTIFACT
|
||||
# 构建产物获取路径,是指代码编译完毕之后构建物的所在路径
|
||||
path:
|
||||
- ./
|
||||
commands:
|
||||
- python3 -m pip install --upgrade pip
|
||||
- pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
|
||||
- pip3 install -r requirements.txt
|
||||
- python3 ./main.py
|
||||
- step: publish@general_artifacts
|
||||
name: publish_general_artifacts
|
||||
displayName: 上传制品
|
||||
# 上游构建任务定义的产物名,默认BUILD_ARTIFACT
|
||||
dependArtifact: BUILD_ARTIFACT
|
||||
# 上传到制品库时的制品命名,默认output
|
||||
artifactName: output
|
||||
dependsOn: build_python
|
||||
- stage:
|
||||
name: release
|
||||
displayName: 发布
|
||||
steps:
|
||||
- step: publish@release_artifacts
|
||||
name: publish_release_artifacts
|
||||
displayName: '发布'
|
||||
# 上游上传制品任务的产出
|
||||
dependArtifact: output
|
||||
# 发布制品版本号
|
||||
version: '1.0.0.0'
|
||||
# 是否开启版本号自增,默认开启
|
||||
autoIncrement: true
|
||||
triggers:
|
||||
push:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
@@ -1,37 +0,0 @@
|
||||
version: '1.0'
|
||||
name: pr-pipeline
|
||||
displayName: PRPipeline
|
||||
stages:
|
||||
- stage:
|
||||
name: compile
|
||||
displayName: 编译
|
||||
steps:
|
||||
- step: build@python
|
||||
name: build_python
|
||||
displayName: Python 构建
|
||||
pythonVersion: '3.9'
|
||||
# 非必填字段,开启后表示将构建产物暂存,但不会上传到制品库中,7天后自动清除
|
||||
artifacts:
|
||||
# 构建产物名字,作为产物的唯一标识可向下传递,支持自定义,默认为BUILD_ARTIFACT。在下游可以通过${BUILD_ARTIFACT}方式引用来获取构建物地址
|
||||
- name: BUILD_ARTIFACT
|
||||
# 构建产物获取路径,是指代码编译完毕之后构建物的所在路径
|
||||
path:
|
||||
- ./
|
||||
commands:
|
||||
- python3 -m pip install --upgrade pip
|
||||
- pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
|
||||
- pip3 install -r requirements.txt
|
||||
- python3 ./main.py
|
||||
- step: publish@general_artifacts
|
||||
name: publish_general_artifacts
|
||||
displayName: 上传制品
|
||||
# 上游构建任务定义的产物名,默认BUILD_ARTIFACT
|
||||
dependArtifact: BUILD_ARTIFACT
|
||||
# 上传到制品库时的制品命名,默认output
|
||||
artifactName: output
|
||||
dependsOn: build_python
|
||||
triggers:
|
||||
pr:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.4.0
|
||||
# 更新时间:2022年10月15日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.1.0
|
||||
# 更新时间:2022年08月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -11,6 +11,7 @@
|
||||
# 引入所需的库
|
||||
#################
|
||||
import os
|
||||
import updatekiller
|
||||
|
||||
def AddSparkStoreSource():
|
||||
# Download and install key
|
||||
@@ -37,6 +38,11 @@ def InstallSparkWine(wine):
|
||||
else:
|
||||
os.system(f"sudo apt install \"{wine}\" -y")
|
||||
|
||||
def InstallWineWithYay(wine):
|
||||
if os.system("which yay > /dev/null"):
|
||||
os.system("sudo pacman -S yay --noconfirm")
|
||||
os.system(f"yay -S \"{wine}\"")
|
||||
|
||||
###################
|
||||
# 程序功能
|
||||
###################
|
||||
@@ -52,6 +58,40 @@ m m "
|
||||
print("请保证你能有 root 权限以便安装")
|
||||
print("如果有请按回车,否则按 [Ctrl+C] 退出", end=' ')
|
||||
input()
|
||||
# 如果是 Fedora,则
|
||||
if os.path.exists("/etc/fedora-release"):
|
||||
os.system("sudo pacman -Syu")
|
||||
print("请问是否要安装原版 wine(wine64)?[Y/N]", end=' ')
|
||||
choose = input().upper()
|
||||
if not choose == "N":
|
||||
os.system("sudo yum install wine")
|
||||
print("全部完成!")
|
||||
exit()
|
||||
# 判断系统版本,如果是 Arch Linux,则另外处理
|
||||
if os.path.exists("/etc/arch-release"):
|
||||
os.system("sudo pacman -Syu")
|
||||
print("请问是否要安装原版 wine(wine64)?[Y/N]", end=' ')
|
||||
choose = input().upper()
|
||||
if not choose == "N":
|
||||
os.system("sudo pacman -S wine")
|
||||
if os.system("which deepin-wine5-stable > /dev/null"):
|
||||
print("请问是否要安装 deepin-wine5-stable?[Y/N]", end=' ')
|
||||
choose = input().upper()
|
||||
if not choose == "N":
|
||||
InstallWineWithYay("deepin-wine5-stable")
|
||||
if os.system("which deepin-wine6-stable > /dev/null"):
|
||||
print("请问是否要安装 deepin-wine6-stable?[Y/N]", end=' ')
|
||||
choose = input().upper()
|
||||
if not choose == "N":
|
||||
InstallWineWithYay("deepin-wine6-stable")
|
||||
if os.system("which deepin-wine8-stable > /dev/null"):
|
||||
print("请问是否要安装 deepin-wine8-stable?[Y/N]", end=' ')
|
||||
choose = input().upper()
|
||||
if not choose == "N":
|
||||
InstallWineWithYay("deepin-wine8-stable")
|
||||
print("全部完成!")
|
||||
exit()
|
||||
|
||||
os.system("sudo apt update")
|
||||
print("请问是否要更新操作系统?[Y/N]", end=' ')
|
||||
choose = input().upper()
|
||||
@@ -80,6 +120,11 @@ if os.system("which deepin-wine6-stable > /dev/null"):
|
||||
choose = input().upper()
|
||||
if not choose == "N":
|
||||
os.system("sudo apt install deepin-wine6-stable -y")
|
||||
if os.system("which deepin-wine8-stable > /dev/null"):
|
||||
print("请问是否要安装 deepin-wine8-stable?[Y/N]", end=' ')
|
||||
choose = input().upper()
|
||||
if not choose == "N":
|
||||
os.system("sudo apt install deepin-wine6-stable -y")
|
||||
if os.system("which spark-wine7-devel > /dev/null"):
|
||||
print("请问是否要安装 spark-wine7-devel(需要安装最新版星火应用商店)?[Y/N]", end=' ')
|
||||
choose = input().upper()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:1.8.0
|
||||
# 更新时间:2022年08月01日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -14,6 +14,7 @@ import os
|
||||
import sys
|
||||
import json
|
||||
import pyquery
|
||||
import updatekiller
|
||||
import req as requests
|
||||
import urllib.parse as parse
|
||||
|
||||
@@ -34,7 +35,7 @@ def CleanTerminal():
|
||||
|
||||
if __name__ == "__main__":
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print("作者:gfdgd xi")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装指定应用")
|
||||
sys.exit()
|
||||
|
||||
403
AutoConfig.py
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.4.0
|
||||
# 更新时间:2022年10月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -15,6 +15,7 @@ import sys
|
||||
import base64
|
||||
import json
|
||||
import traceback
|
||||
import updatekiller
|
||||
import urllib.request
|
||||
import req as requests
|
||||
import PyQt5.QtWidgets as QtWidgets
|
||||
@@ -28,9 +29,9 @@ except:
|
||||
webeng = False
|
||||
|
||||
urlSourcesList = [
|
||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/auto", # Gitlink 源
|
||||
"http://www.gfdgdxi.top/deep-wine-runner-auto-configuration-script/", # Github 源
|
||||
"https://gitee.com/gfdgd-xi/deep-wine-runner-auto-configuration-script/raw/master/", # Gitee 源
|
||||
"https://gfdgd-xi.github.io/deep-wine-runner-auto-configuration-script/", # Github 源
|
||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/auto", # Gitlink 源
|
||||
"http://gfdgdxi.msns.cn/wine-runner-list/auto/", # 备用源1,纯 IPv6 源
|
||||
"http://gfdgdxi.free.idcfengye.com/deep-wine-runner-auto-configuration-script/", # 备用源2
|
||||
"http://gfdgdxi.free.idcfengye.com/wine-runner-list/auto/", # 备用源 3
|
||||
@@ -39,400 +40,11 @@ urlSourcesList = [
|
||||
urlSources = urlSourcesList[0]
|
||||
lists = []
|
||||
|
||||
class ProgramRunStatusUpload():
|
||||
msgWindow = None
|
||||
starLayout = None
|
||||
fen = None
|
||||
starList = []
|
||||
sha1Value = ""
|
||||
programName = None
|
||||
def ChangeStar():
|
||||
if ProgramRunStatusUpload.fen.currentIndex() > 5:
|
||||
for i in ProgramRunStatusUpload.starList:
|
||||
i.setText(f"<img src='{programPath}/Icon/BadStar.svg' width=25>")
|
||||
return
|
||||
for i in range(ProgramRunStatusUpload.fen.currentIndex()):
|
||||
ProgramRunStatusUpload.starList[i].setText(f"<img src='{programPath}/Icon/Star.svg' width=25>")
|
||||
head = ProgramRunStatusUpload.fen.currentIndex()
|
||||
end = len(ProgramRunStatusUpload.starList)
|
||||
for i in range(head, end):
|
||||
ProgramRunStatusUpload.starList[i].setText(f"<img src='{programPath}/Icon/UnStar.svg' width=25>")
|
||||
|
||||
def ShowWindow(sha="", title=""):
|
||||
ProgramRunStatusUpload.starList = []
|
||||
ProgramRunStatusUpload.sha1Value = sha
|
||||
ProgramRunStatusUpload.msgWindow = QtWidgets.QMainWindow()
|
||||
msgWidget = QtWidgets.QWidget()
|
||||
msgWidgetLayout = QtWidgets.QGridLayout()
|
||||
ProgramRunStatusUpload.programName = QtWidgets.QLineEdit()
|
||||
ProgramRunStatusUpload.fen = QtWidgets.QComboBox()
|
||||
ProgramRunStatusUpload.starLayout = QtWidgets.QHBoxLayout()
|
||||
upload = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "上传"))
|
||||
upload.clicked.connect(ProgramRunStatusUpload.Upload)
|
||||
if title != "":
|
||||
ProgramRunStatusUpload.programName.setText(title)
|
||||
ProgramRunStatusUpload.programName.setDisabled(True)
|
||||
# 生成星星列表
|
||||
for i in [1, 1, 1, 1, 0]:
|
||||
ProgramRunStatusUpload.starList.append(QtWidgets.QLabel(f"<img src='{programPath}/Icon/{['Un', ''][i]}Star.svg' width=25>"))
|
||||
ProgramRunStatusUpload.starLayout.addWidget(ProgramRunStatusUpload.starList[-1])
|
||||
ProgramRunStatusUpload.starLayout.addItem(QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum))
|
||||
ProgramRunStatusUpload.programName.setPlaceholderText(QtCore.QCoreApplication.translate("U", "如果这个程序和程序名确实是合法还是检测到敏感词,改为“NULL”即可"))
|
||||
ProgramRunStatusUpload.fen.addItems(["0分", "1分", "2分", "3分", "4分", "5分"])
|
||||
ProgramRunStatusUpload.fen.setCurrentIndex(4)
|
||||
ProgramRunStatusUpload.fen.currentIndexChanged.connect(ProgramRunStatusUpload.ChangeStar)
|
||||
msgWidgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "程序名:")), 0, 0)
|
||||
msgWidgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "评分:")), 1, 0)
|
||||
msgWidgetLayout.addWidget(ProgramRunStatusUpload.programName, 0, 1)
|
||||
msgWidgetLayout.addWidget(ProgramRunStatusUpload.fen, 1, 1)
|
||||
msgWidgetLayout.addLayout(ProgramRunStatusUpload.starLayout, 2, 1)
|
||||
msgWidgetLayout.addWidget(upload, 3, 1)
|
||||
msgWidget.setLayout(msgWidgetLayout)
|
||||
ProgramRunStatusUpload.msgWindow.setCentralWidget(msgWidget)
|
||||
ProgramRunStatusUpload.msgWindow.setWindowTitle(QtCore.QCoreApplication.translate("U", "上传程序运行情况"))
|
||||
ProgramRunStatusUpload.msgWindow.setWindowIcon(QtGui.QIcon(iconPath))
|
||||
ProgramRunStatusUpload.msgWindow.show()
|
||||
|
||||
def Upload():
|
||||
try:
|
||||
#if ProgramRunStatusUpload.sha1Value == "":
|
||||
#ProgramRunStatusUpload.sha1Value = ProgramRunStatusUpload.GetSHA1(e2.currentText())
|
||||
QtWidgets.QMessageBox.information(None, QtCore.QCoreApplication.translate("U", "提示"), requests.post(base64.b64decode("aHR0cDovLzEyMC4yNS4xNTMuMTQ0OjMwMjUwL2Jhc2g=").decode("utf-8"), {
|
||||
"BashName": ProgramRunStatusUpload.sha1Value,
|
||||
"Fen": ProgramRunStatusUpload.fen.currentIndex()
|
||||
}).json()["Error"])
|
||||
except:
|
||||
traceback.print_exc()
|
||||
QtWidgets.QMessageBox.critical(None, QtCore.QCoreApplication.translate("U", "错误"), QtCore.QCoreApplication.translate("U", "数据上传失败!"))
|
||||
|
||||
class InformationWindow():
|
||||
def ShowWindow():
|
||||
#webeng = False
|
||||
# 获取选中项
|
||||
try:
|
||||
choose = ui.searchList.selectionModel().selectedIndexes()[0].data()
|
||||
except:
|
||||
QtWidgets.QMessageBox.critical(window, "错误", "您未选择任何配置文件")
|
||||
return
|
||||
fileName = ""
|
||||
for i in lists:
|
||||
print(i)
|
||||
if i[0] == choose:
|
||||
fileName = i[1]
|
||||
break
|
||||
aboutHtml = ""
|
||||
try:
|
||||
get = requests.get(f"{urlSources}/information/{fileName}.txt")
|
||||
if get.status_code / 100 != 2 and get.status_code / 100 != 3:
|
||||
int("Bad")
|
||||
about = get.text
|
||||
aboutHtml = str(about)
|
||||
if not "<" in about:
|
||||
# 非 Html 标签
|
||||
for i in about.splitlines():
|
||||
about += f"<p>{i}</p>\n"
|
||||
#about = f"<pre>{about}</pre>"
|
||||
about = f"<h1>关于“{choose}”的介绍</h1>\n{about}"
|
||||
except:
|
||||
traceback.print_exc()
|
||||
about = f"<h1>关于“{choose}”的介绍</h1>\n<p>暂无此程序的介绍</p>"
|
||||
try:
|
||||
import requests as r
|
||||
fenlists = requests.get(base64.b64decode("aHR0cHM6Ly9jb2RlLmdpdGxpbmsub3JnLmNuL2dmZGdkLXhpLW9yZy93aW5lLXJ1bm5lci1kb3dubG9hZHMtb2YtcnVubmVyL3Jhdy9icmFuY2gvbWFzdGVyL0Jhc2hBcHBGZW4v").decode("utf-8") + urllib.request.quote(fileName) + base64.b64decode("L2FsbC5qc29u").decode("utf-8"), timeout=1000).json()
|
||||
tipsInfo = ""
|
||||
except:
|
||||
fenlists = [0, 0, 0, 0, 0]
|
||||
tipsInfo = "暂时无人提交此脚本运行情况,是否立即提交?"
|
||||
maxHead = fenlists.index(max(fenlists))
|
||||
allNumber = 0
|
||||
for i in fenlists:
|
||||
allNumber += i
|
||||
try:
|
||||
maxNumber = max(fenlists) / allNumber * 100
|
||||
if tipsInfo == "":
|
||||
tipsInfo = f"有{maxNumber}%的用户选择了这个评分"
|
||||
except:
|
||||
pass
|
||||
end = 5
|
||||
starHtml = ""
|
||||
if maxHead > 5:
|
||||
for i in range(end):
|
||||
if webeng:
|
||||
starHtml += f"<img src='https://code.gitlink.org.cn/gfdgd_xi/deep-wine-runner/raw/branch/main/Icon/BadStar.svg' width=50>\n"
|
||||
else:
|
||||
starHtml += f"<img src='{programPath}/Icon/BadStar.svg' width=50>\n"
|
||||
else:
|
||||
for i in range(maxHead):
|
||||
if webeng:
|
||||
starHtml += f"<img src='https://code.gitlink.org.cn/gfdgd_xi/deep-wine-runner/raw/branch/main/Icon/Star.svg' width=50>\n"
|
||||
else:
|
||||
starHtml += f"<img src='{programPath}/Icon/Star.svg' width=50>\n"
|
||||
head = maxHead
|
||||
for i in range(head, end):
|
||||
if webeng:
|
||||
starHtml += f"<img src='https://code.gitlink.org.cn/gfdgd_xi/deep-wine-runner/raw/branch/main/Icon/UnStar.svg' width=50>"
|
||||
else:
|
||||
starHtml += f"<img src='{programPath}/Icon/UnStar.svg' width=50>"
|
||||
about += f"\n<hr/><h1>评分情况</h1>\n<p align='center'>{starHtml}</p>\n<p align='center'>{tipsInfo}</p>"
|
||||
message = QtWidgets.QDialog()
|
||||
messageLayout = QtWidgets.QVBoxLayout()
|
||||
if webeng:
|
||||
informationText = QtWebEngineWidgets.QWebEngineView()
|
||||
print(aboutHtml)
|
||||
if aboutHtml[:7] == "Visit: ":
|
||||
url = aboutHtml[7:].splitlines()[0]
|
||||
print(url)
|
||||
informationText.setUrl(QtCore.QUrl(url.strip()))
|
||||
else:
|
||||
#informationText.linkClicked.connect(lambda: print("a"))
|
||||
try:
|
||||
with open("/tmp/deepin-wine-runner-information.html", "w") as file:
|
||||
file.write(about)
|
||||
informationText.setUrl(QtCore.QUrl("file:///tmp/deepin-wine-runner-information.html"))
|
||||
except:
|
||||
traceback.print_exc()
|
||||
informationText.setHtml(about)
|
||||
#informationText.urlChanged.connect(lambda: informationText.setUrl(QtCore.QUrl("https://gfdgd-xi.github.io")))
|
||||
else:
|
||||
informationText = QtWidgets.QTextBrowser()
|
||||
informationText.setHtml(about)
|
||||
uploadFen = QtWidgets.QPushButton("提交评分")
|
||||
uploadFen.clicked.connect(lambda: ProgramRunStatusUpload.ShowWindow(fileName, choose))
|
||||
|
||||
#informationText.setUrl(QtCore.QUrl("https://gfdgd-xi.github.io"))
|
||||
messageLayout.addWidget(informationText)
|
||||
messageLayout.addWidget(uploadFen)
|
||||
message.setWindowTitle(f"关于“{choose}”的介绍")
|
||||
message.resize(int(message.frameSize().width() * 1.5), int(message.frameSize().height()))
|
||||
message.setLayout(messageLayout)
|
||||
#message.setWindowModality(ApplicationModal);
|
||||
message.show()
|
||||
message.exec_()
|
||||
|
||||
def Add(lists: list):
|
||||
global pinLunLayout
|
||||
pinLunLayout1 = QtWidgets.QVBoxLayout()
|
||||
pinLunLayout = QtWidgets.QWidget()
|
||||
pinLunLayout.setLayout(pinLunLayout1)
|
||||
for i in range(pinLunLayout1.count()):
|
||||
pinLunLayout1.removeItem(pinLunLayout1.itemAt(i))
|
||||
for i in lists:
|
||||
widget = QtWidgets.QWidget()
|
||||
inLayout = QtWidgets.QGridLayout()
|
||||
inLayout.addWidget(QtWidgets.QLabel("<hr>"), 0, 0, 1, 3)
|
||||
inLayout.addWidget(QtWidgets.QLabel(f"<b>{i[0]}</b>"), 1, 0)
|
||||
inLayout.addWidget(QtWidgets.QLabel(f"<p align='right'><b>第{i[1]}层</b></p>"), 1, 2)
|
||||
inLayout.addWidget(QtWidgets.QLabel(i[2]), 2, 0, 1, 3)
|
||||
widget.setLayout(inLayout)
|
||||
pinLunLayout1.addWidget(widget)
|
||||
#pinLunLayout.addWidget(QtWidgets.QLabel("<hr/>"))
|
||||
# pinLunLayout = widget
|
||||
|
||||
all = 0
|
||||
now = 0
|
||||
class ProgramRunStatusShow():
|
||||
msgWindow = None
|
||||
pingLunLayout = None
|
||||
def ShowWindow():
|
||||
global lists
|
||||
global all
|
||||
global now
|
||||
global leftButton
|
||||
global rightButton
|
||||
# 获取选中项
|
||||
try:
|
||||
choose = ui.searchList.selectionModel().selectedIndexes()[0].data()
|
||||
except:
|
||||
QtWidgets.QMessageBox.critical(window, "错误", "您未选择任何配置文件")
|
||||
return
|
||||
fileName = ""
|
||||
for i in lists:
|
||||
print(i)
|
||||
if i[0] == choose:
|
||||
fileName = i[1]
|
||||
break
|
||||
try:
|
||||
fenlists = requests.get(base64.b64decode("aHR0cHM6Ly9jb2RlLmdpdGxpbmsub3JnLmNuL2dmZGdkLXhpLW9yZy93aW5lLXJ1bm5lci1kb3dubG9hZHMtb2YtcnVubmVyL3Jhdy9icmFuY2gvbWFzdGVyL0Jhc2hBcHBGZW4v").decode("utf-8") + urllib.request.quote(fileName) + base64.b64decode("L2FsbC5qc29u").decode("utf-8")).json()
|
||||
tipsInfo = ""
|
||||
except:
|
||||
#traceback.print_exc()
|
||||
fenlists = [0, 0, 0, 0, 0]
|
||||
tipsInfo = "暂时无人提交此脚本评分,是否立即提交?"
|
||||
|
||||
maxHead = fenlists.index(max(fenlists))
|
||||
allNumber = 0
|
||||
for i in fenlists:
|
||||
allNumber += i
|
||||
try:
|
||||
maxNumber = max(fenlists) / allNumber * 100
|
||||
if tipsInfo == "":
|
||||
tipsInfo = f"有{maxNumber}%的用户选择了这个评分"
|
||||
except:
|
||||
pass
|
||||
ProgramRunStatusShow.msgWindow = QtWidgets.QMainWindow()
|
||||
msgWidget = QtWidgets.QWidget()
|
||||
msgWidgetLayout = QtWidgets.QGridLayout()
|
||||
starLayout = QtWidgets.QHBoxLayout()
|
||||
uploadButton = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "点此提交评分"))
|
||||
uploadButton.clicked.connect(lambda: ProgramRunStatusUpload.ShowWindow(fileName, choose))
|
||||
msgWidgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "综合评价:")), 0, 0, 2, 1)
|
||||
msgWidgetLayout.addLayout(starLayout, 0, 1, 2, 1)
|
||||
msgWidgetLayout.addWidget(QtWidgets.QLabel(tipsInfo), 0, 2)
|
||||
#msgWidgetLayout.addWidget(QtWidgets.QLabel("" if dateVersion == "" else f"数据版本:{dateVersion}"), 2, 0, 1, 2)
|
||||
msgWidgetLayout.addWidget(uploadButton, 1, 2)
|
||||
end = 5
|
||||
if maxHead > 5:
|
||||
for i in range(end):
|
||||
starLayout.addWidget(QtWidgets.QLabel(f"<img src='{programPath}/Icon/BadStar.svg' width=50>"))
|
||||
else:
|
||||
for i in range(maxHead):
|
||||
starLayout.addWidget(QtWidgets.QLabel(f"<img src='{programPath}/Icon/Star.svg' width=50>"))
|
||||
head = maxHead
|
||||
for i in range(head, end):
|
||||
starLayout.addWidget(QtWidgets.QLabel(f"<img src='{programPath}/Icon/UnStar.svg' width=50>"))
|
||||
pingLun = QtWidgets.QWidget()
|
||||
msgWidgetLayout.addWidget(pingLun, 4, 0, 1, 3)
|
||||
pingLunLayout = QtWidgets.QGridLayout()
|
||||
pingLunInfo = QtWidgets.QTextEdit()
|
||||
#pingLunInfo.document().setMaximumBlockCount(5)
|
||||
uploadButton = QtWidgets.QPushButton("评论")
|
||||
pingLunLayout.addWidget(pingLunInfo, 0, 0, 1, 3)
|
||||
pingLunLayout.addWidget(uploadButton, 1, 2)
|
||||
pingLunInfo.setPlaceholderText("""在此输入评论,须知:
|
||||
※1、不得含有色情、暴力、侮辱等违法内容以及不得有广告推广等内容
|
||||
※2、字数至少 15 字,但不得超过 250 字,评论内容最多 5 行,且评论内容将会进行审核,意味着评论不会实时生效显示
|
||||
※3、如果审核不通过将会被屏蔽并拉入黑名单,以及公开发布 IP 地址,评论前请三思!""")
|
||||
leftButton = QtWidgets.QPushButton("上一页")
|
||||
rightButton = QtWidgets.QPushButton("下一页")
|
||||
if maxHead == 0:
|
||||
#pingLun.setDisabled(True)
|
||||
pass
|
||||
else:
|
||||
# 显示最新的3条评论
|
||||
try:
|
||||
all = int(requests.get(f"{base64.b64decode('aHR0cHM6Ly9jb2RlLmdpdGxpbmsub3JnLmNuL2dmZGdkLXhpLW9yZy9iYXNocGlubHVuL3Jhdy9icmFuY2gvbWFzdGVyLw==').decode('utf-8')}{urllib.request.quote(fileName)}/data.txt").text)
|
||||
now = all - 3
|
||||
print(all)
|
||||
if all < 3:
|
||||
start = 0
|
||||
rightButton.setDisabled(True)
|
||||
else:
|
||||
start = all - 3
|
||||
uploadList = []
|
||||
for i in range(all - 1, start - 1, -1):
|
||||
print(f"第 {i + 1} 条评论:")
|
||||
info = requests.get(f"{base64.b64decode('aHR0cHM6Ly9jb2RlLmdpdGxpbmsub3JnLmNuL2dmZGdkLXhpLW9yZy9iYXNocGlubHVuL3Jhdy9icmFuY2gvbWFzdGVyLw==').decode('utf-8')}{urllib.request.quote(fileName)}/pf-{i}.txt").text.strip()
|
||||
print(info)
|
||||
uploadList.append([f"用户{i + 1}", i + 1, info])
|
||||
Add(uploadList)
|
||||
except:
|
||||
traceback.print_exc()
|
||||
try:
|
||||
ProgramRunStatusShow.pingLunLayout = pingLunLayout
|
||||
pingLunLayout.addWidget(pinLunLayout, 2, 0, 1, 3)
|
||||
except:
|
||||
leftButton.setDisabled(True)
|
||||
rightButton.setDisabled(True)
|
||||
leftButton.clicked.connect(Left)
|
||||
rightButton.clicked.connect(Right)
|
||||
pingLunLayout.addWidget(leftButton, 3, 0)
|
||||
pingLunLayout.addWidget(rightButton, 3, 2)
|
||||
leftButton.setDisabled(True)
|
||||
pingLun.setLayout(pingLunLayout)
|
||||
msgWidget.setLayout(msgWidgetLayout)
|
||||
uploadButton.clicked.connect(lambda: ProgramRunStatusShow.Upload(pingLunInfo.toPlainText(), fileName))
|
||||
ProgramRunStatusShow.msgWindow.setCentralWidget(msgWidget)
|
||||
ProgramRunStatusShow.msgWindow.setWindowIcon(QtGui.QIcon(iconPath))
|
||||
ProgramRunStatusShow.msgWindow.setWindowTitle(f"脚本“{choose}”运行情况")
|
||||
ProgramRunStatusShow.msgWindow.show()
|
||||
|
||||
def Upload(info, name):
|
||||
print(f"脚本:{name}")
|
||||
print(f"评论:{info}")
|
||||
try:
|
||||
res = requests.post(base64.b64decode("aHR0cDovLzEyMC4yNS4xNTMuMTQ0OjMwMjUwL1BpbmdMdW4=").decode("utf-8"), {"PinLun": info, "Version": name}).json()
|
||||
print(res)
|
||||
if res["ExitCode"]:
|
||||
QtWidgets.QMessageBox.critical(ProgramRunStatusShow.msgWindow, "错误", res["Error"])
|
||||
return
|
||||
QtWidgets.QMessageBox.information(ProgramRunStatusShow.msgWindow, "提示", res["Error"])
|
||||
except:
|
||||
traceback.print_exc()
|
||||
QtWidgets.QMessageBox.critical(ProgramRunStatusShow.msgWindow, "错误", "提交失败")
|
||||
|
||||
|
||||
def UpdateFen():
|
||||
global now
|
||||
fileName = ""
|
||||
# 获取选中项
|
||||
try:
|
||||
choose = ui.searchList.selectionModel().selectedIndexes()[0].data()
|
||||
except:
|
||||
QtWidgets.QMessageBox.critical(window, "错误", "您未选择任何配置文件")
|
||||
return
|
||||
for i in lists:
|
||||
print(i)
|
||||
if i[0] == choose:
|
||||
fileName = i[1]
|
||||
break
|
||||
uploadList = []
|
||||
for i in range(now + 2, now - 1, -1):
|
||||
print(f"第 {i + 1} 条评论:")
|
||||
info = requests.get(f"https://code.gitlink.org.cn/gfdgd-xi/bashpinlun/raw/branch/master/{urllib.request.quote(fileName)}/pf-{i}.txt").text.strip()
|
||||
print(info)
|
||||
uploadList.append([f"用户{i + 1}", i + 1, info])
|
||||
#ProgramRunStatusShow.pingLunLayout.removeItem(ProgramRunStatusShow.pingLunLayout.itemAt(2))
|
||||
ProgramRunStatusShow.pingLunLayout.removeWidget(pinLunLayout)
|
||||
pinLunLayout.hide()
|
||||
#pinLunLayout.
|
||||
Add(uploadList)
|
||||
#l = QtWidgets.QGridLayout()
|
||||
#l.removeWidget(pinLunLayout)
|
||||
ProgramRunStatusShow.pingLunLayout.addWidget(pinLunLayout, 2, 0, 1, 3)
|
||||
|
||||
def Left():
|
||||
global now
|
||||
global all
|
||||
|
||||
if now + 6 >= all:
|
||||
now = all - 3
|
||||
leftButton.setDisabled(True)
|
||||
rightButton.setEnabled(True)
|
||||
else:
|
||||
now += 3
|
||||
leftButton.setEnabled(True)
|
||||
rightButton.setEnabled(True)
|
||||
UpdateFen()
|
||||
print(all)
|
||||
print(now)
|
||||
|
||||
def Right():
|
||||
global now
|
||||
if now - 3 < 0:
|
||||
now = 0
|
||||
rightButton.setDisabled(True)
|
||||
leftButton.setEnabled(True)
|
||||
else:
|
||||
now -= 3
|
||||
leftButton.setEnabled(True)
|
||||
rightButton.setEnabled(True)
|
||||
UpdateFen()
|
||||
|
||||
def UploadFen():
|
||||
global lists
|
||||
# 获取选中项
|
||||
try:
|
||||
choose = ui.searchList.selectionModel().selectedIndexes()[0].data()
|
||||
except:
|
||||
QtWidgets.QMessageBox.critical(window, "错误", "您未选择任何配置文件")
|
||||
return
|
||||
fileName = ""
|
||||
for i in lists:
|
||||
print(i)
|
||||
if i[0] == choose:
|
||||
fileName = i[1]
|
||||
break
|
||||
ProgramRunStatusUpload.ShowWindow(fileName, choose)
|
||||
|
||||
class Connect:
|
||||
def SearchBotton_Clicked():
|
||||
@@ -515,7 +127,7 @@ def readtxt(path):
|
||||
|
||||
def ChangeSources():
|
||||
global urlSources
|
||||
sources = [ui.actionGitlink, ui.actionGitee, ui.actionGithub, ui.action_IPv6, ui.action_2, ui.action_3, ui.action]
|
||||
sources = [ui.actionGitee, ui.actionGithub, ui.actionGitlink, ui.action_IPv6, ui.action_2, ui.action_3, ui.action]
|
||||
for i in range(0, len(sources)):
|
||||
if sources[i].isChecked():
|
||||
urlSources = urlSourcesList[i]
|
||||
@@ -556,9 +168,10 @@ if __name__ == "__main__":
|
||||
window.show()
|
||||
#ui.actionGitlink.setExclusive(True)
|
||||
sourcesGroup = QtWidgets.QActionGroup(window)
|
||||
sourcesGroup.addAction(ui.actionGitlink)
|
||||
|
||||
sourcesGroup.addAction(ui.actionGitee)
|
||||
sourcesGroup.addAction(ui.actionGithub)
|
||||
sourcesGroup.addAction(ui.actionGitlink)
|
||||
sourcesGroup.addAction(ui.action_IPv6)
|
||||
sourcesGroup.addAction(ui.action_2)
|
||||
sourcesGroup.addAction(ui.action_3)
|
||||
@@ -571,11 +184,9 @@ if __name__ == "__main__":
|
||||
# 连接信号和槽
|
||||
ui.saerchBotton.clicked.connect(Connect.SearchBotton_Clicked)
|
||||
#ui.uploadFen.clicked.connect(UploadFen)
|
||||
ui.getInfoButton.clicked.connect(InformationWindow.ShowWindow)
|
||||
ui.runBotton.clicked.connect(Connect.RunBotton_Clicked)
|
||||
ui.openFile.triggered.connect(Connect.OpenFile_Triggered)
|
||||
ui.exitProgram.triggered.connect(window.close)
|
||||
ui.getFen.clicked.connect(ProgramRunStatusShow.ShowWindow)
|
||||
# 解析云列表
|
||||
try:
|
||||
# 获取列表
|
||||
|
||||
@@ -24,8 +24,8 @@ programEnv = [
|
||||
["PROGRAMPATH", programPath],
|
||||
["VERSION", version],
|
||||
["THANK", thankText.replace("\n", "\\n")],
|
||||
["MAKER", "gfdgd xi、为什么您不喜欢熊出没和阿布呢"],
|
||||
["COPYRIGHT", f"©2020~{time.strftime('%Y')} gfdgd xi、为什么您不喜欢熊出没和阿布呢"],
|
||||
["MAKER", "gfdgd xi"],
|
||||
["COPYRIGHT", f"©2020~{time.strftime('%Y')} gfdgd xi"],
|
||||
["PLATFORM", platform.system()],
|
||||
["DEBUG", str(int("--debug" in sys.argv))]
|
||||
]
|
||||
@@ -37,8 +37,8 @@ programEnv = [
|
||||
["($PROGRAMPATH)", programPath],
|
||||
["($VERSION)", version],
|
||||
["($THANK)", thankText],
|
||||
["($MAKER)", "gfdgd xi、为什么您不喜欢熊出没和阿布呢"],
|
||||
["($COPYRIGHT)", f"©2020~{time.strftime('%Y')} gfdgd xi、为什么您不喜欢熊出没和阿布呢"],
|
||||
["($MAKER)", "gfdgd xi"],
|
||||
["($COPYRIGHT)", f"©2020~{time.strftime('%Y')} gfdgd xi"],
|
||||
["?", "0"],
|
||||
["PLATFORM)", platform.system()],
|
||||
["DEBUG)", str(int("--debug" in sys.argv))]
|
||||
@@ -61,7 +61,7 @@ commandEnv += f"PATH=\"{programPath}/command:$PATH\" "
|
||||
if len(sys.argv) - optionAll < 2:
|
||||
print("Wine 运行器自动配置文件解析器交互环境(基于 Bash)")
|
||||
print(f"版本:{version}")
|
||||
print(f"©2020~{time.strftime('%Y')} gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print(f"©2020~{time.strftime('%Y')} gfdgd xi")
|
||||
print("--------------------------------------------------------------")
|
||||
os.system(f"{commandEnv} bash ")
|
||||
exit()
|
||||
@@ -70,6 +70,6 @@ for i in sys.argv[1:]:
|
||||
command += f"\"{i}\" "
|
||||
print("Wine 运行器自动配置文件解析器(基于 Bash)")
|
||||
print(f"版本:{version}")
|
||||
print(f"©2020~{time.strftime('%Y')} gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print(f"©2020~{time.strftime('%Y')} gfdgd xi")
|
||||
print("--------------------------------------------------------------")
|
||||
os.system(f"{commandEnv} bash {command}")
|
||||
87
BuildDemoConfigFile/com.7zip.demo_23.01spark0_all.json
Normal file
@@ -0,0 +1,87 @@
|
||||
{
|
||||
"Package": [
|
||||
"L",
|
||||
"com.7zip.demo"
|
||||
],
|
||||
"Version": [
|
||||
"L",
|
||||
"23.01spark0"
|
||||
],
|
||||
"Description": [
|
||||
"L",
|
||||
"7Zip For Deepin Wine6 Stable"
|
||||
],
|
||||
"Maintainer": [
|
||||
"L",
|
||||
"gfdgd xi<3025613752@qq.com>"
|
||||
],
|
||||
"BottleName": [
|
||||
"L",
|
||||
"Spark-7zip"
|
||||
],
|
||||
"BottlePath": [
|
||||
"L",
|
||||
"/home/gfdgd_xi/.deepinwine/Spark-7zip"
|
||||
],
|
||||
"WineVersion": [
|
||||
"Co",
|
||||
5
|
||||
],
|
||||
"DebSavePath": [
|
||||
"L",
|
||||
"/home/gfdgd_xi/Desktop/com.7zip.demo_23.01spark0_all.deb"
|
||||
],
|
||||
"Desktop": [
|
||||
"List-Desktop",
|
||||
[
|
||||
[
|
||||
"c:/Program Files/7-Zip/7zFM.exe",
|
||||
11,
|
||||
"",
|
||||
"7Zip",
|
||||
"/home/gfdgd_xi/Desktop/Icon_0001.png",
|
||||
""
|
||||
]
|
||||
]
|
||||
],
|
||||
"UseInstallWineArch": [
|
||||
"Co",
|
||||
0
|
||||
],
|
||||
"RemoveBash": [
|
||||
"Ch",
|
||||
true
|
||||
],
|
||||
"CleanBottleByUOS": [
|
||||
"Ch",
|
||||
true
|
||||
],
|
||||
"ChooseWineHelperValue": [
|
||||
"Ch",
|
||||
true
|
||||
],
|
||||
"DisabledMono": [
|
||||
"Ch",
|
||||
true
|
||||
],
|
||||
"DebDepends": [
|
||||
"L",
|
||||
"deepin-wine6-stable | deepin-wine6-stable-bcm | deepin-wine6-stable-dcm, spark-dwine-helper | store.spark-app.spark-dwine-helper, fonts-wqy-microhei, fonts-wqy-zenhei"
|
||||
],
|
||||
"DebRecommend": [
|
||||
"L",
|
||||
""
|
||||
],
|
||||
"DebFirstArch": [
|
||||
"Co",
|
||||
0
|
||||
],
|
||||
"DebArch": [
|
||||
"Co",
|
||||
0
|
||||
],
|
||||
"SparkHelperConfigPath": [
|
||||
"Str-SparkHelperConfigPath",
|
||||
null
|
||||
]
|
||||
}
|
||||
@@ -13,6 +13,7 @@
|
||||
import os
|
||||
import sys
|
||||
import traceback
|
||||
import updatekiller
|
||||
import PyQt5.QtGui as QtGui
|
||||
import PyQt5.QtCore as QtCore
|
||||
import PyQt5.QtWidgets as QtWidgets
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
#################################################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.5.0
|
||||
# 更新时间:2022年11月18日
|
||||
# 感谢:感谢 wine、deepin-wine 以及星火团队,提供了 wine、deepin-wine、spark-wine-devel 给大家使用,让我能做这个程序
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env deepin-wine-runner-auto-install-bash
|
||||
# 使用 Wine 运行器的语言解析器
|
||||
##########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 更新时间:2022年11月19日
|
||||
##########################################################################################
|
||||
# 用于判断是否为 bash 解释器
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env deepin-wine-runner-auto-install-bash
|
||||
# 使用 Wine 运行器的语言解析器
|
||||
##########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 更新时间:2022年11月03日
|
||||
##########################################################################################
|
||||
# 用于判断是否为 bash 解释器
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env deepin-wine-runner-auto-install-bash
|
||||
# 使用 Wine 运行器的语言解析器
|
||||
##########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 更新时间:2022年11月19日
|
||||
##########################################################################################
|
||||
# 用于判断是否为 bash 解释器
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:3.0.1
|
||||
# 更新时间:2022年10月05日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -12,6 +12,7 @@ import sys
|
||||
import time
|
||||
import json
|
||||
import random
|
||||
import updatekiller
|
||||
# 阉割 Android 应用安装功能
|
||||
#import uengineapi
|
||||
import platform
|
||||
@@ -42,8 +43,8 @@ programEnv = [
|
||||
["($PROGRAMPATH)", programPath],
|
||||
["($VERSION)", version],
|
||||
["($THANK)", thankText],
|
||||
["($MAKER)", "RacoonGX 团队,By gfdgd xi、为什么您不喜欢熊出没和阿布呢"],
|
||||
["($COPYRIGHT)", f"©2020~{time.strftime('%Y')} RacoonGX 团队,By gfdgd xi、为什么您不喜欢熊出没和阿布呢"],
|
||||
["($MAKER)", "gfdgd xi"],
|
||||
["($COPYRIGHT)", f"©2020~{time.strftime('%Y')} gfdgd xi"],
|
||||
["($?)", "0"],
|
||||
["($PLATFORM)", platform.system()],
|
||||
["($DEBUG)", "1"]
|
||||
@@ -300,7 +301,7 @@ class Command():
|
||||
|
||||
def Version(self):
|
||||
print(f"版本:{version}")
|
||||
print(f"©2020~{time.strftime('%Y')} RacoonGX 团队,By gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print(f"©2020~{time.strftime('%Y')} gfdgd xi")
|
||||
return 0
|
||||
|
||||
def Pause(self) -> int:
|
||||
@@ -649,7 +650,7 @@ if __name__ == "__main__":
|
||||
if len(sys.argv) - optionAll < 2:
|
||||
print("Wine 运行器自动配置文件解析器交互环境")
|
||||
print(f"版本:{version}")
|
||||
print(f"©2020~{time.strftime('%Y')} RacoonGX 团队,By gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print(f"©2020~{time.strftime('%Y')} By gfdgd xi")
|
||||
print("--------------------------------------------------------------")
|
||||
while True:
|
||||
commandLine = input(">")
|
||||
@@ -668,7 +669,7 @@ if __name__ == "__main__":
|
||||
sys.exit(1)
|
||||
print("Wine 运行器自动配置文件解析器")
|
||||
print(f"版本:{version}")
|
||||
print(f"©2020~{time.strftime('%Y')} gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print(f"©2020~{time.strftime('%Y')} gfdgd xi")
|
||||
print("--------------------------------------------------------------")
|
||||
com.Run(com.GetCommandList(), programEnv[0][1], programEnv[1][1])
|
||||
sys.exit(int(programEnv[9][1]))
|
||||
433
DefaultSetting.py
Normal file
@@ -0,0 +1,433 @@
|
||||
#!/usr/bin/env python3
|
||||
# 读取设置单独用一个 py 文件
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import base64
|
||||
import shutil
|
||||
import getpass
|
||||
import datetime
|
||||
import traceback
|
||||
import subprocess
|
||||
import webbrowser
|
||||
import configparser
|
||||
import PyQt5.QtGui as QtGui
|
||||
import PyQt5.QtCore as QtCore
|
||||
import PyQt5.QtWidgets as QtWidgets
|
||||
|
||||
TMPDIR = os.getenv("TMPDIR")
|
||||
if (TMPDIR == None):
|
||||
TMPDIR = ""
|
||||
|
||||
# 获取用户主目录
|
||||
def get_home():
|
||||
return os.path.expanduser('~')
|
||||
|
||||
# 读取文本文档
|
||||
def readtxt(path):
|
||||
f = open(path, "r") # 设置文件对象
|
||||
str = f.read() # 获取内容
|
||||
f.close() # 关闭文本对象
|
||||
return str # 返回结果
|
||||
|
||||
fontSize = 1
|
||||
'''tempSys = QtWidgets.QApplication(sys.argv)
|
||||
if tempSys.primaryScreen().availableGeometry().size().width() < 1366 or tempSys.primaryScreen().availableGeometry().size().height() < 768:
|
||||
fontSize = 1.1'''
|
||||
|
||||
defultProgramList = {
|
||||
"Architecture": "Auto",
|
||||
"Debug": True,
|
||||
"DefultWine": "deepin-wine8-stable",
|
||||
"DefultBotton" : get_home() + "/.wine",
|
||||
"TerminalOpen": False,
|
||||
"WineOption": "",
|
||||
"WineBottonDifferent": False,
|
||||
"CenterWindow": False,
|
||||
"Theme": "",
|
||||
"MonoGeckoInstaller": False,
|
||||
"AutoWine": True,
|
||||
"RuntimeCache": True,
|
||||
"MustRead": False,
|
||||
"BuildByBottleName": False,
|
||||
"AutoPath": False,
|
||||
"QemuUnMountHome": False,
|
||||
"Chinese": True,
|
||||
"FontSize": fontSize
|
||||
}
|
||||
|
||||
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
||||
iconPath = "{}/deepin-wine-runner.svg".format(programPath)
|
||||
try:
|
||||
information = json.loads(readtxt(f"{programPath}/information.json"))
|
||||
setting = json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/WineSetting.json"))
|
||||
except:
|
||||
traceback.print_exc()
|
||||
setting = defultProgramList
|
||||
|
||||
def SetFont(app):
|
||||
defaultFont = app.font()
|
||||
size = setting["FontSize"]
|
||||
font = QtGui.QFont(defaultFont)
|
||||
if size == 1:
|
||||
app.setFont(defaultFont)
|
||||
return
|
||||
font.setPixelSize(int(defaultFont.pixelSize() / size))
|
||||
font.setPointSize(int(defaultFont.pointSize() / size))
|
||||
app.setFont(font)
|
||||
|
||||
def getFileFolderSize(fileOrFolderPath):
|
||||
"""get size for file or folder"""
|
||||
totalSize = 0
|
||||
try:
|
||||
if not os.path.exists(fileOrFolderPath):
|
||||
return totalSize
|
||||
if os.path.isfile(fileOrFolderPath):
|
||||
totalSize = os.path.getsize(fileOrFolderPath) # 5041481
|
||||
return totalSize
|
||||
if os.path.islink(fileOrFolderPath):
|
||||
return 0
|
||||
if os.path.isdir(fileOrFolderPath):
|
||||
with os.scandir(fileOrFolderPath) as dirEntryList:
|
||||
for curSubEntry in dirEntryList:
|
||||
curSubEntryFullPath = os.path.join(fileOrFolderPath, curSubEntry.name)
|
||||
if curSubEntry.is_dir():
|
||||
curSubFolderSize = getFileFolderSize(curSubEntryFullPath) # 5800007
|
||||
totalSize += curSubFolderSize
|
||||
elif curSubEntry.is_file():
|
||||
curSubFileSize = os.path.getsize(curSubEntryFullPath) # 1891
|
||||
totalSize += curSubFileSize
|
||||
return totalSize
|
||||
except:
|
||||
return totalSize
|
||||
|
||||
def FileToBase64(filePath):
|
||||
src = ""
|
||||
with open(filePath, "rb") as f:
|
||||
base64Byte = base64.b64encode(f.read())
|
||||
src += base64Byte.decode("utf-8")
|
||||
return src
|
||||
|
||||
def SaveLogWindow():
|
||||
pass
|
||||
|
||||
def OpenUrl(url):
|
||||
print(url.url())
|
||||
# 判断是否可以使用小窗打开
|
||||
webbrowser.open_new_tab(url.url())
|
||||
|
||||
def Appreciate():
|
||||
global messageAppreciate
|
||||
messageAppreciate = QtWidgets.QTextBrowser()
|
||||
messageAppreciate.setHtml(f"""<h3>请作者喝杯茶</h3>
|
||||
<p>如果您觉得 Wine 运行器对你有帮助,可以请作者喝杯茶 </p>
|
||||
<p>
|
||||
<img src="{programPath}/Icon/QR/Wechat.png" width="250" />
|
||||
<img src="{programPath}/Icon/QR/Alipay.jpg" width="250" />
|
||||
<img src="{programPath}/Icon/QR/QQ.png" width="250" >
|
||||
</p>
|
||||
<hr/>
|
||||
<h3>广告</h3>
|
||||
<p>支付宝官方活动,扫描获得支付红包!</p>
|
||||
<p><img src="{programPath}/Icon/QR/advertisement0.jpg" width="250" ></p>""")
|
||||
messageAppreciate.resize(int(messageAppreciate.frameGeometry().width() * 1.5), int(messageAppreciate.frameGeometry().height() * 1.2))
|
||||
messageAppreciate.setWindowTitle("赞赏作者/请作者喝杯茶")
|
||||
messageAppreciate.show()
|
||||
|
||||
# 显示“关于这个程序”窗口
|
||||
def about_this_program()->"显示“关于这个程序”窗口":
|
||||
global about
|
||||
global title
|
||||
global iconPath
|
||||
global clickIconTime
|
||||
clickIconTime = 0
|
||||
QT.message = QtWidgets.QMainWindow()
|
||||
QT.message.setWindowIcon(QtGui.QIcon(iconPath))
|
||||
messageWidget = QtWidgets.QWidget()
|
||||
messageWidget.setObjectName("messageWidget")
|
||||
messageWidget.setStyleSheet(f"QWidget#messageWidget {{background: url({programPath}/Icon/Program/about-background.png) no-repeat;background-position: left bottom;}}")
|
||||
QT.message.setWindowTitle(f"关于 {title}")
|
||||
messageLayout = QtWidgets.QGridLayout()
|
||||
iconShow = QtWidgets.QLabel(f"<a href='https://www.gfdgdxi.top'><img width=256 src='{iconPath}'></a>")
|
||||
def ChangeIcon():
|
||||
global clickIconTime
|
||||
if clickIconTime >= 0:
|
||||
clickIconTime = clickIconTime + 1
|
||||
if clickIconTime > 0:
|
||||
clickIconTime = -1
|
||||
for k in ["", "Function", "Program"]:
|
||||
try:
|
||||
for i in os.listdir(f"{programPath}/Icon/{k}"):
|
||||
if i[-4:] == ".svg" or i[-4:] == ".png":
|
||||
iconPathList.append(f"{programPath}/Icon/{k}/{i}")
|
||||
except:
|
||||
traceback.print_exec()
|
||||
randomNumber = random.randint(0, len(iconPathList) - 1)
|
||||
iconShow.setText(f"<a href='https://www.gfdgdxi.top'><img width=256 src='{iconPathList[randomNumber]}'></a><p align='center'>{randomNumber + 1}/{len(iconPathList)}</p>")
|
||||
iconShow.linkActivated.connect(ChangeIcon)
|
||||
messageLayout.addWidget(iconShow, 0, 0, 1, 1, QtCore.Qt.AlignTop)
|
||||
aboutInfo = QtWidgets.QTextBrowser(messageWidget)
|
||||
aboutInfo.setFocusPolicy(QtCore.Qt.NoFocus)
|
||||
#aboutInfo.copyAvailable.connect(lambda: print("b"))
|
||||
aboutInfo.anchorClicked.connect(OpenUrl)
|
||||
aboutInfo.setOpenLinks(False)
|
||||
aboutInfo.setHtml(about)
|
||||
aboutInfo.setOpenExternalLinks(False)
|
||||
messageLayout.addWidget(aboutInfo, 0, 1, 1, 1)
|
||||
ok = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "确定"))
|
||||
ok.clicked.connect(QT.message.close)
|
||||
messageLayout.addWidget(ok, 1, 1, 1, 1, QtCore.Qt.AlignBottom | QtCore.Qt.AlignRight)
|
||||
messageWidget.setLayout(messageLayout)
|
||||
|
||||
QT.message.setCentralWidget(messageWidget)
|
||||
QT.message.resize(int(messageWidget.frameGeometry().width() * 1.5), int(messageWidget.frameGeometry().height() * 1.5))
|
||||
QT.message.show()
|
||||
|
||||
class SaveLogReport():
|
||||
userName = getpass.getuser()
|
||||
time = datetime.datetime.now().strftime("%Y/%m/%d %H:%M:%S")
|
||||
kernelVersion = subprocess.getoutput("uname -a")
|
||||
wineRunnerVersion = information["Version"]
|
||||
architecture = subprocess.getoutput("arch")
|
||||
cpuInfo = subprocess.getoutput("lscpu")
|
||||
lsmod = subprocess.getoutput("lsmod")
|
||||
lshw = subprocess.getoutput("lshw")
|
||||
cpu = subprocess.getoutput("cat /proc/cpuinfo | grep 'model name' | head -n 1 | awk -F: '{print $2}'")
|
||||
gpu = subprocess.getoutput("lspci | grep -i 'VGA\|3D\|2D'")
|
||||
|
||||
def __init__(self, chooseWineName, chooseWineCommand, runCommand, binPath, logOut, description="无", imgPath=[]) -> None:
|
||||
self.chooseWineName = chooseWineName
|
||||
self.chooseWineCommand = chooseWineCommand
|
||||
self.runCommand = runCommand
|
||||
self.binPath = binPath
|
||||
self.logOut = logOut
|
||||
self.description = description
|
||||
self.imgPath = imgPath
|
||||
# 读取可执行文件信息
|
||||
if os.path.exists(binPath):
|
||||
try:
|
||||
self.binSize = f"{str(int(getFileFolderSize(binPath) / 1024 / 1024))}MB"
|
||||
except:
|
||||
self.binSize = "Error"
|
||||
traceback.print_exc()
|
||||
os.system(f"'{programPath}/wrestool' '{binPath}' -x -t 14 > '/tmp/wine-runner-log-icon.png'")
|
||||
# 如果提取成功
|
||||
if os.path.exists(TMPDIR + "/tmp/wine-runner-log-icon.png"):
|
||||
# 转换成 base64 编码
|
||||
self.binIcon = "data:image/jpg;base64," + FileToBase64(TMPDIR + "/tmp/wine-runner-log-icon.png")
|
||||
self.binIconPath = "/tmp/wine-runner-log-icon.png"
|
||||
else:
|
||||
self.binIcon = "Not Found"
|
||||
self.binIconPath = "Not Found"
|
||||
else:
|
||||
self.binSize = "Not Found"
|
||||
self.binIcon = "Not Found"
|
||||
self.binIconPath = "Not Found"
|
||||
try:
|
||||
self.memoryInfo = readtxt("/proc/meminfo")
|
||||
except:
|
||||
traceback.print_exc()
|
||||
self.memoryInfo = traceback.format_exc()
|
||||
# 读取系统信息
|
||||
try:
|
||||
with open("/etc/os-release", "r") as file:
|
||||
text = "[Default]\n" + file.read()
|
||||
conf = configparser.ConfigParser()
|
||||
conf.read_string(text)
|
||||
self.systemVersion = conf.get("Default", "PRETTY_NAME")
|
||||
except:
|
||||
traceback.print_exc()
|
||||
self.systemVersion = subprocess.getoutput("lsb_release -a")
|
||||
|
||||
def SetWindow(self):
|
||||
def AddImageToListClicked():
|
||||
choose = QtWidgets.QFileDialog.getOpenFileNames(messagebox, "选择图像", get_home(), "图片文件(*.png *.jpg *.bmp *.gif *.svg);;所有文件(*.*)")
|
||||
print(choose)
|
||||
for i in choose[0]:
|
||||
if i in imageList:
|
||||
continue
|
||||
imageList.append(i)
|
||||
nmodel = QtGui.QStandardItemModel(messagebox)
|
||||
for i in imageList:
|
||||
item = QtGui.QStandardItem(i)
|
||||
nmodel.appendRow(item)
|
||||
imageListView.setModel(nmodel)
|
||||
|
||||
def DeleteImageToListClicked():
|
||||
index = imageListView.currentIndex().row()
|
||||
if index < 0:
|
||||
QtWidgets.QMessageBox.information(messagebox, "提示", "您未选择任何项")
|
||||
return
|
||||
del imageList[index]
|
||||
nmodel = QtGui.QStandardItemModel(messagebox)
|
||||
for i in imageList:
|
||||
item = QtGui.QStandardItem(i)
|
||||
nmodel.appendRow(item)
|
||||
imageListView.setModel(nmodel)
|
||||
# 选择第一项
|
||||
imageListView.setCurrentIndex(nmodel.index(0, 0))
|
||||
|
||||
def OkClicked():
|
||||
self.description = description.toPlainText()
|
||||
self.imgPath = imageList
|
||||
path = QtWidgets.QFileDialog.getSaveFileName(messagebox, "保存日志报告", get_home(), "7z 文件(*.7z);;所有文件(*.*)")
|
||||
print(path)
|
||||
if path[0] != "":
|
||||
try:
|
||||
self.To7z(path[0])
|
||||
except:
|
||||
traceback.print_exc()
|
||||
QtWidgets.QMessageBox.critical(messagebox, "错误", traceback.format_exc())
|
||||
return
|
||||
messagebox.close()
|
||||
QtWidgets.QMessageBox.information(messagebox, "提示", "生成完成!\n建议将报告与可执行文件一并提交以便排除错误")
|
||||
|
||||
def CancelClicked():
|
||||
messagebox.close()
|
||||
|
||||
# 权重
|
||||
size = QtWidgets.QSizePolicy()
|
||||
size.setHorizontalPolicy(0)
|
||||
imageList = []
|
||||
messagebox = QtWidgets.QDialog()
|
||||
layout = QtWidgets.QGridLayout()
|
||||
description = QtWidgets.QTextEdit()
|
||||
imageListView = QtWidgets.QListView()
|
||||
addImageToList = QtWidgets.QPushButton("+")
|
||||
deleteImageToList = QtWidgets.QPushButton("-")
|
||||
controlLayout = QtWidgets.QHBoxLayout()
|
||||
ok = QtWidgets.QPushButton("保存")
|
||||
cancel = QtWidgets.QPushButton("取消")
|
||||
description.setPlaceholderText("可以填写故障的现象、复现步骤以及其他有关的信息,同时也可以填写联系方式")
|
||||
addImageToList.clicked.connect(AddImageToListClicked)
|
||||
deleteImageToList.clicked.connect(DeleteImageToListClicked)
|
||||
ok.clicked.connect(OkClicked)
|
||||
cancel.clicked.connect(CancelClicked)
|
||||
addImageToList.setSizePolicy(size)
|
||||
deleteImageToList.setSizePolicy(size)
|
||||
ok.setSizePolicy(size)
|
||||
cancel.setSizePolicy(size)
|
||||
layout.addWidget(QtWidgets.QLabel("<h2>描述(建议填写)</h2>"), 0, 0)
|
||||
layout.addWidget(description, 1, 0, 1, 3)
|
||||
layout.addWidget(QtWidgets.QLabel("<hr>"), 2, 0, 1, 4)
|
||||
layout.addWidget(QtWidgets.QLabel("<h2>截图(建议选择)</h2>"), 3, 0)
|
||||
layout.addWidget(imageListView, 4, 0, 4, 3)
|
||||
layout.addWidget(addImageToList, 5, 3)
|
||||
layout.addWidget(deleteImageToList, 6, 3)
|
||||
layout.addLayout(controlLayout, 8, 2, 1, 2)
|
||||
controlLayout.addWidget(cancel)
|
||||
controlLayout.addWidget(ok)
|
||||
messagebox.setLayout(layout)
|
||||
messagebox.exec_()
|
||||
|
||||
def To7z(self, savePath):
|
||||
os.system("rm -rfv $TMPDIR/tmp/wine-runner-log")
|
||||
os.system("mkdir -v $TMPDIR/tmp/wine-runner-log")
|
||||
self.ToHtml(TMPDIR + "/tmp/wine-runner-log/index.html", toZip=True)
|
||||
if os.path.exists(self.binIconPath):
|
||||
shutil.copy(self.binIconPath, f"/tmp/wine-runner-log/{os.path.basename(self.binIconPath)}")
|
||||
lists = ["wine-runner-log-icon.png", "index.html"]
|
||||
for i in self.imgPath:
|
||||
name = os.path.basename(i)
|
||||
if os.path.basename(i) in lists:
|
||||
while name in lists:
|
||||
name = os.path.splitext(name)[0] + "-copy" + os.path.splitext(name)[1]
|
||||
lists.append(name)
|
||||
else:
|
||||
lists.append(name)
|
||||
shutil.copy(i, f"/tmp/wine-runner-log/{name}")
|
||||
os.system(f"7z a '{savePath}' $TMPDIR/tmp/wine-runner-log")
|
||||
|
||||
|
||||
def ToHtml(self, savePath, toZip=False):
|
||||
print(self.userName, self.time)
|
||||
# 对文本进行处理
|
||||
description = ""
|
||||
logOut = ""
|
||||
cpuInfo = ""
|
||||
memoryInfo = ""
|
||||
imgPath = ""
|
||||
lsmod = ""
|
||||
lshw = ""
|
||||
charReplaceMap = {
|
||||
"<": "<",
|
||||
">": ">",
|
||||
"&": "&",
|
||||
'"': """
|
||||
}
|
||||
for i in self.description.splitlines():
|
||||
for k in charReplaceMap:
|
||||
i = i.replace(k, charReplaceMap[k])
|
||||
description += f'<span class="line code">{i}</span>\n'
|
||||
for i in self.logOut.splitlines():
|
||||
for k in charReplaceMap:
|
||||
i = i.replace(k, charReplaceMap[k])
|
||||
logOut += f'<span class="line code">{i}</span>\n'
|
||||
for i in self.cpuInfo.splitlines():
|
||||
for k in charReplaceMap:
|
||||
i = i.replace(k, charReplaceMap[k])
|
||||
cpuInfo += f'<span class="line code">{i}</span>\n'
|
||||
for i in self.memoryInfo.splitlines():
|
||||
for k in charReplaceMap:
|
||||
i = i.replace(k, charReplaceMap[k])
|
||||
memoryInfo += f'<span class="line code">{i}</span>\n'
|
||||
for i in self.lsmod.splitlines():
|
||||
for k in charReplaceMap:
|
||||
i = i.replace(k, charReplaceMap[k])
|
||||
lsmod += f'<span class="line code">{i}</span>\n'
|
||||
for i in self.lshw.splitlines():
|
||||
for k in charReplaceMap:
|
||||
i = i.replace(k, charReplaceMap[k])
|
||||
lshw += f'<span class="line code">{i}</span>\n'
|
||||
text = readtxt(f"{programPath}/Resources/LogTemplate/template.html")
|
||||
if toZip:
|
||||
binIcon = os.path.basename(self.binIconPath)
|
||||
# 重名排除
|
||||
lists = ["wine-runner-log-icon.png", "index.html"]
|
||||
for i in self.imgPath:
|
||||
name = os.path.basename(i)
|
||||
if os.path.basename(i) in lists:
|
||||
while name in lists:
|
||||
name = os.path.splitext(name)[0] + "-copy" + os.path.splitext(name)[1]
|
||||
lists.append(name)
|
||||
else:
|
||||
lists.append(name)
|
||||
imgPath += f'<p align="center"><img src="{name}" class="imgShow"></p>\n'
|
||||
else:
|
||||
binIcon = self.binIcon
|
||||
for i in self.imgPath:
|
||||
try:
|
||||
path = "data:image/jpg;base64," + FileToBase64(i)
|
||||
except:
|
||||
traceback.print_exc()
|
||||
path = "Error"
|
||||
imgPath += f' <p align="center"><img src="{path}" class="imgShow"></p>\n'
|
||||
|
||||
replaceMap = {
|
||||
"%UserName%": self.userName,
|
||||
"%Time%": self.time,
|
||||
"%KernelVersion": self.kernelVersion,
|
||||
"%ChooseWineName%": self.chooseWineName,
|
||||
"%ChooseWineCommand%": self.chooseWineCommand,
|
||||
"%RunCommand%": self.runCommand,
|
||||
"%BinPath%": self.binPath,
|
||||
"%WineRunnerVersion%": self.wineRunnerVersion,
|
||||
"%BinSize%": self.binSize,
|
||||
"%BinIcon%": binIcon,
|
||||
"%CPUInfo%": cpuInfo,
|
||||
"%Architecture%": self.architecture,
|
||||
"%MemoryInfo%": memoryInfo,
|
||||
"%LogOut%": logOut,
|
||||
"%Description%": description,
|
||||
"%ImgPath%": imgPath,
|
||||
"%Lsmod%": lsmod,
|
||||
"%Lshw%": lshw,
|
||||
"%CPU%": self.cpu,
|
||||
"%GPU%": self.gpu,
|
||||
"%SystemVersion%": self.systemVersion
|
||||
}
|
||||
for i in replaceMap.keys():
|
||||
text = text.replace(i, replaceMap[i])
|
||||
with open(savePath, "w") as file:
|
||||
file.write(text)
|
||||
|
||||
12
DesktopIcon/spark-deepin-wine-packager-easy-builder.desktop
Normal file
@@ -0,0 +1,12 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
X-Categories=System;Wine;
|
||||
Exec=/usr/bin/deepin-wine-packager-easy-builder %F
|
||||
Icon=/opt/apps/deepin-wine-runner/deepin-wine-runner.svg
|
||||
Name=Wine Package Builder
|
||||
Name[zh]=Wine 简易打包器
|
||||
Terminal=false
|
||||
StartupNotify=true
|
||||
NoDisplay=true
|
||||
Keywords=exe;scr;
|
||||
MimeType=application/x-ms-dos-executable;application/x-msi;application/x-ms-shortcut;
|
||||
@@ -1,5 +1,11 @@
|
||||
#!/usr/bin/env python3
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import base64
|
||||
import requests
|
||||
print(requests.get(base64.b64decode("aHR0cDovLzEyMC4yNS4xNTMuMTQ0L3NwYXJrLWRlZXBpbi13aW5lLXJ1bm5lci9JbnN0YWxsLnBocD9WZXJzaW9uPQ==").decode("utf-8") + sys.argv[1]).text)
|
||||
# 读取版本号
|
||||
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
||||
with open(f"{programPath}/information.json") as file:
|
||||
version = json.loads(file.read())["Version"]
|
||||
print(requests.get(base64.b64decode("aHR0cDovLzEyMC4yNS4xNTMuMTQ0L3NwYXJrLWRlZXBpbi13aW5lLXJ1bm5lci9JbnN0YWxsLnBocD9WZXJzaW9uPQ==").decode("utf-8") + version).text)
|
||||
74
ExePreview/.gitignore
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
# This file is used to ignore files which are generated
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
*~
|
||||
*.autosave
|
||||
*.a
|
||||
*.core
|
||||
*.moc
|
||||
*.o
|
||||
*.obj
|
||||
*.orig
|
||||
*.rej
|
||||
*.so
|
||||
*.so.*
|
||||
*_pch.h.cpp
|
||||
*_resource.rc
|
||||
*.qm
|
||||
.#*
|
||||
*.*#
|
||||
core
|
||||
!core/
|
||||
tags
|
||||
.DS_Store
|
||||
.directory
|
||||
*.debug
|
||||
Makefile*
|
||||
*.prl
|
||||
*.app
|
||||
moc_*.cpp
|
||||
ui_*.h
|
||||
qrc_*.cpp
|
||||
Thumbs.db
|
||||
*.res
|
||||
*.rc
|
||||
/.qmake.cache
|
||||
/.qmake.stash
|
||||
|
||||
# qtcreator generated files
|
||||
*.pro.user*
|
||||
CMakeLists.txt.user*
|
||||
|
||||
# xemacs temporary files
|
||||
*.flc
|
||||
|
||||
# Vim temporary files
|
||||
.*.swp
|
||||
|
||||
# Visual Studio generated files
|
||||
*.ib_pdb_index
|
||||
*.idb
|
||||
*.ilk
|
||||
*.pdb
|
||||
*.sln
|
||||
*.suo
|
||||
*.vcproj
|
||||
*vcproj.*.*.user
|
||||
*.ncb
|
||||
*.sdf
|
||||
*.opensdf
|
||||
*.vcxproj
|
||||
*vcxproj.*
|
||||
|
||||
# MinGW generated files
|
||||
*.Debug
|
||||
*.Release
|
||||
|
||||
# Python byte code
|
||||
*.pyc
|
||||
|
||||
# Binaries
|
||||
# --------
|
||||
*.dll
|
||||
*.exe
|
||||
|
||||
3
ExePreview/ExePreview.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"Keys": ["application/x-ms-dos-executable", "application/x-msi", "application/x-ms-shortcut"]
|
||||
}
|
||||
31
ExePreview/ExePreview.pro
Normal file
@@ -0,0 +1,31 @@
|
||||
QT += gui
|
||||
|
||||
TEMPLATE = lib
|
||||
CONFIG += plugin core gui
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||
|
||||
INCLUDEPATH += /usr/include/dde-file-manager/
|
||||
DISTFILES += dfmpreview-wine-runner-plugin.json
|
||||
|
||||
CONFIG += c++17
|
||||
|
||||
# You can make your code fail to compile if it uses deprecated APIs.
|
||||
# In order to do so, uncomment the following line.
|
||||
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
|
||||
|
||||
SOURCES += \
|
||||
dfmexepreview.cpp \
|
||||
main.cpp
|
||||
|
||||
HEADERS += \
|
||||
dfmexepreview.h \
|
||||
main.h
|
||||
|
||||
DISTFILES += ExePreview.json
|
||||
|
||||
# Default rules for deployment.
|
||||
unix {
|
||||
target.path = $$[QT_INSTALL_PLUGINS]/generic
|
||||
}
|
||||
!isEmpty(target.path): INSTALLS += target
|
||||
59
ExePreview/dfmexepreview.cpp
Normal file
@@ -0,0 +1,59 @@
|
||||
#include "dfmexepreview.h"
|
||||
|
||||
#include <dfileservices.h>
|
||||
|
||||
DFMExePreview::DFMExePreview(QObject *parent) : DFMFilePreview(parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
DFMExePreview::~DFMExePreview()
|
||||
{
|
||||
if (m_view) {
|
||||
m_view->deleteLater();
|
||||
m_view = NULL;
|
||||
}
|
||||
if (m_statusBar) {
|
||||
m_statusBar->deleteLater();
|
||||
m_statusBar = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void DFMExePreview::initialize(QWidget *window, QWidget *statusBar)
|
||||
{
|
||||
Q_UNUSED(window)
|
||||
Q_UNUSED(statusBar)
|
||||
if (!m_view) {
|
||||
m_view = new QLabel();
|
||||
}
|
||||
if (!m_statusBar) {
|
||||
m_statusBar = new QLabel();
|
||||
}
|
||||
}
|
||||
|
||||
bool DFMExePreview::setFileUrl(const DUrl &url)
|
||||
{
|
||||
m_url = url;
|
||||
m_view->setText("114514");
|
||||
return 1;
|
||||
}
|
||||
|
||||
DUrl DFMExePreview::fileUrl() const
|
||||
{
|
||||
return m_url;
|
||||
}
|
||||
|
||||
QWidget *DFMExePreview::contentWidget() const
|
||||
{
|
||||
return m_view;
|
||||
}
|
||||
|
||||
QWidget *DFMExePreview::statusBarWidget() const
|
||||
{
|
||||
return m_statusBar;
|
||||
}
|
||||
|
||||
QString DFMExePreview::title() const
|
||||
{
|
||||
return m_title;
|
||||
}
|
||||
28
ExePreview/dfmexepreview.h
Normal file
@@ -0,0 +1,28 @@
|
||||
#ifndef DFMEXEPREVIEW_H
|
||||
#define DFMEXEPREVIEW_H
|
||||
|
||||
#include <QObject>
|
||||
#include <dfmfilepreview.h>
|
||||
#include <QLabel>
|
||||
|
||||
class DFMExePreview : public DFM_NAMESPACE::DFMFilePreview
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit DFMExePreview(QObject *parent = NULL);
|
||||
~DFMExePreview();
|
||||
virtual void initialize(QWidget *window, QWidget *statusBar) Q_DECL_OVERRIDE;
|
||||
virtual bool setFileUrl(const DUrl &url) Q_DECL_OVERRIDE;
|
||||
virtual DUrl fileUrl() const Q_DECL_OVERRIDE;
|
||||
virtual QWidget *contentWidget() const Q_DECL_OVERRIDE;
|
||||
virtual QWidget *statusBarWidget() const Q_DECL_OVERRIDE;
|
||||
virtual QString title() const Q_DECL_OVERRIDE;
|
||||
|
||||
protected:
|
||||
DUrl m_url;
|
||||
QLabel *m_view = NULL;
|
||||
QLabel *m_statusBar = NULL;
|
||||
QString m_title;
|
||||
};
|
||||
|
||||
#endif // DFMEXEPREVIEW_H
|
||||
17
ExePreview/main.cpp
Normal file
@@ -0,0 +1,17 @@
|
||||
#include "main.h"
|
||||
#include "dfmexepreview.h"
|
||||
|
||||
GenericPlugin::GenericPlugin(QObject *parent)
|
||||
: DFM_NAMESPACE::DFMFilePreviewPlugin(parent)
|
||||
{
|
||||
}
|
||||
|
||||
/*QObject *GenericPlugin::create(const QString &name, const QString &spec)
|
||||
{
|
||||
|
||||
}*/
|
||||
DFM_NAMESPACE::DFMFilePreview *GenericPlugin::create(const QString &key)
|
||||
{
|
||||
Q_UNUSED(key);
|
||||
return new DFMExePreview;
|
||||
}
|
||||
22
ExePreview/main.h
Normal file
@@ -0,0 +1,22 @@
|
||||
#define DFMFilePreviewFactoryInterface_ood "com.deepin.filemanager.DFMFilePreviewFactoryInterface_WineRunner"
|
||||
|
||||
#ifndef MAIN_H
|
||||
#define MAIN_H
|
||||
|
||||
#include <QGenericPlugin>
|
||||
#include <dfmfilepreviewplugin.h>
|
||||
|
||||
class GenericPlugin : public DFM_NAMESPACE::DFMFilePreviewPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PLUGIN_METADATA(IID QGenericPluginFactoryInterface_iid FILE "ExePreview.json")
|
||||
|
||||
public:
|
||||
explicit GenericPlugin(QObject *parent = nullptr);
|
||||
virtual DFM_NAMESPACE::DFMFilePreview *create(const QString &key);
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif // MAIN_H
|
||||
10
GetProgramVersion.py
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env python3
|
||||
# 读取程序版本号
|
||||
import os
|
||||
import json
|
||||
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
||||
try:
|
||||
with open(f"{programPath}/information.json") as file:
|
||||
print(json.loads(file.read())["Version"])
|
||||
except:
|
||||
print("1.0.0")
|
||||
BIN
Icon/Function/360.ico
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
Icon/Function/bilibili.ico
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
37
Icon/Function/deb.svg
Normal file
|
After Width: | Height: | Size: 46 KiB |
15
Icon/Function/dialog-error.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>dialog-error</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs></defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="dialog-error">
|
||||
<image id="Bitmap" x="1" y="2" width="62" height="62" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAABGdBTUEAA1teXP8meAAABQhJREFUaAXlmol2ozAMANu973v//yv3ProammEVAwWT5hVcvacaHFvWSLKhaS8vziuXhfnyvvj44qroKO+Lj9ffzjlSaznb47pU7DnGVrjccp2VeYhjru9O+OniJ5jopmqHVn0Q1ygixN+4RhEhnOt45zPG8c53ji1jVomLrpock5yvszj/8GDsT7S/Q9c6ic1HodkegTAIcbnadu84RmqkBMY5FMd+Hdpobk0I6ONQWgKKnhQAAcLOYnGOpWlGfoYFy3ixscqBrPnkMAd4twJdVZWl0wdbsw3QKPMsQzKMVi0c49cIa7h9qACTUG2rBjxDsyhOfD+01QufOMEAEHwUqQr8EnCBzTTQlBmlfdeCH+5/wIWfrYQacCILNMCU9lbEg869L/yN/s2Bm21LitJmoa0Jhxx+LYa/CVxoxmCQTG8ROtzqxFLHV68PHw2bKfAMTXlzkm6pvIck1z1kHt89fCfLfgyciQifaeBH17OPH1QlvqNmXqaegBNxTOhnIi37em+Cz5lh4D9wWXKJs1fI9LnfxvL6t3lNtp8e/B+U/FjGgecUZzB7e6/iGx4sN5Z6zjaD91jiZZJggIXKlq8bU2acDxnEAbHlR1fn/IIfcgjeTxHcaDCglWwLOZp1wRkEvPd7PdCEza0ssMHYiaDc0Em29/Cigr81AhNsA3CzTalv4beuGqglY2GCrc+6F4LzCLM0lhjcyxiZel5LXXAH7AWoxk9OeMH7w+w+gJPUSfAWnt1TVTDIONlGiMZ9AIf1Mu9xAjB4mWdUIwIbjF2iBYeNjpYPN9g6aGAF7zvobFwGGYfXQLTIfsTmjXu75czL1rEKTobp4LWuVYHNBPelTQfKl4util+cdvBk3Chw6rWecZ9aV5Y68HTyq1urAhuMfcYBFZxAGAz6WxG5JsF5ZX3eCm3igAm2I3Cybcb58FloawJTBh/scT7kgGvpkJMngx/tZ7LOl/Do69BWBBa5YOwkH2SWO1/MURotnPAwwAJTv7/jerSkebWjPJjwLXTP8j6cB5i/AfonpS7rOeMA0sle4FtJ3nT8D4O43J3gOwz+Q0Nf5pBMHWJknaDwGPgaukf5EE6TZcCPsg1MmXH6iIwTCMA7Oncm+IzvGfoIYSrjDmLyi1CCsZe/sLwMX1+F8jezXOazpQ7s0aCDIY3E7WaFfwTgQAPaA43DbSBTGQdeIQjc8zzklB81FP13LTy6PocCDDjbVV/LRE4ebjGnEyaonAdvQreYeTINNL4Bzbbk6aTvcXksUxnPo4wWLZl/G0okWWQLwn7+GGqmZ6Fxegk444ycpUPZM5fo3qWwn6lCtqCZHjy6xhxcAu5+z/AEgGc8J6gRHrN/rj5Lm5cU3jOEtrxn110Cno2U8Myn9Hm9pfStiLg8i/Am9imUNcksmfb0FhofZ6UWHIMlPLCcqLw00BKARYvHuKWCXcqatzHWI8Moa3l661d0zYtlPD/y/wjncMqjOIVSdvn9+EvcU4ZkYo2QFF6e2E7YZUsBKqzAVllVsIUIe1XiPFoUJ1ECQDmq9OEgzuo49wRDhwmecw0cLbYYxzzVuWVZV0GHvc5p2rVSBiBD5GBwbYUYLOdaorQEAwUsQ3rNZ46Py/VbysUxcopoJ0MJWraOyesJI3jZ+jktYnt9t+KnDq+YOjol2xMwt0xyjK0QueU6q4s5xvvVrYuvNjAzsbRf3pfTS7Dyvhy/+v4fra1pWYxQ1MYAAAAASUVORK5CYII="></image>
|
||||
<ellipse id="Oval" fill="#C51818" cx="32" cy="32" rx="28" ry="28"></ellipse>
|
||||
<path d="M40.7494771,20.5594658 C41.4928588,19.8160841 42.6929596,19.8109252 43.4415538,20.5595194 C44.1849651,21.3029306 44.1873135,22.50589 43.4416074,23.2515961 L23.2505229,43.4426806 C22.5071412,44.1860623 21.3070404,44.1912212 20.5584462,43.442627 C19.8150349,42.6992158 19.8126865,41.4962564 20.5583926,40.7505503 L40.7494771,20.5594658 Z" id="Rectangle" fill="#FFFFFF"></path>
|
||||
<path d="M43.4405842,40.7476216 C44.1838994,41.4909368 44.1890579,42.6909303 43.4405307,43.4394576 C42.6971859,44.1828023 41.4943341,44.1851506 40.7486947,43.4395111 L20.5594158,23.2502322 C19.8161006,22.506917 19.8109421,21.3069235 20.5594693,20.5583962 C21.3028141,19.8150515 22.5056659,19.8127032 23.2513053,20.5583427 L43.4405842,40.7476216 Z" id="Rectangle" fill="#FFFFFF"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
14
Icon/Function/dialog-ok.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>dialog-ok</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs></defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="dialog-ok">
|
||||
<image id="Bitmap" x="1" y="2" width="62" height="62" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAABGdBTUEAA1teXP8meAAABQhJREFUaAXlmol2ozAMANu973v//yv3ProammEVAwWT5hVcvacaHFvWSLKhaS8vziuXhfnyvvj44qroKO+Lj9ffzjlSaznb47pU7DnGVrjccp2VeYhjru9O+OniJ5jopmqHVn0Q1ygixN+4RhEhnOt45zPG8c53ji1jVomLrpock5yvszj/8GDsT7S/Q9c6ic1HodkegTAIcbnadu84RmqkBMY5FMd+Hdpobk0I6ONQWgKKnhQAAcLOYnGOpWlGfoYFy3ixscqBrPnkMAd4twJdVZWl0wdbsw3QKPMsQzKMVi0c49cIa7h9qACTUG2rBjxDsyhOfD+01QufOMEAEHwUqQr8EnCBzTTQlBmlfdeCH+5/wIWfrYQacCILNMCU9lbEg869L/yN/s2Bm21LitJmoa0Jhxx+LYa/CVxoxmCQTG8ROtzqxFLHV68PHw2bKfAMTXlzkm6pvIck1z1kHt89fCfLfgyciQifaeBH17OPH1QlvqNmXqaegBNxTOhnIi37em+Cz5lh4D9wWXKJs1fI9LnfxvL6t3lNtp8e/B+U/FjGgecUZzB7e6/iGx4sN5Z6zjaD91jiZZJggIXKlq8bU2acDxnEAbHlR1fn/IIfcgjeTxHcaDCglWwLOZp1wRkEvPd7PdCEza0ssMHYiaDc0Em29/Cigr81AhNsA3CzTalv4beuGqglY2GCrc+6F4LzCLM0lhjcyxiZel5LXXAH7AWoxk9OeMH7w+w+gJPUSfAWnt1TVTDIONlGiMZ9AIf1Mu9xAjB4mWdUIwIbjF2iBYeNjpYPN9g6aGAF7zvobFwGGYfXQLTIfsTmjXu75czL1rEKTobp4LWuVYHNBPelTQfKl4util+cdvBk3Chw6rWecZ9aV5Y68HTyq1urAhuMfcYBFZxAGAz6WxG5JsF5ZX3eCm3igAm2I3Cybcb58FloawJTBh/scT7kgGvpkJMngx/tZ7LOl/Do69BWBBa5YOwkH2SWO1/MURotnPAwwAJTv7/jerSkebWjPJjwLXTP8j6cB5i/AfonpS7rOeMA0sle4FtJ3nT8D4O43J3gOwz+Q0Nf5pBMHWJknaDwGPgaukf5EE6TZcCPsg1MmXH6iIwTCMA7Oncm+IzvGfoIYSrjDmLyi1CCsZe/sLwMX1+F8jezXOazpQ7s0aCDIY3E7WaFfwTgQAPaA43DbSBTGQdeIQjc8zzklB81FP13LTy6PocCDDjbVV/LRE4ebjGnEyaonAdvQreYeTINNL4Bzbbk6aTvcXksUxnPo4wWLZl/G0okWWQLwn7+GGqmZ6Fxegk444ycpUPZM5fo3qWwn6lCtqCZHjy6xhxcAu5+z/AEgGc8J6gRHrN/rj5Lm5cU3jOEtrxn110Cno2U8Myn9Hm9pfStiLg8i/Am9imUNcksmfb0FhofZ6UWHIMlPLCcqLw00BKARYvHuKWCXcqatzHWI8Moa3l661d0zYtlPD/y/wjncMqjOIVSdvn9+EvcU4ZkYo2QFF6e2E7YZUsBKqzAVllVsIUIe1XiPFoUJ1ECQDmq9OEgzuo49wRDhwmecw0cLbYYxzzVuWVZV0GHvc5p2rVSBiBD5GBwbYUYLOdaorQEAwUsQ3rNZ46Py/VbysUxcopoJ0MJWraOyesJI3jZ+jktYnt9t+KnDq+YOjol2xMwt0xyjK0QueU6q4s5xvvVrYuvNjAzsbRf3pfTS7Dyvhy/+v4fra1pWYxQ1MYAAAAASUVORK5CYII="></image>
|
||||
<ellipse id="Oval" fill="#7ED321" cx="32" cy="32" rx="28" ry="28"></ellipse>
|
||||
<polyline id="Path-4" stroke="#FFFFFF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" points="18 32 27.5104121 42.0104121 46 23"></polyline>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
15
Icon/Function/dialog-question.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>dialog-question</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs></defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="dialog-question">
|
||||
<image id="Bitmap" x="1" y="2" width="62" height="62" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAABGdBTUEAA1teXP8meAAABQhJREFUaAXlmol2ozAMANu973v//yv3ProammEVAwWT5hVcvacaHFvWSLKhaS8vziuXhfnyvvj44qroKO+Lj9ffzjlSaznb47pU7DnGVrjccp2VeYhjru9O+OniJ5jopmqHVn0Q1ygixN+4RhEhnOt45zPG8c53ji1jVomLrpock5yvszj/8GDsT7S/Q9c6ic1HodkegTAIcbnadu84RmqkBMY5FMd+Hdpobk0I6ONQWgKKnhQAAcLOYnGOpWlGfoYFy3ixscqBrPnkMAd4twJdVZWl0wdbsw3QKPMsQzKMVi0c49cIa7h9qACTUG2rBjxDsyhOfD+01QufOMEAEHwUqQr8EnCBzTTQlBmlfdeCH+5/wIWfrYQacCILNMCU9lbEg869L/yN/s2Bm21LitJmoa0Jhxx+LYa/CVxoxmCQTG8ROtzqxFLHV68PHw2bKfAMTXlzkm6pvIck1z1kHt89fCfLfgyciQifaeBH17OPH1QlvqNmXqaegBNxTOhnIi37em+Cz5lh4D9wWXKJs1fI9LnfxvL6t3lNtp8e/B+U/FjGgecUZzB7e6/iGx4sN5Z6zjaD91jiZZJggIXKlq8bU2acDxnEAbHlR1fn/IIfcgjeTxHcaDCglWwLOZp1wRkEvPd7PdCEza0ssMHYiaDc0Em29/Cigr81AhNsA3CzTalv4beuGqglY2GCrc+6F4LzCLM0lhjcyxiZel5LXXAH7AWoxk9OeMH7w+w+gJPUSfAWnt1TVTDIONlGiMZ9AIf1Mu9xAjB4mWdUIwIbjF2iBYeNjpYPN9g6aGAF7zvobFwGGYfXQLTIfsTmjXu75czL1rEKTobp4LWuVYHNBPelTQfKl4util+cdvBk3Chw6rWecZ9aV5Y68HTyq1urAhuMfcYBFZxAGAz6WxG5JsF5ZX3eCm3igAm2I3Cybcb58FloawJTBh/scT7kgGvpkJMngx/tZ7LOl/Do69BWBBa5YOwkH2SWO1/MURotnPAwwAJTv7/jerSkebWjPJjwLXTP8j6cB5i/AfonpS7rOeMA0sle4FtJ3nT8D4O43J3gOwz+Q0Nf5pBMHWJknaDwGPgaukf5EE6TZcCPsg1MmXH6iIwTCMA7Oncm+IzvGfoIYSrjDmLyi1CCsZe/sLwMX1+F8jezXOazpQ7s0aCDIY3E7WaFfwTgQAPaA43DbSBTGQdeIQjc8zzklB81FP13LTy6PocCDDjbVV/LRE4ebjGnEyaonAdvQreYeTINNL4Bzbbk6aTvcXksUxnPo4wWLZl/G0okWWQLwn7+GGqmZ6Fxegk444ycpUPZM5fo3qWwn6lCtqCZHjy6xhxcAu5+z/AEgGc8J6gRHrN/rj5Lm5cU3jOEtrxn110Cno2U8Myn9Hm9pfStiLg8i/Am9imUNcksmfb0FhofZ6UWHIMlPLCcqLw00BKARYvHuKWCXcqatzHWI8Moa3l661d0zYtlPD/y/wjncMqjOIVSdvn9+EvcU4ZkYo2QFF6e2E7YZUsBKqzAVllVsIUIe1XiPFoUJ1ECQDmq9OEgzuo49wRDhwmecw0cLbYYxzzVuWVZV0GHvc5p2rVSBiBD5GBwbYUYLOdaorQEAwUsQ3rNZ46Py/VbysUxcopoJ0MJWraOyesJI3jZ+jktYnt9t+KnDq+YOjol2xMwt0xyjK0QueU6q4s5xvvVrYuvNjAzsbRf3pfTS7Dyvhy/+v4fra1pWYxQ1MYAAAAASUVORK5CYII="></image>
|
||||
<ellipse id="Oval" fill="#11B5FF" cx="32" cy="32" rx="28" ry="28"></ellipse>
|
||||
<path d="M32,40 C30.3153053,40 29,41.3153053 29,43 C29,44.6605881 30.3264079,46 32,46 C33.6735921,46 35,44.6605881 35,43 C35,41.3153053 33.6846947,40 32,40 Z" id="Path" fill="#FFFFFF"></path>
|
||||
<path d="M32.468,16.96 C27.4238833,16.96 23.58,20.0244775 23.58,24.1702907 C23.58,26.1861804 25.003148,27.77337 27.032,27.77337 C28.9057249,27.77337 30.124,26.4889526 30.124,24.7281068 C30.124,23.0803988 29.3642533,22.3265653 27.8296148,21.9566688 C27.4706135,21.8638914 27.316,21.7167857 27.316,21.4183975 C27.316,20.1849102 29.1314221,18.7367478 31.64,18.7367478 C34.4418576,18.7367478 36.072,20.4206734 36.072,23.4265357 C36.072,25.5483621 35.3753311,26.8992916 33.4522353,29.2779172 C33.2518819,29.5253283 30,32.5 30,35 C30,35.916658 30,37 31,37.5 C32,38 32.1923697,36.5680604 32.6329793,35.0204247 C33.0706287,34.087734 34.2408493,32.7804809 37.3328167,31.0068188 C40.882884,28.675952 41.968,26.858853 41.968,23.9843519 C41.968,19.7046154 38.1785728,16.96 32.468,16.96 Z" id="Path" fill="#FFFFFF"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
15
Icon/Function/dialog-warning.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 41.2 (35397) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>dialog-warning</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs></defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="dialog-warning">
|
||||
<image id="Bitmap" x="1" y="2" width="62" height="62" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAABGdBTUEAA1teXP8meAAABQhJREFUaAXlmol2ozAMANu973v//yv3ProammEVAwWT5hVcvacaHFvWSLKhaS8vziuXhfnyvvj44qroKO+Lj9ffzjlSaznb47pU7DnGVrjccp2VeYhjru9O+OniJ5jopmqHVn0Q1ygixN+4RhEhnOt45zPG8c53ji1jVomLrpock5yvszj/8GDsT7S/Q9c6ic1HodkegTAIcbnadu84RmqkBMY5FMd+Hdpobk0I6ONQWgKKnhQAAcLOYnGOpWlGfoYFy3ixscqBrPnkMAd4twJdVZWl0wdbsw3QKPMsQzKMVi0c49cIa7h9qACTUG2rBjxDsyhOfD+01QufOMEAEHwUqQr8EnCBzTTQlBmlfdeCH+5/wIWfrYQacCILNMCU9lbEg869L/yN/s2Bm21LitJmoa0Jhxx+LYa/CVxoxmCQTG8ROtzqxFLHV68PHw2bKfAMTXlzkm6pvIck1z1kHt89fCfLfgyciQifaeBH17OPH1QlvqNmXqaegBNxTOhnIi37em+Cz5lh4D9wWXKJs1fI9LnfxvL6t3lNtp8e/B+U/FjGgecUZzB7e6/iGx4sN5Z6zjaD91jiZZJggIXKlq8bU2acDxnEAbHlR1fn/IIfcgjeTxHcaDCglWwLOZp1wRkEvPd7PdCEza0ssMHYiaDc0Em29/Cigr81AhNsA3CzTalv4beuGqglY2GCrc+6F4LzCLM0lhjcyxiZel5LXXAH7AWoxk9OeMH7w+w+gJPUSfAWnt1TVTDIONlGiMZ9AIf1Mu9xAjB4mWdUIwIbjF2iBYeNjpYPN9g6aGAF7zvobFwGGYfXQLTIfsTmjXu75czL1rEKTobp4LWuVYHNBPelTQfKl4util+cdvBk3Chw6rWecZ9aV5Y68HTyq1urAhuMfcYBFZxAGAz6WxG5JsF5ZX3eCm3igAm2I3Cybcb58FloawJTBh/scT7kgGvpkJMngx/tZ7LOl/Do69BWBBa5YOwkH2SWO1/MURotnPAwwAJTv7/jerSkebWjPJjwLXTP8j6cB5i/AfonpS7rOeMA0sle4FtJ3nT8D4O43J3gOwz+Q0Nf5pBMHWJknaDwGPgaukf5EE6TZcCPsg1MmXH6iIwTCMA7Oncm+IzvGfoIYSrjDmLyi1CCsZe/sLwMX1+F8jezXOazpQ7s0aCDIY3E7WaFfwTgQAPaA43DbSBTGQdeIQjc8zzklB81FP13LTy6PocCDDjbVV/LRE4ebjGnEyaonAdvQreYeTINNL4Bzbbk6aTvcXksUxnPo4wWLZl/G0okWWQLwn7+GGqmZ6Fxegk444ycpUPZM5fo3qWwn6lCtqCZHjy6xhxcAu5+z/AEgGc8J6gRHrN/rj5Lm5cU3jOEtrxn110Cno2U8Myn9Hm9pfStiLg8i/Am9imUNcksmfb0FhofZ6UWHIMlPLCcqLw00BKARYvHuKWCXcqatzHWI8Moa3l661d0zYtlPD/y/wjncMqjOIVSdvn9+EvcU4ZkYo2QFF6e2E7YZUsBKqzAVllVsIUIe1XiPFoUJ1ECQDmq9OEgzuo49wRDhwmecw0cLbYYxzzVuWVZV0GHvc5p2rVSBiBD5GBwbYUYLOdaorQEAwUsQ3rNZ46Py/VbysUxcopoJ0MJWraOyesJI3jZ+jktYnt9t+KnDq+YOjol2xMwt0xyjK0QueU6q4s5xvvVrYuvNjAzsbRf3pfTS7Dyvhy/+v4fra1pWYxQ1MYAAAAASUVORK5CYII="></image>
|
||||
<ellipse id="Oval" fill="#F39800" cx="32" cy="32" rx="28" ry="28"></ellipse>
|
||||
<path d="M32.041368,39 L32.041368,39 C30.7366037,39 29.6679395,38.0426848 29.6260007,36.8352603 L29.0015777,18.8661959 C28.9472125,17.2994188 30.3047888,16 31.9994292,16 L31.9994292,16 C33.6894097,16 35.0454327,17.2907943 34.998834,18.8532592 L34.4567354,36.823761 C34.4210097,38.0369352 33.3507923,39 32.041368,39 L32.041368,39 Z" id="Shape" fill="#FFFFFF"></path>
|
||||
<ellipse id="Oval" fill="#FFFFFF" cx="32" cy="46" rx="3" ry="3"></ellipse>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
24
Icon/Function/file-manager.svg
Normal file
|
After Width: | Height: | Size: 9.5 KiB |
49
Icon/Function/font-installer.svg
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
Icon/Function/gitee.ico
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
Icon/Function/github-fluidicon.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
Icon/Function/gitlab.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
BIN
Icon/Function/logo_bdsys.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
227
Icon/Function/preferences-system.svg
Normal file
@@ -0,0 +1,227 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
|
||||
y="0px" viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
|
||||
<g style="display:none;opacity:0.5;">
|
||||
<rect x="-0.018" y="-0.005" style="display:inline;" width="48" height="48"/>
|
||||
</g>
|
||||
<g>
|
||||
|
||||
<image style="overflow:visible;opacity:0.3;" width="201" height="201" xlink:href="data:image/png;base64,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
|
||||
QmCC" transform="matrix(0.24 0 0 0.24 -0.0125 0.9876)">
|
||||
</image>
|
||||
<g>
|
||||
<g>
|
||||
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="24.0024" y1="9.1404" x2="24.0024" y2="38.851">
|
||||
<stop offset="0" style="stop-color:#FF78A7"/>
|
||||
<stop offset="1" style="stop-color:#FF6166"/>
|
||||
</linearGradient>
|
||||
<path style="fill:url(#SVGID_1_);" d="M24.003,9.14c-8.192,0-14.856,6.665-14.856,14.855s6.664,14.855,14.856,14.855
|
||||
c8.191,0,14.855-6.665,14.855-14.855S32.193,9.14,24.003,9.14z M24.003,32.238c-4.545,0-8.243-3.698-8.243-8.243
|
||||
c0-4.545,3.698-8.242,8.243-8.242c4.545,0,8.243,3.698,8.243,8.242C32.245,28.54,28.547,32.238,24.003,32.238z"/>
|
||||
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="24" y1="2.9959" x2="24" y2="44.994">
|
||||
<stop offset="0" style="stop-color:#EEFFFF"/>
|
||||
<stop offset="1" style="stop-color:#C0D7F8"/>
|
||||
</linearGradient>
|
||||
<path style="fill:url(#SVGID_2_);" d="M44.986,18.905c-0.533-2.199-1.404-4.266-2.554-6.145c-0.133-0.217-0.406-0.287-0.641-0.19
|
||||
c-1.773,0.725-3.876,0.386-5.316-1.053c-1.439-1.439-1.778-3.541-1.054-5.314c0.096-0.235,0.026-0.508-0.19-0.641
|
||||
c-1.88-1.15-3.948-2.02-6.147-2.552c-0.248-0.06-0.492,0.084-0.59,0.319c-0.739,1.77-2.468,3.021-4.507,3.021
|
||||
c-2.035,0-3.762-1.247-4.503-3.014c-0.099-0.235-0.343-0.379-0.591-0.319c-2.2,0.537-4.269,1.41-6.148,2.563
|
||||
c-0.215,0.132-0.283,0.401-0.188,0.634c0.724,1.772,0.384,3.874-1.055,5.313c-1.436,1.437-3.534,1.778-5.305,1.059
|
||||
c-0.233-0.095-0.502-0.026-0.634,0.189c-1.149,1.881-2.019,3.95-2.55,6.149c-0.06,0.247,0.084,0.491,0.318,0.59
|
||||
c1.762,0.742,3.005,2.467,3.005,4.501c0,2.03-1.24,3.753-2.997,4.498c-0.234,0.099-0.377,0.343-0.317,0.59
|
||||
c0.535,2.2,1.409,4.268,2.562,6.147c0.131,0.214,0.4,0.283,0.633,0.189c1.769-0.716,3.863-0.373,5.298,1.061
|
||||
c1.433,1.432,1.776,3.524,1.062,5.293c-0.094,0.233-0.025,0.501,0.189,0.632c1.881,1.152,3.95,2.023,6.15,2.556
|
||||
c0.247,0.06,0.491-0.083,0.59-0.317c0.744-1.758,2.468-2.998,4.497-2.998c2.03,0,3.753,1.24,4.497,2.998
|
||||
c0.099,0.234,0.343,0.377,0.59,0.317c2.2-0.533,4.268-1.404,6.149-2.555c0.215-0.131,0.283-0.4,0.189-0.633
|
||||
c-0.719-1.77-0.378-3.868,1.058-5.304c1.437-1.436,3.536-1.776,5.306-1.056c0.233,0.095,0.502,0.026,0.633-0.188
|
||||
c1.153-1.88,2.026-3.949,2.56-6.149c0.06-0.248-0.084-0.492-0.319-0.59C42.9,27.762,41.653,26.035,41.653,24
|
||||
c0-2.037,1.248-3.764,3.015-4.504C44.902,19.397,45.046,19.153,44.986,18.905z M24.003,37.495c-7.444,0-13.5-6.056-13.5-13.5
|
||||
c0-7.443,6.056-13.5,13.5-13.5c7.443,0,13.5,6.056,13.5,13.5C37.502,31.439,31.446,37.495,24.003,37.495z"/>
|
||||
<path style="fill:#DCEDFF;" d="M24.003,13.954c-5.537,0-10.041,4.506-10.041,10.042c0,5.536,4.504,10.042,10.041,10.042
|
||||
c5.537,0,10.042-4.506,10.042-10.042C34.044,18.459,29.539,13.954,24.003,13.954z M27.343,20.25
|
||||
c1.031,0.92,1.68,2.259,1.68,3.746c0,2.769-2.253,5.021-5.021,5.021c-2.769,0-5.021-2.253-5.021-5.021
|
||||
c0-2.769,2.252-5.021,5.021-5.021C25.284,18.974,26.455,19.457,27.343,20.25"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 17 KiB |
129
Icon/Function/qtcreator.svg
Normal file
@@ -0,0 +1,129 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
|
||||
y="0px" viewBox="0 0 48 48" enable-background="new 0 0 48 48" xml:space="preserve">
|
||||
<g>
|
||||
|
||||
<image overflow="visible" opacity="0.3" width="200" height="192" xlink:href="data:image/png;base64,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" transform="matrix(0.24 0 0 0.24 1.0127 3.0308)">
|
||||
</image>
|
||||
<g>
|
||||
<g>
|
||||
<g>
|
||||
<path fill="#5AA72D" d="M36.909,38.27H4.013v-25.24c0-4.418,3.582-8,8-8h24.897V38.27z"/>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path fill="#E3E3E3" d="M25.028,45.016c0,0-5.631-11.527,6.174-16.348c4.399-1.485,11.365-5.256,14.749-9.218
|
||||
c0,0-1.29,4.308-2.463,10.356S41.759,45.914,25.028,45.016z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#959595" d="M25.331,44.598c3.581-3.054,19.385-23.054,19.385-23.054s-12.35,18.264-18.092,23.054H25.331z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path fill="#FFFFFF" d="M21.075,32.142c-2.143,0-4.355-0.798-5.309-3.42c-1.988,0.014-3.622-0.751-4.904-2.294
|
||||
c-1.281-1.543-1.922-3.484-1.922-5.823c0-2.609,0.649-4.677,1.946-6.207s3.071-2.294,5.321-2.294
|
||||
c2.026,0,3.67,0.751,4.932,2.252c1.262,1.501,1.893,3.456,1.893,5.864c0,2.138-0.444,3.934-1.333,5.387
|
||||
c-0.754,1.234-2.135,2.237-3.428,2.727c0,0,0,1.69,2.813,1.69L21.075,32.142z M12.602,20.44c0,2.066,0.308,3.723,0.925,4.969
|
||||
c0.616,1.246,1.421,1.87,2.413,1.87c1.065,0,1.902-0.597,2.51-1.792c0.608-1.195,0.912-2.866,0.912-5.013
|
||||
c0-2.206-0.297-3.908-0.892-5.107c-0.595-1.199-1.41-1.798-2.445-1.798c-1.018,0-1.843,0.632-2.474,1.897
|
||||
S12.602,18.389,12.602,20.44z"/>
|
||||
<path fill="#FFFFFF" d="M31,28.344c-1,0.24-1.113,0.236-1.861,0.236c-2.04,0-3.139-1.13-3.139-3.39V19h-2v-2h2v-0.605
|
||||
l0.601-2.841L28,13.558V17h3v2h-3v5.829c0,0.749,0.093,1.317,0.383,1.607c0.707,0.707,2.106,0.288,2.617,0.095V28.344z"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 8.8 KiB |
BIN
Icon/Function/sourceforge.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
77
Icon/Function/system-monitor.svg
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
Icon/Function/threatbook.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
21
Icon/Function/user-trash-full.svg
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 39.1 (31720) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>user-trash-full</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs>
|
||||
<linearGradient x1="50%" y1="0%" x2="50%" y2="97.8595344%" id="linearGradient-1">
|
||||
<stop stop-color="#FFFFFF" offset="0%"></stop>
|
||||
<stop stop-color="#D3D3D3" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="user-trash-full">
|
||||
<image id="Bitmap" x="2" y="7" width="60" height="56" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA4CAYAAAChbZtkAAAABGdBTUEAA1teXP8meAAAA2pJREFUaAXlmluP1DAMRne4CiQuD7zz/38eT9xZfKo53bR12jJih3qwFCV1nMx34mxaaXO6e7DTQ/OubTfucs37RvHQFsz6SQTQttbfjCvRBI7yq6kRfg+QUEA+wxnlRxSCK5s88I08T+MBh50AfosypJ+HwgbDzygkET6e72lgQNPBStyawQTbsJMBpkEh27dq7uSTGRb0tY0bqmUaMmxWeQD+VZSXUdj71Q+t58Hw9szDuTQcXGOqw6EB/SHKpyhVDy+S9/Gs/2vUAA+vKIGHEyycGhn/HKVqljmk2KkwADzu2HZLt9lkhdgCVU/tF6Edti9RvkcBGBtfS8KSUTop8wMtXGUM7XK4SwfGFkpoaoLavjKkZ6Foh6FlGrrmUG3AvO88V4kK7S3LKDqDIpCS9Y0DD94QWOhRbgYl8PCiHiNrNdAux0R5BkwAwbcAPIHlIQN2ZW4BGJaJZcAE/FcZFhhoP0zwVTE0u0sXmucZbgOrAwPb8gzwc2BXxMBev3FHrNGs/oW+HpADev2LiQ7kuAgY/UBX/htOc5Bl0OxSV3w1tR8dMEwsAzaA4LV+445Wu6VTXT0gs9zrTyc7iFPgRXbRtwbEgMpbOl3/HrAZrgx8UYZZpUrQak1hgdnKMAN7MYw/mqHV3ZlCZzAGOrDSu3j+HS3LmJgMeOw8r1ZF4JZh0l4DNsNrMZPJDvCAVnWncrZgGLwVk078j5wCd3++B+MqVQVW/wK8B2xgVWD1L+o1YFfJd9ti8AEdaFV3Km8NmAEMrgicwuJcA3alKgKjPbU1YAY4sAK0GtX8R8Bm17rCx0f7laXuBfSeDDO4GvACVMcWMHHVgGVL6y1gt8ZWXDr5lZ1oVG/3p/eAVPnnOCz+t/8iYFeL2hOwO9EBOtDYak4lbWXYCbbi0smv7ESjers/vQeESSqd0l1YOraAgeU2DDUX1o5qaGu1dnXuAeYg4K4T1/i4znc084ohGtubO6nOPVvVA4vFeRfFL5rNEzH9xb/jRBM37d5EeR+Fq4XtjTuynZowaWc46acAyUryI9xyo43P/mhezYBx+5JVYb1xZ38qiDuJa+ZK8XeMub0ZR8a3Fowxj2ECo4vrkd66W4VFyF7BZpJaUH3Mc20TjNq/W32rWvYCM0kb27ZXf+CRO4HU2ra+Rf0bOvj0yL4i8b8AAAAASUVORK5CYII="></image>
|
||||
<path d="M11.7194173,54.8547905 C11.9328622,57.1478665 14.0117111,59 16.3634338,59 L47.6365662,59 C49.9756078,59 52.0674859,57.1441265 52.2805827,54.8547905 L56,15 C57.6897144,15 59,13.5330037 59,12 C59,10.4563085 57.5718954,9 56,9 L8,9 C6.43540907,9 5,10.4669963 5,12 C5,13.5436915 6.42810462,15 8,15 L11.7194173,54.8547905 Z" id="Combined-Shape" fill="url(#linearGradient-1)"></path>
|
||||
<path d="M11.7194173,53.8547905 C11.9328622,56.1478665 14.0117111,58 16.3634338,58 L47.6365662,58 C49.9756078,58 52.0674859,56.1441265 52.2805827,53.8547905 L56,15 C57.6897144,15 59,13.5330037 59,12 C59,10.4563085 57.5718954,10 56,10 L8,10 C6.43540907,10 5,10.4669963 5,12 C5,13.5436915 6.42810462,15 8,15 L11.7194173,53.8547905 Z" id="Combined-Shape" fill="#F6F6F6"></path>
|
||||
<path d="M13.698557,44.3787127 L14.1854636,49.9422602 L14.1881559,49.9431845 L14.4561404,53.1891895 C14.4561404,53.1891895 14.4561403,55.9721203 17.2631581,55.9721203 C17.8901613,55.9721203 20.001368,55.9721203 22.6098431,55.9721203 L23.5374037,55.9820829 L23.5437055,55.9721203 C27.0107364,55.9721203 31.1021885,55.9721203 33.7543862,55.9721203 C33.754386,55.9721207 43.2280702,55.9721202 46.0350877,55.9721202 C48.8421053,55.9721202 49.1228242,53.1891887 49.1228242,53.1891887 L51.257332,32.5400978 L49.6138251,32.2485287 L51.3407739,30.8471197 L45.223672,22.2023112 L34.3676082,29.9783265 L36.023599,25.9717216 L21.5238095,20.0504494 L17.534517,29.2674839 L14.7969924,27.8223201 L12.5343657,32.0071735 L13.2070325,39.1812079 L13.2453773,39.2005394 L13.4527573,41.5701282 L13.4516589,41.5725528 L13.6688273,44.3628846 L13.698557,44.3787127 L13.698557,44.3787127 L13.698557,44.3787127 Z" id="Combined-Shape" fill="#90A72F" opacity="0.4"></path>
|
||||
<path d="M31.4852624,29.1551521 C28.6873677,23.5229359 25.7442098,28.0582872 25.7442098,28.0582872 L23.5126308,31.9178548 L28.106315,34.5367737 L31.4852624,29.1551521 Z M41.4199992,27.4297467 L38.9442098,28.7977467 L38.0368413,27.2346116 C38.0368413,27.2346116 37.3357887,25.6078008 33.8768413,25.7782872 C33.8768413,25.7782872 29.5905256,25.8953683 29.1442098,25.8152602 C29.1442098,25.8152602 30.3589466,26.0494224 30.9631571,26.9675845 L33.6999992,31.6919089 L31.6999992,32.7928818 L38.4115782,32.9346116 L41.4199992,27.4297467 Z M24.9694729,41.0522332 C21.497894,46.3085575 27.0010519,46.4092062 27.0010519,46.4092062 L31.5336834,46.2633683 L31.4431571,41.0727737 L24.9694729,41.0522332 Z M18.2999992,33.6699629 L20.7842098,35.0215305 L19.8831571,36.5887737 C19.8831571,36.5887737 18.826315,38.0225035 20.7736834,40.8119089 C20.7736834,40.8119089 23.1084203,44.3284494 23.2642098,44.7413143 C23.2642098,44.7413143 22.8368413,43.6074764 23.3273677,42.6256386 L26.0431571,37.8889899 L28.0494729,38.9796926 L24.6831571,33.3146116 L18.2999992,33.6699629 Z M39.2410519,40.2655305 C45.6389466,40.6599089 43.0431571,35.9273683 43.0431571,35.9273683 L40.6999992,32.1335305 L36.1021045,34.7462872 L39.2410519,40.2655305 Z M32.4557887,44.2853143 L35.8873677,38.6551521 L35.8873677,40.9002332 L41.4473677,40.9002332 C42.5652624,40.8386116 43.3715782,39.9204494 43.3715782,39.9204494 C43.0789466,40.2532062 41.0705256,43.9587197 41.0705256,43.9587197 C39.5252624,46.9781791 37.7273677,46.7768818 37.7273677,46.7768818 L35.8873677,46.7768818 L35.8873677,49.5498548 L32.4557887,44.2853143 Z" id="Fill-1" fill="#869D29"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.4 KiB |
57
Icon/Function/virtualbox.svg
Normal file
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
|
||||
y="0px" viewBox="0 0 48 48" enable-background="new 0 0 48 48" xml:space="preserve">
|
||||
<g>
|
||||
|
||||
<image overflow="visible" opacity="0.3" width="184" height="184" xlink:href="data:image/png;base64,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
|
||||
AEOMwqS8OgSgAAAAAElFTkSuQmCC" transform="matrix(0.24 0 0 0.24 1.9977 3.0225)">
|
||||
</image>
|
||||
<g>
|
||||
<g>
|
||||
<path fill="#45B0D7" d="M42.998,42.023c0,0.552-0.448,1-1,1h-36c-0.552,0-1-0.448-1-1v-36c0-0.552,0.448-1,1-1h36
|
||||
c0.552,0,1,0.448,1,1V42.023z"/>
|
||||
<rect x="6.998" y="7.023" fill="#FFFFFF" width="34" height="34"/>
|
||||
<rect x="8.998" y="9.023" fill="#45B0D7" width="30" height="30"/>
|
||||
<g>
|
||||
<path fill="#FFFFFF" d="M16.048,35c-0.449,0-0.845-0.273-0.964-0.708L12.238,24H8v-2h5c0.45,0,0.845,0.301,0.964,0.734
|
||||
l2.031,7.365l4.038-16.343c0.108-0.438,0.498-0.75,0.95-0.76c0.456,0,0.854,0.287,0.98,0.721l3.127,10.732l3.008-10.722
|
||||
C28.22,13.296,28.613,13,29.062,13c0.002,0,0.003,0,0.005,0c0.449,0,0.843,0.303,0.96,0.737L33.891,28H40v2h-6.875
|
||||
c-0.451,0-0.847-0.303-0.965-0.738L29.045,17.76l-2.974,10.555C25.95,28.744,25.56,29,25.113,29c-0.002,0-0.003,0-0.005,0
|
||||
c-0.444,0-0.836-0.249-0.96-0.677l-3.065-10.5l-4.064,16.433C16.909,34.698,16.516,35,16.062,35C16.057,35,16.052,35,16.048,35z
|
||||
"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.9 KiB |
3
Icon/Function/virustotal.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="1em" height="1em" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 89">
|
||||
<path fill="#0b4dda" fill-rule="evenodd" d="M45.292 44.5 0 89h100V0H0l45.292 44.5zM90 80H22l35.987-35.2L22 9h68v71z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 214 B |
10
Icon/Function/winetricks.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" version="1.1">
|
||||
<circle style="opacity:0.2" cx="32" cy="33" r="28"/>
|
||||
<circle style="fill:#992b2b" cx="32" cy="32" r="28"/>
|
||||
<path style="opacity:0.2" d="m 33.58182,13.000023 c -1.115388,-0.0026 -1.97382,0.183308 -2.328264,0.580371 -0.562336,0.629947 -1.857402,5.326822 -3.473084,12.505882 -1.165672,5.166004 -0.355128,8.17861 0.44138,9.790972 1.018314,2.061364 1.810928,3.300018 0.201376,7.413682 -1.165698,2.979282 -2.354688,2.978996 -3.459288,3.120756 -2.662046,-0.647484 -4.672772,-0.66966 -4.935144,0.0586 -0.358912,0.996212 2.679032,3.585172 6.78065,5.079778 4.101618,1.494602 7.7238,1.900248 8.082712,0.904038 0.263232,-0.730638 -1.303218,-2.009794 -3.773772,-3.231104 -1.084566,-1.130306 -2.058868,-1.917706 -1.199992,-5.418658 1.680206,-6.848874 4.242608,-4.496448 7.263404,-8.753 2.562426,-3.610672 3.241818,-6.381924 4.72549,-10.614098 1.571992,-4.4841 2.2614,-6.560101 2.057918,-6.970024 -1.37051,-2.760946 -7.037222,-4.459387 -10.383386,-4.467183 z m -3.831702,9.121313 c 1.6194,1.79231 3.097928,2.825452 4.431494,2.878664 3.290768,0.1313 5.698856,-3.651028 7.162918,-1.731872 -0.704562,2.340602 -4.95059,16.51333 -10.609592,13.98192 -4.687802,-2.066842 -1.974364,-12.607284 -0.98482,-15.128712 z"/>
|
||||
<path style="fill:#ffffff" d="m 33.58182,12.000023 c -1.115388,-0.0026 -1.97382,0.183308 -2.328264,0.580371 -0.562336,0.629947 -1.857402,5.326822 -3.473084,12.505882 -1.165672,5.166004 -0.355128,8.17861 0.44138,9.790972 1.018314,2.061364 1.810928,3.300018 0.201376,7.413682 -1.165698,2.979282 -2.354688,2.978996 -3.459288,3.120756 -2.662046,-0.647484 -4.672772,-0.66966 -4.935144,0.0586 -0.358912,0.996212 2.679032,3.585172 6.78065,5.079778 4.101618,1.494602 7.7238,1.900248 8.082712,0.904038 0.263232,-0.730638 -1.303218,-2.009794 -3.773772,-3.231104 -1.084566,-1.130306 -2.058868,-1.917706 -1.199992,-5.418658 1.680206,-6.848874 4.242608,-4.496448 7.263404,-8.753 2.562426,-3.610672 3.241818,-6.381924 4.72549,-10.614098 1.571992,-4.484099 2.2614,-6.560101 2.057918,-6.970024 -1.37051,-2.760946 -7.037222,-4.459387 -10.383386,-4.467183 z m -3.831702,9.121313 c 1.6194,1.79231 3.097928,2.825452 4.431494,2.878664 3.290768,0.1313 5.698856,-3.651028 7.162918,-1.731872 -0.704562,2.340602 -4.95059,16.51333 -10.609592,13.98192 -4.687802,-2.066842 -1.974364,-12.607284 -0.98482,-15.128712 z"/>
|
||||
<path style="opacity:0.1;fill:#ffffff" d="M 32 4 A 28 28 0 0 0 4 32 A 28 28 0 0 0 4.0058594 32.490234 A 28 28 0 0 1 32 5 A 28 28 0 0 1 59.994141 32.488281 A 28 28 0 0 0 60 32 A 28 28 0 0 0 32 4 z"/>
|
||||
<circle style="opacity:0.2" cx="47" cy="48" r="15"/>
|
||||
<circle style="fill:#ffa407" cx="47" cy="47" r="15"/>
|
||||
<path style="fill:#ffffff" d="M 47,52.925858 41.438,56 42.5,49.487858 38,44.876 44.219,43.925858 47,38 49.781,43.925858 56,44.876 51.5,49.487858 52.562,56 Z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
BIN
Icon/Program/AboutIcon1.png
Executable file
|
After Width: | Height: | Size: 120 KiB |
BIN
Icon/Program/AboutIcon2.png
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
Icon/QR/Alipay.jpg
Normal file
|
After Width: | Height: | Size: 270 KiB |
BIN
Icon/QR/QQ.png
Normal file
|
After Width: | Height: | Size: 66 KiB |
BIN
Icon/QR/Wechat.png
Normal file
|
After Width: | Height: | Size: 76 KiB |
BIN
Icon/QR/advertisement0.jpg
Normal file
|
After Width: | Height: | Size: 338 KiB |
BIN
Icon/doge.png
Executable file
|
After Width: | Height: | Size: 11 KiB |
48
InstallBox86-cn.sh
Executable file
@@ -0,0 +1,48 @@
|
||||
#!/bin/bash
|
||||
if [[ `whoami` != root ]]; then
|
||||
echo 请以 root 权限运行
|
||||
echo 按任意键退出
|
||||
read
|
||||
exit 1
|
||||
fi
|
||||
PCArch=`dpkg --print-architecture`
|
||||
if [[ $PCArch != "aarch64" ]] && [[ $PCArch != "arm64" ]]; then
|
||||
echo 非 ARM 架构,无法继续
|
||||
echo 按任意键退出
|
||||
read
|
||||
exit 1
|
||||
fi
|
||||
which box86
|
||||
if [[ $? == 0 ]]; then
|
||||
echo 已安装,结束
|
||||
echo 按回车键退出
|
||||
read
|
||||
exit 1
|
||||
fi
|
||||
echo 使用国内源
|
||||
#sudo wget https://ryanfortner.github.io/box86-debs/box86.list -O /etc/apt/sources.list.d/box86.list
|
||||
sudo bash -c "echo deb http://gfdgdxi.v5.idcfengye.com/spark-deepin-wine-runner/data/box86-debs/debian ./ > /etc/apt/sources.list.d/box86.list"
|
||||
wget -qO- http://gfdgdxi.v5.idcfengye.com/spark-deepin-wine-runner/data/box86-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box86-debs-archive-keyring.gpg
|
||||
echo "adding key..."
|
||||
installBox=box86-generic-arm
|
||||
if [[ $PCArch == "arm64" ]]; then
|
||||
sudo bash -c "echo deb http://gfdgdxi.v5.idcfengye.com/spark-deepin-wine-runner/data/box64-debs/debian ./ > /etc/apt/sources.list.d/box64.list"
|
||||
wget -qO- http://gfdgdxi.v5.idcfengye.com/spark-deepin-wine-runner/data/box64-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box64-debs-archive-keyring.gpg
|
||||
installBox="box86-generic-arm box64-generic-arm"
|
||||
sudo dpkg --add-architecture armhf
|
||||
fi
|
||||
echo " + sudo apt update"
|
||||
sudo apt update
|
||||
sudo apt install binfmt-support -y
|
||||
sudo apt install libc6:armhf -y
|
||||
echo apt 源添加完毕!按回车键继续安装 Box86/Box64,若想要停止安装,则请按 Ctrl+C 或按终端右上角 ×(叉叉)退出
|
||||
echo 按回车键后将会自动安装包名为 box86-generic-arm、box64-generic-arm(box64 要在 aarch64 系统才可安装)的 Box86/Box64 包(适用于通用 ARM 系统)
|
||||
echo 其他特殊版本及其包名可见如下链接(如适用于 rk3399 的版本):
|
||||
echo " - Box64:https://github.com/ryanfortner/box64-debs/"
|
||||
echo " - Box86:https://github.com/ryanfortner/box86-debs/"
|
||||
echo " - Box64(国内镜像):http://gfdgdxi.v5.idcfengye.com/spark-deepin-wine-runner/data/box64-debs"
|
||||
echo " - Box64(国内镜像):http://gfdgdxi.v5.idcfengye.com/spark-deepin-wine-runner/data/box86-debs"
|
||||
read
|
||||
sudo apt install -y $installBox
|
||||
echo 安装完成!按回车键退出
|
||||
read
|
||||
31
InstallBox86-own.sh
Executable file
@@ -0,0 +1,31 @@
|
||||
#!/bin/bash
|
||||
if [[ `whoami` != root ]]; then
|
||||
echo 请以 root 权限运行
|
||||
echo 按任意键退出
|
||||
read
|
||||
exit 1
|
||||
fi
|
||||
PCArch=`dpkg --print-architecture`
|
||||
echo 使用国内源
|
||||
#sudo wget https://ryanfortner.github.io/box86-debs/box86.list -O /etc/apt/sources.list.d/box86.list
|
||||
#sudo bash -c "echo deb http://seafile.jyx2048.com:2345/spark-deepin-wine-runner/data/box86-debs/debian ./ > /etc/apt/sources.list.d/box86.list"
|
||||
#wget -qO- http://seafile.jyx2048.com:2345/spark-deepin-wine-runner/data/box86-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box86-debs-archive-keyring.gpg
|
||||
#echo "adding key..."
|
||||
#installBox=box86-generic-arm
|
||||
#if [[ $PCArch == "arm64" ]]; then
|
||||
# sudo bash -c "echo deb http://seafile.jyx2048.com:2345/spark-deepin-wine-runner/data/box64-debs/debian ./ > /etc/apt/sources.list.d/box64.list"
|
||||
# wget -qO- http://seafile.jyx2048.com:2345/spark-deepin-wine-runner/data/box64-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box64-debs-archive-keyring.gpg
|
||||
# installBox="box86-generic-arm box64-generic-arm"
|
||||
# sudo dpkg --add-architecture armhf
|
||||
#fi
|
||||
wget http://deb.box86.wine-runner.gfdgdxi.top/sources/github.sh
|
||||
bash github.sh
|
||||
rm github.sh
|
||||
echo " + sudo apt update"
|
||||
sudo apt update
|
||||
sudo apt install binfmt-support -y
|
||||
sudo apt install libc6:armhf -y
|
||||
sudo apt install -y box86
|
||||
sudo apt install -y box64
|
||||
echo 安装完成!按回车键退出
|
||||
read
|
||||
@@ -19,17 +19,29 @@ if [[ $? == 0 ]]; then
|
||||
read
|
||||
exit 1
|
||||
fi
|
||||
#sudo wget https://itai-nelken.github.io/weekly-box86-debs/debian/box86.list -O /etc/apt/sources.list.d/box86.list
|
||||
echo deb https://code.gitlink.org.cn/gfdgd_xi/weekly-box86-debs/raw/branch/main/debian / > /etc/apt/sources.list.d/box86.list
|
||||
echo 使用 Github 源
|
||||
#sudo wget https://ryanfortner.github.io/box86-debs/box86.list -O /etc/apt/sources.list.d/box86.list
|
||||
sudo wget https://ryanfortner.github.io/box86-debs/box86.list -O /etc/apt/sources.list.d/box86.list
|
||||
wget -qO- https://ryanfortner.github.io/box86-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box86-debs-archive-keyring.gpg
|
||||
echo "adding key..."
|
||||
wget -qO- https://code.gitlink.org.cn/gfdgd_xi/weekly-box86-debs/raw/branch/main/debian/KEY.gpg | sudo apt-key add -
|
||||
installBox=box86
|
||||
installBox=box86-generic-arm
|
||||
if [[ $PCArch == "arm64" ]]; then
|
||||
installBox="box86 box64"
|
||||
sudo wget https://ryanfortner.github.io/box64-debs/box64.list -O /etc/apt/sources.list.d/box64.list
|
||||
wget -qO- https://ryanfortner.github.io/box64-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box64-debs-archive-keyring.gpg
|
||||
installBox="box86-generic-arm box64-generic-arm"
|
||||
sudo dpkg --add-architecture armhf
|
||||
fi
|
||||
echo " + sudo apt update"
|
||||
sudo apt update
|
||||
sudo apt install binfmt-support -y
|
||||
echo apt 源添加完毕!按回车键继续安装 Box86/Box64,若想要停止安装,则请按 Ctrl+C 或按终端右上角 ×(叉叉)退出
|
||||
echo 按回车键后将会自动安装包名为 box86-generic-arm、box64-generic-arm(box64 要在 aarch64 系统才可安装)的 Box86/Box64 包(适用于通用 ARM 系统)
|
||||
echo 其他特殊版本及其包名可见如下链接(如适用于 rk3399 的版本):
|
||||
echo " - Box64:https://github.com/ryanfortner/box64-debs/"
|
||||
echo " - Box86:https://github.com/ryanfortner/box86-debs/"
|
||||
echo " - Box64(国内镜像):https://jihulab.com/gfdgd-xi/box64-debs"
|
||||
echo " - Box64(国内镜像):https://jihulab.com/gfdgd-xi/box86-debs"
|
||||
read
|
||||
sudo apt install -y $installBox
|
||||
echo 安装完成!按回车键退出
|
||||
read
|
||||
4
InstallDeepinWine6OnUbuntu.sh
Normal file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
wget -O- https://deepin-wine.i-m.dev/setup.sh | sh
|
||||
echo 安装完成,按回车键后退出
|
||||
read
|
||||
14
InstallDeepinWineOnUbuntu.sh
Normal file
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
which git > /dev/null
|
||||
if [[ $? != 0 ]]; then
|
||||
sudo apt install git -y
|
||||
fi
|
||||
cd /tmp
|
||||
if [ -d /tmp/deepin-wine-for-ubuntu ]; then
|
||||
rm -rf /tmp/deepin-wine-for-ubuntu
|
||||
fi
|
||||
git clone https://gitee.com/wszqkzqk/deepin-wine-for-ubuntu.git
|
||||
cd deepin-wine-for-ubuntu
|
||||
bash install.sh
|
||||
echo 安装完成,按回车键退出
|
||||
read
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.1.0
|
||||
# 更新时间:2022年08月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -13,6 +13,7 @@
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import updatekiller
|
||||
import traceback
|
||||
import req as requests
|
||||
def exit():
|
||||
@@ -22,6 +23,7 @@ def exit():
|
||||
sys.exit()
|
||||
# 获取云列表
|
||||
sourcesList = [
|
||||
"http://dll.wine-runner.gfdgdxi.top",
|
||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/dlls",
|
||||
"http://gfdgdxi.msns.cn/wine-runner-list/dlls"
|
||||
]
|
||||
@@ -30,7 +32,8 @@ print("获取列表中……", end="")
|
||||
try:
|
||||
lists = json.loads(requests.get(f"{url}/list.json").text)
|
||||
except:
|
||||
print("\r列表获取失败!")
|
||||
print("\r列表获取失败!按回车键退出")
|
||||
input()
|
||||
exit()
|
||||
print("\r列表获取成功!")
|
||||
|
||||
@@ -62,7 +65,7 @@ def exit():
|
||||
|
||||
if __name__ == "__main__":
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print("作者:gfdgd xi")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装指定应用")
|
||||
sys.exit()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.1.0
|
||||
# 更新时间:2022年08月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -14,29 +14,70 @@ import os
|
||||
import sys
|
||||
import json
|
||||
import shutil
|
||||
import updatekiller
|
||||
import req as requests
|
||||
homePath = os.path.expanduser('~')
|
||||
try:
|
||||
sources = [
|
||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/fonts/list.json",
|
||||
"http://gfdgdxi.msns.cn/wine-runner-list/fonts/list.json"
|
||||
sourcesList = [
|
||||
"http://fonts.wine-runner.gfdgdxi.top/list.json",
|
||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/fonts/list.json"
|
||||
]
|
||||
fontList = json.loads(requests.get(sources[0]).text)
|
||||
change = False
|
||||
for i in sourcesList:
|
||||
try:
|
||||
fontList = json.loads(requests.get(i).text)
|
||||
change = True
|
||||
break
|
||||
except:
|
||||
pass
|
||||
if not change:
|
||||
fontList = json.loads(requests.get(sourcesList[0]).text)
|
||||
except:
|
||||
print("使用离线列表")
|
||||
fontList = [
|
||||
["fake_simsun.ttc", "https://gitlink.org.cn/api/attachments/392168", "simsun.ttc", "fake_simsun.ttc(会替换容器内的宋体,且与 deepin 有问题)"],
|
||||
["simsun.ttc", "https://gitlink.org.cn/api/attachments/392181", "simsun.ttc", "simsun.ttc"],
|
||||
["simsunb.ttf", "https://gitlink.org.cn/api/attachments/392180", "simsunb.ttf", "simsunb.ttf"],
|
||||
["msyh.ttc", "https://gitlink.org.cn/api/attachments/392182", "msyh.ttc", "msyh.ttc"],
|
||||
["msyhl.ttc", "https://gitlink.org.cn/api/attachments/392184", "msyhl.ttc", "msyhl.ttc"],
|
||||
["msyhbd.ttc", "https://gitlink.org.cn/api/attachments/392183", "msyhbd.ttc", "msyhbd.ttc"]
|
||||
[
|
||||
"fake_simsun.ttc",
|
||||
"http://fonts.wine-runner.gfdgdxi.top/fake_simsun.ttc",
|
||||
"simsun.ttc",
|
||||
"fake_simsun.ttc(会替换容器内的宋体)"
|
||||
],
|
||||
[
|
||||
"simsun.ttc",
|
||||
"http://fonts.wine-runner.gfdgdxi.top/simsun.ttc",
|
||||
"simsun.ttc",
|
||||
"simsun.ttc"
|
||||
],
|
||||
[
|
||||
"simsunb.ttf",
|
||||
"http://fonts.wine-runner.gfdgdxi.top/simsunb.ttf",
|
||||
"simsunb.ttf",
|
||||
"simsunb.ttf"
|
||||
],
|
||||
[
|
||||
"msyh.ttc",
|
||||
"http://fonts.wine-runner.gfdgdxi.top/msyh.ttc",
|
||||
"msyh.ttc",
|
||||
"msyh.ttc"
|
||||
],
|
||||
[
|
||||
"msyhl.ttc",
|
||||
"http://fonts.wine-runner.gfdgdxi.top/msyhl.ttc",
|
||||
"msyhl.ttc",
|
||||
"msyhl.ttc"
|
||||
],
|
||||
[
|
||||
"msyhbd.ttc",
|
||||
"http://fonts.wine-runner.gfdgdxi.top/msyhbd.ttc",
|
||||
"msyhbd.ttc",
|
||||
"msyhbd.ttc"
|
||||
]
|
||||
]
|
||||
def Download(wineBotton: str, id: int) -> int:
|
||||
return os.system(f"aria2c -x 16 -s 16 -d '{wineBotton}/drive_c/windows/Fonts/' -o '{fontList[id][0]}' \"{fontList[id][1]}\"")
|
||||
|
||||
if __name__ == "__main__":
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print("作者:gfdgd xi")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装指定应用")
|
||||
sys.exit()
|
||||
|
||||
105
InstallFoxpro.py
Executable file
@@ -0,0 +1,105 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.1.0
|
||||
# 更新时间:2022年08月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
# 基于 Python3 构建
|
||||
###########################################################################################
|
||||
#################
|
||||
# 引入所需的库
|
||||
#################
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import updatekiller
|
||||
import req as requests
|
||||
try:
|
||||
sourcesList = [
|
||||
"http://foxpro.wine-runner.gfdgdxi.top/list.json",
|
||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/Visual FoxPro/list.json"
|
||||
]
|
||||
change = False
|
||||
for i in sourcesList:
|
||||
try:
|
||||
netList = json.loads(requests.get(i).text)
|
||||
change = True
|
||||
break
|
||||
except:
|
||||
pass
|
||||
if not change:
|
||||
netList = json.loads(requests.get(sourcesList[0]).text)
|
||||
except:
|
||||
print("使用离线列表")
|
||||
netList = [
|
||||
["3.0 Runtime Service Pack 1", "http://foxpro.wine-runner.gfdgdxi.top/VFP3SP1RT.EXE", "VFP3SP1RT.EXE"],
|
||||
["5.0 Runtime Service Pack 1", "http://foxpro.wine-runner.gfdgdxi.top/VFP5SP1RT.EXE", "VFP5SP1RT.EXE"],
|
||||
["6.0 Runtime Service Pack 5", "http://foxpro.wine-runner.gfdgdxi.top/VFP6SP5RT.EXE", "VFP6SP5RT.EXE"],
|
||||
["7.0 Runtime Service Pack 0", "http://foxpro.wine-runner.gfdgdxi.top/VFP7SP0RT.EXE", "VFP7SP0RT.EXE"],
|
||||
["7.0 Runtime Service Pack 1", "http://foxpro.wine-runner.gfdgdxi.top/VFP7SP1RT.EXE", "VFP7SP1RT.EXE"],
|
||||
["8.0 Runtime Service Pack 0", "http://foxpro.wine-runner.gfdgdxi.top/VFP8SP0RT.EXE", "VFP8SP0RT.EXE"],
|
||||
["8.0 Runtime Service Pack 1", "http://foxpro.wine-runner.gfdgdxi.top/VFP8SP1RT.EXE", "VFP8SP1RT.EXE"],
|
||||
["9.0 Runtime Service Pack 1", "http://foxpro.wine-runner.gfdgdxi.top/VFP9SP1RT.EXE", "VFP9SP1RT.EXE"],
|
||||
["9.0 Runtime Service Pack 2 with Hotfixes", "http://foxpro.wine-runner.gfdgdxi.top/VFP9SP2RT.EXE", "VFP9SP2RT.EXE"]
|
||||
]
|
||||
def Download(wineBotton: str, id: int, wine: str) -> int:
|
||||
try:
|
||||
os.remove(f"/tmp/deepin-wine-runner-FoxPro/{netList[id][2]}")
|
||||
except:
|
||||
pass
|
||||
os.system(f"aria2c -x 16 -s 16 -d '/tmp/deepin-wine-runner-FoxPro' -o '{netList[id][2]}' \"{netList[id][1]}\"")
|
||||
return os.system(f"WINEPREFIX='{wineBotton}' {wine} '/tmp/deepin-wine-runner-FoxPro/{netList[id][2]}'")
|
||||
|
||||
if __name__ == "__main__":
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装 Visual FoxPro")
|
||||
sys.exit()
|
||||
if len(sys.argv) <= 2 or sys.argv[1] == "" or sys.argv[2] == "":
|
||||
print("您未指定需要安装 Visual FoxPro 的容器和使用的 wine,无法继续")
|
||||
print("参数:")
|
||||
print("XXX 参数一 参数二 参数三(可略)")
|
||||
print("参数一为需要安装的容器,参数二为需要使用的wine,参数三为是否缓存(可略),三个参数位置不能颠倒")
|
||||
sys.exit()
|
||||
|
||||
homePath = os.path.expanduser('~')
|
||||
print('''
|
||||
mmmmmm mmmmm
|
||||
# mmm m m # "# m mm mmm
|
||||
#mmmmm #" "# #m# #mmm#" #" " #" "#
|
||||
# # # m#m # # # #
|
||||
# "#m#" m" "m # # "#m#"
|
||||
|
||||
|
||||
''')
|
||||
|
||||
print("请选择以下的 Visual FoxPro 进行安装(不保证能正常安装运行)")
|
||||
for i in range(0, len(netList)):
|
||||
print(f"{i} Visual FoxPro {netList[i][0]}")
|
||||
while True:
|
||||
try:
|
||||
choose = input("请输入要选择的 Visual FoxPro 版本(输入“exit”退出):").lower()
|
||||
if choose == "exit":
|
||||
break
|
||||
choose = int(choose)
|
||||
except:
|
||||
print("输入错误,请重新输入")
|
||||
continue
|
||||
if 0 <= choose and choose < len(netList):
|
||||
break
|
||||
if choose == "exit":
|
||||
exit()
|
||||
print(f"您选择了 Visual FoxPro {netList[choose][0]}")
|
||||
if os.path.exists(f"{homePath}/.cache/deepin-wine-runner/vcpp/{netList[choose][2]}"):
|
||||
print("已经缓存,使用本地版本")
|
||||
os.system(f"WINEPREFIX='{sys.argv[1]}' {sys.argv[2]} '{homePath}/.cache/deepin-wine-runner/vcpp/{netList[choose][2]}'")
|
||||
input("安装结束,按回车键退出")
|
||||
exit()
|
||||
print("开始下载")
|
||||
os.system(f"rm -rf '{homePath}/.cache/deepin-wine-runner/vcpp/{netList[choose][2]}'")
|
||||
os.system(f"mkdir -p '{homePath}/.cache/deepin-wine-runner/vcpp'")
|
||||
os.system(f"aria2c -x 16 -s 16 -d '{homePath}/.cache/deepin-wine-runner/vcpp' -o '{netList[choose][2]}' \"{netList[choose][1]}\"")
|
||||
os.system(f"WINEPREFIX='{sys.argv[1]}' {sys.argv[2]} '{homePath}/.cache/deepin-wine-runner/vcpp/{netList[choose][2]}'")
|
||||
input("安装结束,按回车键退出")
|
||||
22
InstallLat.sh
Executable file
@@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
echo lat只能在loongarch架构安装
|
||||
# 检查是否有 aptss
|
||||
aptPath=apt
|
||||
if [[ -f /usr/bin/aptss ]]; then
|
||||
aptPath=aptss
|
||||
fi
|
||||
# 判断新旧世界
|
||||
if [[ `dpkg --print-architecture` == "loong64" ]]; then
|
||||
# 新世界
|
||||
sudo $aptPath update
|
||||
sudo $aptPath install lat lat-runtime-i386 lat-runtime-amd64
|
||||
echo 按回车键退出
|
||||
read
|
||||
exit
|
||||
fi
|
||||
# 旧世界
|
||||
sudo $aptPath update
|
||||
sudo $aptPath install lat i386-runtime-base i386-runtime-extra
|
||||
echo 按回车键退出
|
||||
read
|
||||
exit
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.1.0
|
||||
# 更新时间:2022年08月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -12,11 +12,15 @@
|
||||
#################
|
||||
import os
|
||||
import sys
|
||||
import updatekiller
|
||||
import traceback
|
||||
import pyquery
|
||||
try:
|
||||
import pyquery
|
||||
except:
|
||||
os.system("python3 -m pip install --upgrade pyquery --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple --break-system-packages")
|
||||
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print("作者:gfdgd xi")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装 mono、gecko")
|
||||
sys.exit()
|
||||
@@ -123,4 +127,4 @@ except:
|
||||
file.write(programVersion)
|
||||
file.close()
|
||||
if exitInputShow:
|
||||
input("安装结束,按回车键退出")
|
||||
input("安装结束,按回车键退出")
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.1.0
|
||||
# 更新时间:2022年08月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -13,27 +13,40 @@
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import updatekiller
|
||||
import req as requests
|
||||
try:
|
||||
sourcesList = [
|
||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/msxml/list.json",
|
||||
"http://gfdgdxi.msns.cn/wine-runner-list/msxml/list.json"
|
||||
"http://msxml.wine-runner.gfdgdxi.top/list.json",
|
||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/msxml/list.json"
|
||||
]
|
||||
msxmlList = json.loads(requests.get(sourcesList[0]).text)
|
||||
change = False
|
||||
for i in sourcesList:
|
||||
try:
|
||||
msxmlList = json.loads(requests.get(i).text)
|
||||
change = True
|
||||
break
|
||||
except:
|
||||
pass
|
||||
if not change:
|
||||
msxmlList = json.loads(requests.get(sourcesList[0]).text)
|
||||
except:
|
||||
print("使用离线列表")
|
||||
msxmlList = [
|
||||
["MSXML 4.0 SP2", "https://www.gitlink.org.cn/api/attachments/390679?gfdgd_xi", "msxml6.0.msi"],
|
||||
["MSXML 4.0 SP3", "https://www.gitlink.org.cn/api/attachments/390678?gfdgd_xi", "msxml4.0SP3.msi"],
|
||||
["MSXML 6.0", "https://www.gitlink.org.cn/api/attachments/390681?gfdgd_xi", "msxml6_x64.msi"]
|
||||
["MSXML 4.0 SP2", "http://msxml.wine-runner.gfdgdxi.top/msxml6.0.msi", "msxml6.0.msi"],
|
||||
["MSXML 4.0 SP3", "http://msxml.wine-runner.gfdgdxi.top/msxml4.0SP3.msi", "msxml4.0SP3.msi"],
|
||||
["MSXML 6.0", "http://msxml.wine-runner.gfdgdxi.top/msxml6_x64.msi", "msxml6_x64.msi"],
|
||||
["MSXML 3.0", "http://msxml.wine-runner.gfdgdxi.top/msxml3.msi", "msxml3.msi"]
|
||||
]
|
||||
|
||||
|
||||
def Download(wineBotton: str, id: int, wine: str):
|
||||
os.system(f"aria2c -x 16 -s 16 -d \"/tmp/deepin-wine-runner-msxml/\" -o \"{msxmlList[id][2]}\" \"{msxmlList[id][1]}\"")
|
||||
return os.system(f"WINEPREFIX='{wineBotton}' {wine} msiexec /i \"/tmp/deepin-wine-runner-msxml/{msxmlList[id][2]}\"")
|
||||
|
||||
if __name__ == "__main__":
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print("作者:gfdgd xi")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装 MSXML")
|
||||
sys.exit()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.1.0
|
||||
# 更新时间:2022年08月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -13,14 +13,26 @@
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import updatekiller
|
||||
import req as requests
|
||||
try:
|
||||
sourcesList = [
|
||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/net/list.json",
|
||||
"http://net.wine-runner.gfdgdxi.top/list.json",
|
||||
"http://gfdgdxi.msns.cn/wine-runner-list/net/list.json"
|
||||
]
|
||||
netList = json.loads(requests.get(sourcesList[0]).text)
|
||||
change = False
|
||||
for i in sourcesList:
|
||||
try:
|
||||
netList = json.loads(requests.get(i).text)
|
||||
change = True
|
||||
break
|
||||
except:
|
||||
pass
|
||||
if not change:
|
||||
netList = json.loads(requests.get(sourcesList[0]).text)
|
||||
except:
|
||||
print("使用离线列表")
|
||||
netList = [
|
||||
["Microsoft® .NET Framework 1.1 版可转散发套件", "https://download.microsoft.com/download/8/2/7/827bb1ef-f5e1-4464-9788-40ef682930fd/dotnetfx.exe"],
|
||||
["Microsoft .NET Framework 2.0 Service Pack 1 (x86)", "https://download.microsoft.com/download/0/8/c/08c19fa4-4c4f-4ffb-9d6c-150906578c9e/NetFx20SP1_x86.exe"],
|
||||
@@ -56,7 +68,7 @@ def Download(wineBotton: str, id: int, wine: str):
|
||||
|
||||
if __name__ == "__main__":
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print("作者:gfdgd xi")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装 .net framework")
|
||||
sys.exit()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
# 使用系统默认的 bash 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.2.0
|
||||
# 更新时间:2022年09月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -17,7 +17,9 @@ echo '" #"# # # #" # #" # #mmmm# # #'
|
||||
echo ' ## ##" # # # #"""" # # # #'
|
||||
echo ' # # mm#mm # # "#mm" # # #mm#"'
|
||||
echo ' # '
|
||||
|
||||
echo
|
||||
echo "WineHQ 官网:https://wiki.winehq.org/"
|
||||
echo 当前使用国内镜像源:https://mirrors-i.tuna.tsinghua.edu.cn/help/wine-builds/
|
||||
|
||||
ubuntuSource=(
|
||||
"echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/ubuntu/ jammy main | sudo tee /etc/apt/sources.list.d/winehq.list"
|
||||
@@ -28,11 +30,11 @@ ubuntuSource=(
|
||||
debianSource=(
|
||||
"echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/debian/ buster main | sudo tee /etc/apt/sources.list.d/winehq.list"
|
||||
"echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/debian/ bullseye main | sudo tee /etc/apt/sources.list.d/winehq.list"
|
||||
"sudo wget -nc -P /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bookworm/winehq-bookworm.sources"
|
||||
"echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/debian/ bookworm main | sudo tee /etc/apt/sources.list.d/winehq.list"
|
||||
)
|
||||
# 选择发行版
|
||||
echo "WineHQ 官网:https://wiki.winehq.org/"
|
||||
echo "国内镜像源:https://mirrors-i.tuna.tsinghua.edu.cn/help/wine-builds/"
|
||||
#echo "WineHQ 官网:https://wiki.winehq.org/"
|
||||
#echo "国内镜像源:https://mirrors-i.tuna.tsinghua.edu.cn/help/wine-builds/"
|
||||
echo
|
||||
echo "选择发行版:"
|
||||
echo "0. Debian"
|
||||
@@ -43,7 +45,7 @@ echo "选择系统版本"
|
||||
if [ $system = "0" ]; then
|
||||
echo "0. Debian 10 (Buster)"
|
||||
echo "1. Debian 11 (Bullseye)"
|
||||
echo "2. Debian Testing (Bookworm)"
|
||||
echo "2. Debian 12 (Bookworm)"
|
||||
fi
|
||||
if [ $system = "1" ]; then
|
||||
echo "0. Ubuntu 22.04"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
# 使用系统默认的 bash 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.2.0
|
||||
# 更新时间:2022年09月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -17,17 +17,19 @@ echo '" #"# # # #" # #" # #mmmm# # #'
|
||||
echo ' ## ##" # # # #"""" # # # #'
|
||||
echo ' # # mm#mm # # "#mm" # # #mm#"'
|
||||
echo ' # '
|
||||
|
||||
echo
|
||||
echo "WineHQ 官网:https://wiki.winehq.org/"
|
||||
echo 当前不使用国内镜像源
|
||||
|
||||
ubuntuSource=(
|
||||
"echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/ubuntu/ jammy main | sudo tee /etc/apt/sources.list.d/winehq.list"
|
||||
"sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources"
|
||||
"sudo wget -nc -P /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/impish/winehq-impish.sources"
|
||||
"echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/ubuntu/ focal main | sudo tee /etc/apt/sources.list.d/winehq.list"
|
||||
"echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/ubuntu/ bionic main | sudo tee /etc/apt/sources.list.d/winehq.list"
|
||||
"sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/focal/winehq-focal.sources"
|
||||
"sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/bionic/winehq-bionic.sources"
|
||||
)
|
||||
debianSource=(
|
||||
"echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/debian/ buster main | sudo tee /etc/apt/sources.list.d/winehq.list"
|
||||
"echo deb [arch=amd64,i386 signed-by=/usr/share/keyrings/winehq-archive.key] https://mirrors.tuna.tsinghua.edu.cn/wine-builds/debian/ bullseye main | sudo tee /etc/apt/sources.list.d/winehq.list"
|
||||
"sudo wget -nc -P /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/buster/winehq-buster.sources"
|
||||
"sudo wget -nc -P /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bullseye/winehq-bullseye.sources"
|
||||
"sudo wget -nc -P /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bookworm/winehq-bookworm.sources"
|
||||
)
|
||||
# 选择发行版
|
||||
@@ -43,7 +45,7 @@ echo "选择系统版本"
|
||||
if [ $system = "0" ]; then
|
||||
echo "0. Debian 10 (Buster)"
|
||||
echo "1. Debian 11 (Bullseye)"
|
||||
echo "2. Debian Testing (Bookworm)"
|
||||
echo "2. Debian 12 (Bookworm)"
|
||||
fi
|
||||
if [ $system = "1" ]; then
|
||||
echo "0. Ubuntu 22.04"
|
||||
@@ -61,7 +63,9 @@ read programVersion
|
||||
# 初步配置
|
||||
sudo apt-key del "D43F 6401 4536 9C51 D786 DDEA 76F1 A20F F987 672F"
|
||||
sudo dpkg --add-architecture i386
|
||||
sudo wget -nc -O /usr/share/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
|
||||
#sudo wget -nc -O /usr/share/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
|
||||
sudo mkdir -pm755 /etc/apt/keyrings
|
||||
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
|
||||
# 检测 apt-fast 或 ss-apt-fast 是否存在
|
||||
apt="apt"
|
||||
which apt-fast > /dev/null
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.1.0
|
||||
# 更新时间:2022年08月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -13,14 +13,26 @@
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import updatekiller
|
||||
import req as requests
|
||||
try:
|
||||
sourcesList = [
|
||||
"http://other.wine-runner.gfdgdxi.top/list.json",
|
||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/other/list.json",
|
||||
"http://gfdgdxi.msns.cn/wine-runner-list/other/list.json"
|
||||
]
|
||||
msxmlList = json.loads(requests.get(sourcesList[0]).text)
|
||||
change = False
|
||||
for i in sourcesList:
|
||||
try:
|
||||
msxmlList = json.loads(requests.get(i).text)
|
||||
change = True
|
||||
break
|
||||
except:
|
||||
pass
|
||||
if not change:
|
||||
msxmlList = json.loads(requests.get(sourcesList[0]).text)
|
||||
except:
|
||||
print("使用离线列表")
|
||||
msxmlList = [
|
||||
["Windows Script 5.7 for Windows XP", "https://download.microsoft.com/download/f/f/e/ffea3abf-b55f-4924-b5a5-bde0805ad67c/scripten.exe", "exe", "scripten.exe"],
|
||||
["Windows Management Instrumentation 1.50.1131", "https://www.gitlink.org.cn/api/attachments/390680", "exe", "WMITools.exe"]
|
||||
@@ -38,7 +50,7 @@ def Download(wineBotton: str, id: int, wine: str) -> int:
|
||||
return os.system(f"WINEPREFIX='{wineBotton}' {wine} msiexec /i '/tmp/deepin-wine-runner-other/{msxmlList[id][3]}'")
|
||||
if __name__ == "__main__":
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print("作者:gfdgd xi")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装运行库")
|
||||
sys.exit()
|
||||
@@ -65,6 +77,8 @@ if __name__ == "__main__":
|
||||
while True:
|
||||
try:
|
||||
choose = input("请输入要选择要安装的应用(输入“exit”退出):").lower()
|
||||
if choose == "exit":
|
||||
break
|
||||
choose = int(choose)
|
||||
except:
|
||||
print("输入错误,请重新输入")
|
||||
|
||||
@@ -1,12 +1,28 @@
|
||||
#!/bin/bash
|
||||
# 判断是否有安装 Qemu User
|
||||
which qemu-i386 > /dev/null
|
||||
if [[ !$? ]]; then
|
||||
if [[ $? == 0 ]]; then
|
||||
echo 您已安装过 Qemu User,按回车键后退出
|
||||
read
|
||||
exit 1
|
||||
fi
|
||||
# 判断是不是 Fedora
|
||||
if [[ -f /etc/fedora-release ]]; then
|
||||
sudo yum update -y
|
||||
sudo yum install qemu-user qemu-user-static -y
|
||||
echo 安装完成,按回车键后退出
|
||||
read
|
||||
exit
|
||||
fi
|
||||
# 判断是不是 Arch Linux
|
||||
if [[ -f /etc/arch-release ]]; then
|
||||
sudo pacman -Syu
|
||||
sudo pacman -S qemu-user qemu-user-static --noconfirm
|
||||
echo 安装完成,按回车键后退出
|
||||
read
|
||||
exit
|
||||
fi
|
||||
sudo apt update
|
||||
sudo apt install binfmt-support qemu-user qemu-user-static -y
|
||||
echo 安装完成,按回车键后退出
|
||||
read
|
||||
read
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
#!/bin/bash
|
||||
arch=amd64
|
||||
libPath=/usr/lib/x86_64-linux-gnu/
|
||||
version=1.0.0
|
||||
url="https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/$arch-runtime-for-qemu_${version}_all.deb"
|
||||
version=1.0.1
|
||||
url="https://sourceforge.net/projects/deep-wine-runner-wine-download/files/${version}-${arch}-runtime-for-qemu/${arch}-runtime-for-qemu_${version}_all.deb/download"
|
||||
fileName=`basename $url`
|
||||
fileName=`basename $filename`
|
||||
|
||||
if [[ -d $libPath ]]; then
|
||||
echo "已安装 $arch 运行库,按回车键退出"
|
||||
@@ -16,5 +17,6 @@ fi
|
||||
aria2c -x 16 -s 16 -c $url -d /tmp -o $fileName
|
||||
sudo apt update
|
||||
sudo dpkg -i /tmp/$fileName
|
||||
sudo apt install qemu-user qemu-user-static binfmt-support -y
|
||||
echo 安装完成,按回车键退出
|
||||
read
|
||||
read
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
arch=arm64
|
||||
libPath=/usr/lib/aarch64-linux-gnu
|
||||
version=1.0.0
|
||||
url="https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/$arch-runtime-for-qemu_${version}_all.deb"
|
||||
url="https://sourceforge.net/projects/deep-wine-runner-wine-download/files/${version}-${arch}-runtime-for-qemu/${arch}-runtime-for-qemu_${version}_all.deb/download"
|
||||
fileName=`basename $url`
|
||||
fileName=`basename $filename`
|
||||
|
||||
if [[ -d $libPath ]]; then
|
||||
echo "已安装 $arch 运行库,按回车键退出"
|
||||
@@ -15,6 +16,7 @@ if [[ -f /tmp/$fileName ]]; then
|
||||
fi
|
||||
aria2c -x 16 -s 16 -c $url -d /tmp -o $fileName
|
||||
sudo apt update
|
||||
sudo apt install qemu-user qemu-user-static binfmt-support -y
|
||||
sudo dpkg -i /tmp/$fileName
|
||||
echo 安装完成,按回车键退出
|
||||
read
|
||||
read
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
arch=armhf
|
||||
libPath=/usr/lib/arm-linux-gnueabihf/
|
||||
version=1.0.0
|
||||
url="https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/$arch-runtime-for-qemu_${version}_all.deb"
|
||||
url="https://sourceforge.net/projects/deep-wine-runner-wine-download/files/${version}-${arch}-runtime-for-qemu/${arch}-runtime-for-qemu_${version}_all.deb/download"
|
||||
fileName=`basename $url`
|
||||
fileName=`basename $filename`
|
||||
|
||||
if [[ -d $libPath ]]; then
|
||||
echo "已安装 $arch 运行库,按回车键退出"
|
||||
@@ -15,6 +16,7 @@ if [[ -f /tmp/$fileName ]]; then
|
||||
fi
|
||||
aria2c -x 16 -s 16 -c $url -d /tmp -o $fileName
|
||||
sudo apt update
|
||||
sudo apt install qemu-user qemu-user-static binfmt-support -y
|
||||
sudo dpkg -i /tmp/$fileName
|
||||
echo 安装完成,按回车键退出
|
||||
read
|
||||
read
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
arch=i386
|
||||
libPath=/usr/lib/i386-linux-gnu/
|
||||
version=1.0.0
|
||||
url="https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/$arch-runtime-for-qemu_${version}_all.deb"
|
||||
url="https://sourceforge.net/projects/deep-wine-runner-wine-download/files/${version}-${arch}-runtime-for-qemu/${arch}-runtime-for-qemu_${version}_all.deb/download"
|
||||
fileName=`basename $url`
|
||||
fileName=`basename $filename`
|
||||
|
||||
if [[ -d $libPath ]]; then
|
||||
echo "已安装 $arch 运行库,按回车键退出"
|
||||
@@ -15,6 +16,7 @@ if [[ -f /tmp/$fileName ]]; then
|
||||
fi
|
||||
aria2c -x 16 -s 16 -c $url -d /tmp -o $fileName
|
||||
sudo apt update
|
||||
sudo apt install qemu-user qemu-user-static binfmt-support -y
|
||||
sudo dpkg -i /tmp/$fileName
|
||||
echo 安装完成,按回车键退出
|
||||
read
|
||||
read
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
arch=mips64el
|
||||
libPath=/usr/lib/mips64el-linux-gnuabi64
|
||||
version=1.0.0
|
||||
url="https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/$arch-runtime-for-qemu_${version}_all.deb"
|
||||
url="https://sourceforge.net/projects/deep-wine-runner-wine-download/files/${version}-${arch}-runtime-for-qemu/${arch}-runtime-for-qemu_${version}_all.deb/download"
|
||||
fileName=`basename $url`
|
||||
fileName=`basename $filename`
|
||||
|
||||
if [[ -d $libPath ]]; then
|
||||
echo "已安装 $arch 运行库,按回车键退出"
|
||||
@@ -15,6 +16,7 @@ if [[ -f /tmp/$fileName ]]; then
|
||||
fi
|
||||
aria2c -x 16 -s 16 -c $url -d /tmp -o $fileName
|
||||
sudo apt update
|
||||
sudo apt install qemu-user qemu-user-static binfmt-support -y
|
||||
sudo dpkg -i /tmp/$fileName
|
||||
echo 安装完成,按回车键退出
|
||||
read
|
||||
read
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
arch=ppc64el
|
||||
libPath=/usr/lib/powerpc64le-linux-gnu/
|
||||
version=1.0.0
|
||||
url="https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/$arch-runtime-for-qemu_${version}_all.deb"
|
||||
url="https://sourceforge.net/projects/deep-wine-runner-wine-download/files/${version}-${arch}-runtime-for-qemu/${arch}-runtime-for-qemu_${version}_all.deb/download"
|
||||
fileName=`basename $url`
|
||||
fileName=`basename $filename`
|
||||
|
||||
if [[ -d $libPath ]]; then
|
||||
echo "已安装 $arch 运行库,按回车键退出"
|
||||
@@ -15,6 +16,7 @@ if [[ -f /tmp/$fileName ]]; then
|
||||
fi
|
||||
aria2c -x 16 -s 16 -c $url -d /tmp -o $fileName
|
||||
sudo apt update
|
||||
sudo apt install qemu-user qemu-user-static binfmt-support -y
|
||||
sudo dpkg -i /tmp/$fileName
|
||||
echo 安装完成,按回车键退出
|
||||
read
|
||||
read
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
arch=riscv64
|
||||
libPath=/usr/lib/riscv64-linux-gnu/
|
||||
version=1.0.0
|
||||
url="https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/$arch-runtime-for-qemu_${version}_all.deb"
|
||||
url="https://sourceforge.net/projects/deep-wine-runner-wine-download/files/${version}-${arch}-runtime-for-qemu/${arch}-runtime-for-qemu_${version}_all.deb/download"
|
||||
fileName=`basename $url`
|
||||
fileName=`basename $filename`
|
||||
|
||||
if [[ -d $libPath ]]; then
|
||||
echo "已安装 $arch 运行库,按回车键退出"
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
arch=s390x
|
||||
libPath=/usr/lib/s390x-linux-gnu/
|
||||
version=1.0.0
|
||||
url="https://code.gitlink.org.cn/gfdgd_xi/runtime-for-qemu/raw/branch/master/$arch-runtime-for-qemu_${version}_all.deb"
|
||||
url="https://sourceforge.net/projects/deep-wine-runner-wine-download/files/${version}-${arch}-runtime-for-qemu/${arch}-runtime-for-qemu_${version}_all.deb/download"
|
||||
fileName=`basename $url`
|
||||
fileName=`basename $filename`
|
||||
|
||||
if [[ -d $libPath ]]; then
|
||||
echo "已安装 $arch 运行库,按回车键退出"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.1.0
|
||||
# 更新时间:2022年10月05日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -13,20 +13,31 @@
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import updatekiller
|
||||
import req as requests
|
||||
try:
|
||||
sourcesList = [
|
||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/list.json",
|
||||
"http://gfdgdxi.msns.cn/wine-runner-list/vb/list.json"
|
||||
"http://vb.wine-runner.gfdgdxi.top/list.json",
|
||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/list.json"
|
||||
]
|
||||
netList = json.loads(requests.get().text)
|
||||
change = False
|
||||
for i in sourcesList:
|
||||
try:
|
||||
netList = json.loads(requests.get(i).text)
|
||||
change = True
|
||||
break
|
||||
except:
|
||||
pass
|
||||
if not change:
|
||||
netList = json.loads(requests.get(sourcesList[0]).text)
|
||||
except:
|
||||
print("使用离线列表")
|
||||
netList = [
|
||||
["Visual Basic 1(DOS application)", "https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/vbrun100.exe", "vbrun100.exe"],
|
||||
["Visual Basic 2(DOS application)", "https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/vbrun200.exe", "vbrun200.exe"],
|
||||
["Visual Basic 3", "https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/vb3run.exe", "vb3run.exe"],
|
||||
["Visual Basic 4", "https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/vb4run.exe", "vb4run.exe"],
|
||||
["Visual Basic 6", "https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vb/vbrun60sp4.exe", "vbrun60sp4.exe"]
|
||||
["Visual Basic 1", "http://vb.wine-runner.gfdgdxi.top/vbrun100.exe", "vbrun100.exe"],
|
||||
["Visual Basic 2", "http://vb.wine-runner.gfdgdxi.top/vbrun200.exe", "vbrun200.exe"],
|
||||
["Visual Basic 3", "http://vb.wine-runner.gfdgdxi.top/vb3run.exe", "vb3run.exe"],
|
||||
["Visual Basic 4", "http://vb.wine-runner.gfdgdxi.top/vb4run.exe", "vb4run.exe"],
|
||||
["Visual Basic 6", "http://vb.wine-runner.gfdgdxi.top/vbrun60sp4.exe", "vbrun60sp4.exe"]
|
||||
]
|
||||
def Download(wineBotton: str, id: int, wine: str) -> int:
|
||||
try:
|
||||
@@ -38,7 +49,7 @@ def Download(wineBotton: str, id: int, wine: str) -> int:
|
||||
|
||||
if __name__ == "__main__":
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print("作者:gfdgd xi")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装 Visual Basic Runtime")
|
||||
sys.exit()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 作者:gfdgd xi
|
||||
# 版本:2.1.0
|
||||
# 更新时间:2022年08月25日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
@@ -13,16 +13,27 @@
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import updatekiller
|
||||
import req as requests
|
||||
try:
|
||||
sourcesList = [
|
||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vscpp/list.json",
|
||||
"http://gfdgdxi.msns.cn/wine-runner-list/vscpp/list.json"
|
||||
"http://vcpp.wine-runner.gfdgdxi.top/list.json",
|
||||
"https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vscpp/list.json"
|
||||
]
|
||||
netList = json.loads(requests.get(sourcesList[0]).text)
|
||||
change = False
|
||||
for i in sourcesList:
|
||||
try:
|
||||
netList = json.loads(requests.get(i).text)
|
||||
change = True
|
||||
break
|
||||
except:
|
||||
pass
|
||||
if not change:
|
||||
netList = json.loads(requests.get(sourcesList[0]).text)
|
||||
except:
|
||||
print("使用离线列表")
|
||||
netList = [
|
||||
["VC6 运行库", "https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vscpp/VC6RedistSetup_deu.exe", "VC6RedistSetup_deu.exe"],
|
||||
["VC6 运行库", "http://vcpp.wine-runner.gfdgdxi.top/VC6RedistSetup_deu.exe", "VC6RedistSetup_deu.exe"],
|
||||
["2005 Service Pack 1 Redistributable Package MFC 安全更新", "https://download.microsoft.com/download/4/A/2/4A22001F-FA3B-4C13-BF4E-42EC249D51C4/vcredist_x86.EXE", "vcredist05_x86.exe"],
|
||||
["2008 (VC++ 9.0) SP1 (不再支持) X86", "https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x86.exe", "vcredist08_x86.exe"],
|
||||
["2008 (VC++ 9.0) SP1 (不再支持) X64", "https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x64.exe", "vcredist08_x86.exe"],
|
||||
@@ -46,7 +57,7 @@ def Download(wineBotton: str, id: int, wine: str) -> int:
|
||||
|
||||
if __name__ == "__main__":
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print("作者:gfdgd xi")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装 Visual Studio C++")
|
||||
sys.exit()
|
||||
|
||||