Compare commits
1 Commits
0.6.1
...
799185a132
Author | SHA1 | Date | |
---|---|---|---|
|
799185a132 |
358
README.md
358
README.md
@@ -8,28 +8,28 @@
|
||||
<img src="image/handbook/auto_install.png" alt="WineHelper GUI" width="80%">
|
||||
</p>
|
||||
|
||||
## Основные возможности
|
||||
<h2>Основные возможности</h2>
|
||||
|
||||
* **Простая установка**: Устанавливайте Windows-приложения с помощью готовых скриптов, как в автоматическом, так и в ручном режиме.
|
||||
* **Изолированные окружения**: Каждое приложение устанавливается в свой собственный, изолированный префикс, что предотвращает конфликты.
|
||||
* **Управление версиями Wine**: Легко переключайтесь между различными версиями Wine и Proton для достижения наилучшей совместимости.
|
||||
* **Графический и консольный интерфейсы**: Используйте удобный GUI для повседневных задач или мощный CLI для автоматизации.
|
||||
* **Резервное копирование**: Создавайте и восстанавливайте полные резервные копии ваших префиксов.
|
||||
* **Встроенные утилиты**: Быстрый доступ к `winecfg`, `regedit`, `Winetricks` и другим инструментам для каждого префикса.
|
||||
|
||||
---
|
||||
<ul>
|
||||
<li><b>Простая установка</b>: Устанавливайте Windows-приложения с помощью готовых скриптов, как в автоматическом, так и в ручном режиме.</li>
|
||||
<li><b>Изолированные окружения</b>: Каждое приложение устанавливается в свой собственный, изолированный префикс, что предотвращает конфликты.</li>
|
||||
<li><b>Управление версиями Wine</b>: Легко переключайтесь между различными версиями Wine и Proton для достижения наилучшей совместимости.</li>
|
||||
<li><b>Графический и консольный интерфейсы</b>: Используйте удобный GUI для повседневных задач или мощный CLI для автоматизации.</li>
|
||||
<li><b>Резервное копирование</b>: Создавайте и восстанавливайте полные резервные копии ваших префиксов.</li>
|
||||
<li><b>Встроенные утилиты</b>: Быстрый доступ к <code>winecfg</code>, <code>regedit</code>, <code>Winetricks</code> и другим инструментам для каждого префикса.</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<!-- Описание установки WineHelper-->
|
||||
<details>
|
||||
<summary style="font-size: 35px; font-weight: bold;">Установка</summary>
|
||||
|
||||
```
|
||||
$ su -
|
||||
<pre><code> $ su -
|
||||
# apt-get update && apt-get dist-upgrade
|
||||
# apt-get install winehelper
|
||||
# exit
|
||||
```
|
||||
</code></pre>
|
||||
</details>
|
||||
|
||||
|
||||
@@ -37,160 +37,162 @@
|
||||
<details>
|
||||
<summary style="font-size: 35px; font-weight: bold;">Использование WineHelper (CLI)</summary>
|
||||
|
||||
### Список приложений для установки
|
||||
<h3>Список приложений для установки</h3>
|
||||
|
||||
Вывод списка приложений, доступных к установке:
|
||||
```
|
||||
$ winehelper install list
|
||||
```
|
||||
или сокращенная команда:
|
||||
```
|
||||
$ winehelper -i
|
||||
```
|
||||
<p>Вывод списка приложений, доступных к установке:</p>
|
||||
<pre><code> $ winehelper install list
|
||||
</code></pre>
|
||||
<p>или сокращенная команда:</p>
|
||||
<pre><code> $ winehelper -i
|
||||
</code></pre>
|
||||
|
||||
### Запуск установки приложений
|
||||
<h3>Запуск установки приложений</h3>
|
||||
|
||||
Скрипты установки разделены на два типа:
|
||||
<p>Скрипты установки разделены на два типа:</p>
|
||||
|
||||
1. **Список программ с возможностью автоматической установки** — содержит полностью автоматизированные скрипты установок программ у которыx есть дистрибутивы (установщики) в свободном доступе.
|
||||
<ol>
|
||||
<li><b>Список программ с возможностью автоматической установки</b> — содержит полностью автоматизированные скрипты установок программ у которыx есть дистрибутивы (установщики) в свободном доступе.
|
||||
Процесс полностью автоматизирован.
|
||||
Пример:
|
||||
```
|
||||
$ winehelper install spravki-bk
|
||||
```
|
||||
<pre><code> $ winehelper install spravki-bk
|
||||
</code></pre>
|
||||
или сокращенная команда:
|
||||
```
|
||||
$ winehelper -i spravki-bk
|
||||
```
|
||||
2. **Список программ с возможностью установки из существующего дистрибутива** — содержит скрипты установок для программ, которых нет в свободном доступе.
|
||||
<pre><code> $ winehelper -i spravki-bk
|
||||
</code></pre>
|
||||
</li>
|
||||
<li><b>Список программ с возможностью установки из существующего дистрибутива</b> — содержит скрипты установок для программ, которых нет в свободном доступе.
|
||||
Пример:
|
||||
```
|
||||
$ winehelper install is-record-station "/путь/до/установочного_файла"
|
||||
```
|
||||
<pre><code> $ winehelper install is-record-station "/путь/до/установочного_файла"
|
||||
</code></pre>
|
||||
или сокращенная команда:
|
||||
```
|
||||
$ winehelper -i is-record-station "/путь/до/установочного_файла"
|
||||
```
|
||||
<pre><code> $ winehelper -i is-record-station "/путь/до/установочного_файла"
|
||||
</code></pre>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
### Процесс установки приложений
|
||||
<h3>Процесс установки приложений</h3>
|
||||
|
||||
При первом запуске **WineHelper** проверяются и при необходимости устанавливаются дополнительные зависимости (запрашиваются права root).
|
||||
<p>При первом запуске <b>WineHelper</b> проверяются и при необходимости устанавливаются дополнительные зависимости (запрашиваются права root).</p>
|
||||
|
||||
Процесс установки приложений:
|
||||
1. Отображаются лицензионные соглашения на сторонние компоненты. Для продолжения введите **y** и нажмите **Enter**.
|
||||
2. Далее процесс проходит автоматически с подробным выводом в терминал:
|
||||
- Загрузка и проверка хэш-суммы нужной версии Wine.
|
||||
- Загрузка и проверка хэш-суммы базового префикса.
|
||||
- Инициализация и подготовка префикса.
|
||||
- Скачивание дистрибутива (установщика) программы с официального сайта (если применимо).
|
||||
- Установка приложения.
|
||||
- Создание .desktop-файла (ярлыка) на рабочем столе и в меню приложений.
|
||||
<p>Процесс установки приложений:</p>
|
||||
<ol>
|
||||
<li>Отображаются лицензионные соглашения на сторонние компоненты. Для продолжения введите <b>y</b> и нажмите <b>Enter</b>.</li>
|
||||
<li>Далее процесс проходит автоматически с подробным выводом в терминал:
|
||||
<ul>
|
||||
<li>Загрузка и проверка хэш-суммы нужной версии Wine.</li>
|
||||
<li>Загрузка и проверка хэш-суммы базового префикса.</li>
|
||||
<li>Инициализация и подготовка префикса.</li>
|
||||
<li>Скачивание дистрибутива (установщика) программы с официального сайта (если применимо).</li>
|
||||
<li>Установка приложения.</li>
|
||||
<li>Создание .desktop-файла (ярлыка) на рабочем столе и в меню приложений.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
Если устанавливаемое приложение требует дополнительных действий от пользователя (ввод лицензии, настройка), это будет явно указано в терминале.
|
||||
<p>Если устанавливаемое приложение требует дополнительных действий от пользователя (ввод лицензии, настройка), это будет явно указано в терминале.</p>
|
||||
|
||||
### Удаление префикса с приложением
|
||||
<h3>Удаление префикса с приложением</h3>
|
||||
|
||||
Для удаления префикса выполните команду:
|
||||
```
|
||||
$ winehelper remove-prefix [имя_префикса]
|
||||
```
|
||||
Если имя префикса не указано, будет выведен список существующих префиксов:
|
||||
```
|
||||
0 - Отмена
|
||||
<p>Для удаления префикса выполните команду:</p>
|
||||
<pre><code> $ winehelper remove-prefix [имя_префикса]
|
||||
</code></pre>
|
||||
<p>Если имя префикса не указано, будет выведен список существующих префиксов:</p>
|
||||
<pre><code> 0 - Отмена
|
||||
1 - Префикс1
|
||||
2 - Префикс2
|
||||
Выберите префикс (0-2):
|
||||
```
|
||||
Необходимо указать номер удаляемого префикса и нажать клавишу **Enter**.Далее потребуется подтвердить удаление префикса вводом **y**.
|
||||
</code></pre>
|
||||
<p>Необходимо указать номер удаляемого префикса и нажать клавишу <b>Enter</b>.Далее потребуется подтвердить удаление префикса вводом <b>y</b>.</p>
|
||||
|
||||
В результате будут удалены:
|
||||
- сам префикс;
|
||||
- установленное ПО;
|
||||
- desktop-файлы (ярлыки для установленного ПО в префиксе).
|
||||
<p>В результате будут удалены:</p>
|
||||
<ul>
|
||||
<li>сам префикс;</li>
|
||||
<li>установленное ПО;</li>
|
||||
<li>desktop-файлы (ярлыки для установленного ПО в префиксе).</li>
|
||||
</ul>
|
||||
|
||||
###
|
||||
<h3>Резервное копирование префикса</h3>
|
||||
|
||||
Команда создания резервной копии префикса:
|
||||
```
|
||||
$ winehelper backup-prefix [имя_префикса]
|
||||
```
|
||||
Если имя префикса не указано, будет выведен список существующих префиксов:
|
||||
```
|
||||
0 - Отмена
|
||||
<p>Команда создания резервной копии префикса:</p>
|
||||
<pre><code> $ winehelper backup-prefix [имя_префикса]
|
||||
</code></pre>
|
||||
<p>Если имя префикса не указано, будет выведен список существующих префиксов:</p>
|
||||
<pre><code> 0 - Отмена
|
||||
1 - Префикс1
|
||||
2 - Префикс2
|
||||
Выберите префикс (0-2):
|
||||
```
|
||||
Необходимо указать номер удаляемого префикса и нажать клавишу **Enter**.
|
||||
После выбора префикса автоматически:
|
||||
- Создаётся копия префикса.
|
||||
- Внутри префикса сохраняется используемая версия WINE.
|
||||
- Копируются иконки для ярлыков (.desktop-файлов).
|
||||
- Сохраняется информация о ярлыках (.desktop-файлах) для будущей распаковки/восстановления префикса.
|
||||
- Резервная копия сохраняется на рабочем столе с именем: {{path|backup_имя_префикса_дата_создания.whpack}}
|
||||
</code></pre>
|
||||
<p>Необходимо указать номер удаляемого префикса и нажать клавишу <b>Enter</b>.<br>
|
||||
После выбора префикса автоматически:</p>
|
||||
<ul>
|
||||
<li>Создаётся копия префикса.</li>
|
||||
<li>Внутри префикса сохраняется используемая версия WINE.</li>
|
||||
<li>Копируются иконки для ярлыков (.desktop-файлов).</li>
|
||||
<li>Сохраняется информация о ярлыках (.desktop-файлах) для будущей распаковки/восстановления префикса.</li>
|
||||
<li>Резервная копия сохраняется на рабочем столе с именем: <code>backup_имя_префикса_дата_создания.whpack</code></li>
|
||||
</ul>
|
||||
|
||||
### Восстановление префикса из резервной копии
|
||||
<h3>Восстановление префикса из резервной копии</h3>
|
||||
|
||||
Команда восстановления префикса из резервной копии:
|
||||
```
|
||||
$ winehelper restore-prefix "путь/до/файла.whpack"
|
||||
```
|
||||
Восстановление префикса не требует подключение к интернету и происходит в автоматическом режиме:
|
||||
- Распаковка префикса.
|
||||
- Восстановление версии WINE.
|
||||
- Восстановление ярлыков (.desktop-файdлов).
|
||||
<p>Команда восстановления префикса из резервной копии:</p>
|
||||
<pre><code> $ winehelper restore-prefix "путь/до/файла.whpack"
|
||||
</code></pre>
|
||||
<p>Восстановление префикса не требует подключение к интернету и происходит в автоматическом режиме:</p>
|
||||
<ul>
|
||||
<li>Распаковка префикса.</li>
|
||||
<li>Восстановление версии WINE.</li>
|
||||
<li>Восстановление ярлыков (.desktop-файdлов).</li>
|
||||
</ul>
|
||||
|
||||
После завершения восстановления приложение будет доступно для запуска через меню или рабочий стол.
|
||||
<p>После завершения восстановления приложение будет доступно для запуска через меню или рабочий стол.</p>
|
||||
|
||||
### Использование команд WINE в WineHelper
|
||||
<h3>Использование команд WINE в WineHelper</h3>
|
||||
|
||||
WineHelper предоставляет доступ к основным инструментам WINE:
|
||||
```
|
||||
winehelper winefile # запуск файлового менеджера wine
|
||||
<p>WineHelper предоставляет доступ к основным инструментам WINE:</p>
|
||||
<pre><code> winehelper winefile # запуск файлового менеджера wine
|
||||
winehelper winecfg # запуск wine конфигуратора для префикса
|
||||
winehelper winereg # запуск редактора реестра для префикса
|
||||
winehelper wineconsole # запуск терминала wine (cmd.exe)
|
||||
winehelper winetricks # запуск графического интерфейса winetricks
|
||||
winehelper winetricks [компонент] # автоматическая установка дополнительного компонента в префикс
|
||||
```
|
||||
После выполнения любой из вышеперечисленных команд отображается список существующих префиксов:
|
||||
```
|
||||
0 - Отмена
|
||||
</code></pre>
|
||||
<p>После выполнения любой из вышеперечисленных команд отображается список существующих префиксов:</p>
|
||||
<pre><code>0 - Отмена
|
||||
1 - Префикс1
|
||||
2 - Префикс2
|
||||
Выберите префикс (0-2):
|
||||
```
|
||||
Команда выполняется в выбранном вами префиксе.
|
||||
</code></pre>
|
||||
<p>Команда выполняется в выбранном вами префиксе.</p>
|
||||
|
||||
### Запуск стороннего *.exe файла в WineHelper
|
||||
<h3>Запуск стороннего *.exe файла в WineHelper</h3>
|
||||
|
||||
Есть два варианта:
|
||||
1. В командной строке выполнить команду:
|
||||
```
|
||||
$ winehelper "путь/до/файла.exe"
|
||||
<p>Есть два варианта:</p>
|
||||
<ol>
|
||||
<li>В командной строке выполнить команду:
|
||||
<pre><code> $ winehelper "путь/до/файла.exe"
|
||||
0 - Отмена
|
||||
1 - Префикс1
|
||||
2 - Префикс2
|
||||
Выберите префикс (0-2):
|
||||
```
|
||||
Файл будет запущен в выбранном префиксе.
|
||||
|
||||
2. С помощью файлового менеджера WINE:'''
|
||||
```
|
||||
$ winehelper winefile
|
||||
</code></pre>
|
||||
<p>Файл будет запущен в выбранном префиксе.</p>
|
||||
</li>
|
||||
<li>С помощью файлового менеджера WINE:
|
||||
<pre><code> $ winehelper winefile
|
||||
0 - Отмена
|
||||
1 - Префикс1
|
||||
2 - Префикс2
|
||||
Выберите префикс (0-2):
|
||||
```
|
||||
В файловом менеджере найти и запустить нужный exe-файл.
|
||||
</code></pre>
|
||||
<p>В файловом менеджере найти и запустить нужный exe-файл.</p>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
### Дополнительные команды
|
||||
<h3>Дополнительные команды</h3>
|
||||
|
||||
```
|
||||
$ winehelper help
|
||||
```
|
||||
Вывод:
|
||||
<pre><code> $ winehelper help
|
||||
</code></pre>
|
||||
<p>Вывод:</p>
|
||||
<pre>
|
||||
Использование: winehelper [команда]
|
||||
|
||||
@@ -225,9 +227,9 @@ WineHelper предоставляет доступ к основным инст
|
||||
<details>
|
||||
<summary style="font-size: 35px; font-weight: bold;">Использование WineHelper (GUI)</summary>
|
||||
|
||||
### Вкладки «Автоматическая установка» и «Ручная установка»
|
||||
<h3>Вкладки «Автоматическая установка» и «Ручная установка»</h3>
|
||||
|
||||
При использовании графического интерфейса списки приложений расположены во вкладках **Автоматическая установка** и **Ручная установка**.
|
||||
<p>При использовании графического интерфейса списки приложений расположены во вкладках <b>Автоматическая установка</b> и <b>Ручная установка</b>.</p>
|
||||
|
||||
<div align="center">
|
||||
<img src="image/handbook/auto_install.png">
|
||||
@@ -239,30 +241,30 @@ WineHelper предоставляет доступ к основным инст
|
||||
<p><em>Вкладка "Ручная установка"</em></p>
|
||||
</div>
|
||||
|
||||
Для поиска нужной программы введите название в поле поиска.
|
||||
<p>Для поиска нужной программы введите название в поле поиска.</p>
|
||||
|
||||
<div align="center">
|
||||
<img src="image/handbook/search.png">
|
||||
<p><em>Поле поиска</em></p>
|
||||
</div>
|
||||
|
||||
При выборе программы из списка слева, в правой части окна отображается подробная информация о ней: описание, иконка и ссылка на официальный сайт.
|
||||
<p>При выборе программы из списка слева, в правой части окна отображается подробная информация о ней: описание, иконка и ссылка на официальный сайт.</p>
|
||||
|
||||
<div align="center">
|
||||
<img src="image/handbook/info.png">
|
||||
<p><em>Информация о выбранной программе</em></p>
|
||||
</div>
|
||||
|
||||
Для установки программы нажмите кнопку **Установить**.
|
||||
<p>Для установки программы нажмите кнопку <b>Установить</b>.</p>
|
||||
|
||||
Для **ручной установки** дополнительно потребуется указать путь к установочному файлу (`.exe` или `.msi`), который вы скачали самостоятельно.
|
||||
<p>Для <b>ручной установки</b> дополнительно потребуется указать путь к установочному файлу (<code>.exe</code> или <code>.msi</code>), который вы скачали самостоятельно.</p>
|
||||
|
||||
<div align="center">
|
||||
<img src="image/handbook/manual_install_1.png">
|
||||
<p><em>Вкладка "Ручная установка" с указанием пути к дистрибутиву</em></p>
|
||||
</div>
|
||||
|
||||
После нажатия кнопки **Установить** появится окно с лицензионным соглашением. После его принятия начнется процесс установки, который будет подробно логироваться в отдельном окне.
|
||||
<p>После нажатия кнопки <b>Установить</b> появится окно с лицензионным соглашением. После его принятия начнется процесс установки, который будет подробно логироваться в отдельном окне.</p>
|
||||
|
||||
<div align="center">
|
||||
<img src="image/handbook/license_agreement.png">
|
||||
@@ -271,91 +273,105 @@ WineHelper предоставляет доступ к основным инст
|
||||
|
||||
<div align="center">
|
||||
<img src="image/handbook/log.png">
|
||||
<p><em>Окно установки с логом</em></м</em></p>
|
||||
<p><em>Окно установки с логом</em></p>
|
||||
</div>
|
||||
|
||||
После установки приложения и нажатия кнопки **Закрыть** в окне установки приложения, ярлык приложения появится в списке установленных приложений во вкладке **Установленные** а также в меню приложений и на рабочем столе если это разрешено в рабочем окружении.
|
||||
<p>После установки приложения и нажатия кнопки <b>Закрыть</b> в окне установки приложения, ярлык приложения появится в списке установленных приложений во вкладке <b>Установленные</b> а также в меню приложений и на рабочем столе если это разрешено в рабочем окружении.</p>
|
||||
|
||||
### Вкладка «Установленные»
|
||||
<h3>Вкладка «Установленные»</h3>
|
||||
|
||||
На этой вкладке отображаются все приложения, которые были установлены с помощью WineHelper.
|
||||
<p>На этой вкладке отображаются все приложения, которые были установлены с помощью WineHelper.</p>
|
||||
|
||||
<div align="center">
|
||||
<img src="image/handbook/installed.png">
|
||||
<p><em>Вкладка "Установленные"</em></p>
|
||||
</div>
|
||||
|
||||
При выборе приложения в правой панели становятся доступны следующие действия:
|
||||
* **Запустить/Остановить**: Запускает или останавливает/закрывает выбранное приложение.
|
||||
* **Создать лог запуска программы**: Запускает приложение в режиме отладки. После закрытия приложения в вашем домашнем каталоге будет создан файл `winehelper.log`.
|
||||
* **Создать резервную копию префикса**: Создает полный бэкап префикса приложения (включая версию Wine) в формате `.whpack` на вашем рабочем столе если это разрешено в рабочем окружении.
|
||||
* **Удалить префикс**: Полностью удаляет приложение вместе с его префиксом и всеми связанными ярлыками.
|
||||
<p>При выборе приложения в правой панели становятся доступны следующие действия:</p>
|
||||
<ul>
|
||||
<li><b>Запустить/Остановить</b>: Запускает или останавливает/закрывает выбранное приложение.</li>
|
||||
<li><b>Создать лог запуска программы</b>: Запускает приложение в режиме отладки. После закрытия приложения в вашем домашнем каталоге будет создан файл <code>winehelper.log</code>.</li>
|
||||
<li><b>Создать резервную копию префикса</b>: Создает полный бэкап префикса приложения (включая версию Wine) в формате <code>.whpack</code> на вашем рабочем столе если это разрешено в рабочем окружении.</li>
|
||||
<li><b>Удалить префикс</b>: Полностью удаляет приложение вместе с его префиксом и всеми связанными ярлыками.</li>
|
||||
</ul>
|
||||
|
||||
Также на этой вкладке доступна кнопка **«Восстановить префикс из резервной копии»**, которая позволяет восстановить любое приложение из ранее созданного `.whpack` файла.
|
||||
<p>Также на этой вкладке доступна кнопка <b>«Восстановить префикс из резервной копии»</b>, которая позволяет восстановить любое приложение из ранее созданного <code>.whpack</code> файла.</p>
|
||||
|
||||
<div align="center">
|
||||
<img src="image/handbook/election_installed.png">
|
||||
<p><em>Выбранное приложение во вкладке "Установленные"</em></p>
|
||||
</div>
|
||||
|
||||
Расположения лога запуска программы а также резервной копии префикса можно просмотреть с помощью кнопки **«Открыть папку с логом/резервной копией префикса»** которая появляется автоматически после создания лога или резервной копии.
|
||||
<p>Расположения лога запуска программы а также резервной копии префикса можно просмотреть с помощью кнопки <b>«Открыть папку с логом/резервной копией префикса»</b> которая появляется автоматически после создания лога или резервной копии.</p>
|
||||
|
||||
<div align="center">
|
||||
<img src="image/handbook/folder_log_backup.png">
|
||||
<p><em>Кнопка "Открыть папку с логом/резервной копией префикса"</em></p>
|
||||
</div>
|
||||
|
||||
### Вкладка «Менеджер префиксов»
|
||||
<h3>Вкладка «Менеджер префиксов»</h3>
|
||||
|
||||
Эта вкладка предоставляет мощные инструменты для управления префиксами Wine.
|
||||
<p>Эта вкладка предоставляет мощные инструменты для управления префиксами Wine.</p>
|
||||
|
||||
<div align="center">
|
||||
<img src="image/handbook/prefix_manager.png">
|
||||
<p><em>Вкладка "Менеджер префиксов"</em></p>
|
||||
</div>
|
||||
|
||||
#### Создание нового префикса
|
||||
<h4>Создание нового префикса</h4>
|
||||
|
||||
Нажав кнопку **«Создать новый префикс»**, вы откроете диалог, где можно задать:
|
||||
* **Имя префикса**.
|
||||
* **Разрядность** (32-bit или 64-bit).
|
||||
* **Наполнение** (чистый префикс или с рекомендуемыми библиотеками).
|
||||
* **Версию Wine/Proton** из доступного списка.
|
||||
<p>Нажав кнопку <b>«Создать новый префикс»</b>, вы откроете диалог, где можно задать:</p>
|
||||
<ul>
|
||||
<li><b>Имя префикса</b>.</li>
|
||||
<li><b>Разрядность</b> (32-bit или 64-bit).</li>
|
||||
<li><b>Наполнение</b> (чистый префикс или с рекомендуемыми библиотеками).</li>
|
||||
<li><b>Версию Wine/Proton</b> из доступного списка.</li>
|
||||
</ul>
|
||||
|
||||
<div align="center">
|
||||
<img src="image/handbook/create_prefix.png">
|
||||
<p><em>Диалог создания нового префикса</em></p>
|
||||
</div>
|
||||
|
||||
#### Управление существующим префиксом
|
||||
<h4>Управление существующим префиксом</h4>
|
||||
|
||||
Выбрав префикс из выпадающего списка, вы получаете доступ к панели управления, которая позволяет:
|
||||
<p>Выбрав префикс из выпадающего списка, вы получаете доступ к панели управления, которая позволяет:</p>
|
||||
|
||||
* **Запускать стандартные утилиты Wine**:
|
||||
* `Редактор настроек (winecfg)`
|
||||
* `Редактор реестра (regedit)`
|
||||
* `Удаление программ (uninstaller)`
|
||||
* `Командная строка (cmd)`
|
||||
* `Файловый менеджер (winefile)`
|
||||
* **Управлять компонентами**:
|
||||
* **Менеджер компонентов (Winetricks)**: Удобный интерфейс для установки и переустановки библиотек, шрифтов и настроек.
|
||||
* **Управление Wine/Proton**: Смена версии Wine или Proton для выбранного префикса.
|
||||
* **Управление DXVK/VKD3D**: Установка или удаление конкретных версий DXVK и VKD3D.
|
||||
* **Ассоциации файлов**: Настройка открытия определенных типов файлов (например, `.pdf`, `.docx`) нативными приложениями Linux.
|
||||
* **Включать/выключать ESync и FSync**.
|
||||
* **Устанавливать приложения**: Установить любой `.exe` или `.msi` файл напрямую в выбранный префикс.
|
||||
* **Создавать ярлыки**: Создать ярлык для любого исполняемого файла внутри префикса.
|
||||
* **Удалять префикс** или **создавать из него шаблон**.
|
||||
<ul>
|
||||
<li><b>Запускать стандартные утилиты Wine</b>:
|
||||
<ul>
|
||||
<li><code>Редактор настроек (winecfg)</code></li>
|
||||
<li><code>Редактор реестра (regedit)</code></li>
|
||||
<li><code>Удаление программ (uninstaller)</code></li>
|
||||
<li><code>Командная строка (cmd)</code></li>
|
||||
<li><code>Файловый менеджер (winefile)</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Управлять компонентами</b>:
|
||||
<ul>
|
||||
<li><b>Менеджер компонентов (Winetricks)</b>: Удобный интерфейс для установки и переустановки библиотек, шрифтов и настроек.</li>
|
||||
<li><b>Управление Wine/Proton</b>: Смена версии Wine или Proton для выбранного префикса.</li>
|
||||
<li><b>Управление DXVK/VKD3D</b>: Установка или удаление конкретных версий DXVK и VKD3D.</li>
|
||||
<li><b>Ассоциации файлов</b>: Настройка открытия определенных типов файлов (например, <code>.pdf</code>, <code>.docx</code>) нативными приложениями Linux.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><b>Включать/выключать ESync и FSync</b>.</li>
|
||||
<li><b>Устанавливать приложения</b>: Установить любой <code>.exe</code> или <code>.msi</code> файл напрямую в выбранный префикс.</li>
|
||||
<li><b>Создавать ярлыки</b>: Создать ярлык для любого исполняемого файла внутри префикса.</li>
|
||||
<li><b>Удалять префикс</b> или <b>создавать из него шаблон</b>.</li>
|
||||
</ul>
|
||||
|
||||
Справа отображается подробная информация о конфигурации выбранного префикса.
|
||||
<p>Справа отображается подробная информация о конфигурации выбранного префикса.</p>
|
||||
|
||||
### Вкладка «Справка»
|
||||
<h3>Вкладка «Справка»</h3>
|
||||
|
||||
Содержит полезную информацию о проекте:
|
||||
* **Руководство**: Ссылка на официальную документацию.
|
||||
* **Авторы**: Список разработчиков и участников проекта.
|
||||
* **Лицензия**: Текст лицензии WineHelper и информация о сторонних компонентах.
|
||||
* **История изменений**: Changelog пакета.
|
||||
<p>Содержит полезную информацию о проекте:</p>
|
||||
<ul>
|
||||
<li><b>Руководство</b>: Ссылка на официальную документацию.</li>
|
||||
<li><b>Авторы</b>: Список разработчиков и участников проекта.</li>
|
||||
<li><b>Лицензия</b>: Текст лицензии WineHelper и информация о сторонних компонентах.</li>
|
||||
<li><b>История изменений</b>: Changelog пакета.</li>
|
||||
</ul>
|
||||
|
||||
<div align="center">
|
||||
<img src="image/handbook/help.png">
|
||||
@@ -365,7 +381,9 @@ WineHelper предоставляет доступ к основным инст
|
||||
</details>
|
||||
|
||||
|
||||
### Примечание
|
||||
<h3>Примечание</h3>
|
||||
|
||||
> [!WARNING]
|
||||
> Проект находится на стадии WIP (work in progress)
|
||||
<blockquote>
|
||||
<p><b>[WARNING]</b><br>
|
||||
Проект находится на стадии WIP (work in progress)</p>
|
||||
</blockquote>
|
||||
|
@@ -1,12 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: SCAD Office — это программный комплекс для расчёта строительных конструкций.
|
||||
# info_ru: SCAD Office — это программный комплекс для расчёта строительных конструкций, с дополнением Apache OpenOffice. Apache OpenOffice - пакет офисного программного обеспечения для обработки текстов, электронных таблиц, презентаций, графики, баз данных и многого другого.
|
||||
########################################################################
|
||||
export PROG_URL="https://scadoffice.ru"
|
||||
export WH_WINE_USE="wine_x_tkg_10-0_amd64"
|
||||
export WINEPREFIX="scadoffice"
|
||||
export PROG_NAME="SCAD Office"
|
||||
export PROG_ICON="scadoffice"
|
||||
export BASE_PFX="scadaoffice_pfx_x64_v05"
|
||||
export BASE_PFX="scadaoffice_pfx_x64_v04"
|
||||
export WH_WINDOWS_VER="10"
|
||||
export WINEARCH="win64"
|
||||
export INSTALL_DLL="dotnet20 dotnet48 gdiplus vcrun6sp6 vcrun2005 vcrun2019 d3dx11_42 d3dx11_43 d3dx9 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 d3dcompiler_47 richtx32 riched30 riched20 msxml6"
|
||||
@@ -32,31 +32,33 @@ if [[ -n $2 ]] ; then
|
||||
fi
|
||||
fi
|
||||
|
||||
print_info "Установка дополнительных компонентов..."
|
||||
if [[ $BASE_PFX == "none" ]] ; then
|
||||
print_info "Установка дополнительных компонентов..."
|
||||
|
||||
ADDONS_PACK="${WH_TMP_DIR}/$(basename "$SCADOFFICE_ADDONS_URL")"
|
||||
ADDONS_PATH="${WH_TMP_DIR}/scadoffice_addons"
|
||||
ADDONS_PACK="${WH_TMP_DIR}/$(basename "$SCADOFFICE_ADDONS_URL")"
|
||||
ADDONS_PATH="${WH_TMP_DIR}/scadoffice_addons"
|
||||
|
||||
ADDONS_PATH_REG="${ADDONS_PATH}/REG"
|
||||
ADDONS_PATH_MDAC="${ADDONS_PATH}/mdac64"
|
||||
ADDONS_PATH_OPENSSH="${ADDONS_PATH}/OpenSSH"
|
||||
ADDONS_PATH_REG="${ADDONS_PATH}/REG"
|
||||
ADDONS_PATH_MDAC="${ADDONS_PATH}/mdac64"
|
||||
ADDONS_PATH_OPENSSH="${ADDONS_PATH}/OpenSSH"
|
||||
|
||||
if try_download "$SCADOFFICE_ADDONS_URL" "${ADDONS_PACK}" ; then
|
||||
create_new_dir "${ADDONS_PATH}"
|
||||
unpack "${ADDONS_PACK}" "${ADDONS_PATH}"
|
||||
wine_run regedit "${ADDONS_PATH_REG}"/*.reg
|
||||
if try_download "$SCADOFFICE_ADDONS_URL" "${ADDONS_PACK}" ; then
|
||||
create_new_dir "${ADDONS_PATH}"
|
||||
unpack "${ADDONS_PACK}" "${ADDONS_PATH}"
|
||||
wine_run regedit "${ADDONS_PATH_REG}"/*.reg
|
||||
|
||||
# Установка ODBC
|
||||
rm -fR "$DRIVE_C/Program Files (x86)/Common Files/System"
|
||||
cp -r "${ADDONS_PATH_MDAC}/System" "$DRIVE_C/Program Files (x86)/Common Files/System"
|
||||
cp -r "${ADDONS_PATH_MDAC}"/*.* "$DRIVE_C/windows/system32/"
|
||||
wine_run regedit "${ADDONS_PATH_MDAC}"/*.reg
|
||||
# Установка ODBC
|
||||
rm -fR "$DRIVE_C/Program Files (x86)/Common Files/System"
|
||||
cp -r "${ADDONS_PATH_MDAC}/System" "$DRIVE_C/Program Files (x86)/Common Files/System"
|
||||
cp -r "${ADDONS_PATH_MDAC}"/*.* "$DRIVE_C/windows/system32/"
|
||||
wine_run regedit "${ADDONS_PATH_MDAC}"/*.reg
|
||||
|
||||
# Установка SSH
|
||||
cp -r "${ADDONS_PATH_OPENSSH}" "$DRIVE_C/windows/system32/"
|
||||
# Установка SSH
|
||||
cp -r "${ADDONS_PATH_OPENSSH}" "$DRIVE_C/windows/system32/"
|
||||
|
||||
try_remove_dir "$ADDONS_PATH"
|
||||
try_remove_file "$ADDONS_PACK"
|
||||
try_remove_dir "$ADDONS_PATH"
|
||||
try_remove_file "$ADDONS_PACK"
|
||||
fi
|
||||
fi
|
||||
|
||||
if try_download "https://scadhelp.ru/files/10/download" "${AUTOINSTALL_EXE}" ; then
|
||||
|
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Ручная установка дополнений для T-FLEX CAD 17 или 18
|
||||
# info_ru: Ручная установка дополнений для T-FLEX DOCS 17 или 18
|
||||
########################################################################
|
||||
export PROG_NAME="T-FLEX CAD 17/18"
|
||||
export PROG_ICON="tflexcad"
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
# info_ru: Ручная установка дополнений для T-FLEX DOCS 17 или 18
|
||||
# info_ru: Ручная установка дополнений для T-FLEX CAD 17 или 18
|
||||
########################################################################
|
||||
export PROG_NAME="T-FLEX DOCS 17/18"
|
||||
export PROG_NAME="T-FLEX CAD 17/18"
|
||||
export PROG_ICON="tflexcad"
|
||||
export WH_WINE_USE="wine_wh_tflex_10-9_amd64"
|
||||
export BASE_PFX="tflex_pfx_x64_v03"
|
||||
|
@@ -208,11 +208,10 @@ dfb44ce5e5af7dba1686932c63d6b05e5dd6919a21c78130a7d1d0271b93958e audiorecstatio
|
||||
# create with wine_x_tkg_10-0_i586 (universal user: xuser)
|
||||
# winetricks arial dotnet7 dotnetdesktop7 renderer=gdi
|
||||
|
||||
8c6312f2e4e846a98ca4a87fc90ee1917eb28d4caaddde040fb4d2dd05f8c0fe scadaoffice_pfx_x64_v05.tar.xz
|
||||
# create with wine_x_tkg_10-0_amd64 (universal user: xuser)
|
||||
4fa93434c5c15440014357323257ddcee7d28b94ad6a56bd6f5a08b33ae4c3cb scadaoffice_pfx_x64_v04.tar.xz
|
||||
# create with wine-8.8-staging-amd64
|
||||
# winetricks dotnet48 gdiplus vcrun6sp6 vcrun2005 vcrun2019 d3dx11_42 d3dx11_43 d3dx9 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 d3dcompiler_47 richtx32 riched30 riched20 msxml6 dotnet20
|
||||
|
||||
# addons with ODBC, SSH, *.reg
|
||||
# + addons with ODBC, SSH, *.reg
|
||||
0f4ef434df07bc338ae308af44330590eaa1d9c94b64850514e55b960642d0eb scadoffice_addons_v02.tar.xz
|
||||
|
||||
ef7e8f1ba785d48e4ea287feed5b79bd630d423e59efadb43da9653adefef218 ais-lpu-client_pfx_x86_v01.tar.xz
|
||||
|
@@ -163,7 +163,6 @@ check_variables WH_WINDOWS_VER "10"
|
||||
# check_variables WH_USE_GSTREAMER "1"
|
||||
# check_variables WH_USE_D3D_EXTRAS "1"
|
||||
check_variables WH_USE_SHADER_CACHE "1"
|
||||
check_variables WH_USE_MESA_GL_OVERRIDE "0"
|
||||
check_variables WH_USE_WINE_DXGI "0"
|
||||
check_variables WH_DLL_INSTALL ""
|
||||
|
||||
|
@@ -13,7 +13,7 @@ from functools import partial
|
||||
from PyQt5.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, QPushButton, QLabel, QTabWidget, QTabBar,
|
||||
QTextEdit, QFileDialog, QMessageBox, QLineEdit, QCheckBox, QStackedWidget, QScrollArea, QFormLayout, QGroupBox, QRadioButton, QComboBox,
|
||||
QListWidget, QListWidgetItem, QGridLayout, QFrame, QDialog, QTextBrowser, QInputDialog, QDialogButtonBox, QSystemTrayIcon, QMenu)
|
||||
from PyQt5.QtCore import Qt, QProcess, QSize, QTimer, QProcessEnvironment, QPropertyAnimation, QEasingCurve, pyqtSignal
|
||||
from PyQt5.QtCore import Qt, QProcess, QSize, QTimer, QProcessEnvironment, QPropertyAnimation, QEasingCurve
|
||||
from PyQt5.QtGui import QIcon, QFont, QTextCursor, QPixmap, QPainter, QCursor
|
||||
from PyQt5.QtNetwork import QLocalServer, QLocalSocket
|
||||
|
||||
@@ -428,8 +428,6 @@ class WinetricksManagerDialog(QDialog):
|
||||
"Для переустановки компонента: Выделите его в списке и нажмите кнопку «Переустановить»."
|
||||
)
|
||||
|
||||
installation_complete = pyqtSignal()
|
||||
|
||||
def __init__(self, prefix_path, winetricks_path, parent=None, wine_executable=None):
|
||||
super().__init__(parent)
|
||||
self.prefix_path = prefix_path
|
||||
@@ -619,33 +617,12 @@ class WinetricksManagerDialog(QDialog):
|
||||
self._log(f"--- Предупреждение: не удалось прочитать {log_path}: {e} ---")
|
||||
return installed_verbs
|
||||
|
||||
def _parse_winetricks_list_output(self, output, installed_verbs, list_widget, category):
|
||||
def _parse_winetricks_list_output(self, output, installed_verbs, list_widget):
|
||||
"""Парсит вывод 'winetricks list' и заполняет QListWidget."""
|
||||
# Regex, который обрабатывает строки как с префиксом статуса '[ ]', так и без него.
|
||||
# 1. `(?:\[(.)]\s+)?` - опциональная группа для статуса (напр. '[x]').
|
||||
# 2. `([^\s]+)` - имя компонента (без пробелов).
|
||||
# 3. `(.*)` - оставшаяся часть строки (описание).
|
||||
|
||||
# Определяем шаблоны для фильтрации на основе категории
|
||||
dlls_blacklist_pattern = None
|
||||
fonts_blacklist_pattern = None
|
||||
settings_blacklist_pattern = None
|
||||
|
||||
if category == 'dlls':
|
||||
# Исключаем d3d*, directx9, dont_use, dxvk*, vkd3d*, galliumnine, faudio*, Foundation
|
||||
dlls_blacklist_pattern = re.compile(
|
||||
r'^(d3d|directx9|dont_use|dxvk|vkd3d|galliumnine|faudio|foundation)', re.IGNORECASE
|
||||
)
|
||||
elif category == 'fonts':
|
||||
fonts_blacklist_pattern = re.compile(
|
||||
r'^(dont_use)', re.IGNORECASE
|
||||
)
|
||||
elif category == 'settings':
|
||||
# Исключаем vista*, alldlls, autostart_*, bad*, good*, win*, videomemory*, vd=*, isolate_home
|
||||
settings_blacklist_pattern = re.compile(
|
||||
r'^(vista|alldlls|autostart_|bad|good|win|videomemory|vd=|isolate_home)', re.IGNORECASE
|
||||
)
|
||||
|
||||
line_re = re.compile(r"^\s*(?:\[(.)]\s+)?([^\s]+)\s*(.*)")
|
||||
found_items = False
|
||||
|
||||
@@ -666,14 +643,6 @@ class WinetricksManagerDialog(QDialog):
|
||||
if '/' in name or '\\' in name or name.lower() in ('executing', 'using', 'warning:') or name.endswith(':'):
|
||||
continue
|
||||
|
||||
# Применяем фильтры для черных списков
|
||||
if dlls_blacklist_pattern and dlls_blacklist_pattern.search(name):
|
||||
continue
|
||||
if fonts_blacklist_pattern and fonts_blacklist_pattern.search(name):
|
||||
continue
|
||||
if settings_blacklist_pattern and settings_blacklist_pattern.search(name):
|
||||
continue
|
||||
|
||||
is_checked = name in installed_verbs
|
||||
item_text = f"{name.ljust(27)}{description.strip()}"
|
||||
item = QListWidgetItem(item_text)
|
||||
@@ -712,7 +681,7 @@ class WinetricksManagerDialog(QDialog):
|
||||
self._log("--------------------------------------------------", "red")
|
||||
else:
|
||||
installed_verbs = self._parse_winetricks_log()
|
||||
found_items = self._parse_winetricks_list_output(output, installed_verbs, list_widget, category)
|
||||
found_items = self._parse_winetricks_list_output(output, installed_verbs, list_widget)
|
||||
|
||||
if from_cache is None: # Только если мы не читали из кэша
|
||||
# Сохраняем успешный результат в кэш
|
||||
@@ -887,7 +856,6 @@ class WinetricksManagerDialog(QDialog):
|
||||
# Перезагружаем данные, чтобы обновить состояние
|
||||
self.initial_states.clear()
|
||||
self.load_all_categories()
|
||||
self.installation_complete.emit()
|
||||
self.installation_finished = True
|
||||
|
||||
def closeEvent(self, event):
|
||||
@@ -2211,13 +2179,6 @@ class WineHelperGUI(QMainWindow):
|
||||
self.created_prefix_selector.currentIndexChanged.connect(self.on_created_prefix_selected)
|
||||
selector_layout.addWidget(self.created_prefix_selector, 1)
|
||||
|
||||
self.open_prefix_folder_button = QPushButton()
|
||||
self.open_prefix_folder_button.setIcon(QIcon.fromTheme("folder-open"))
|
||||
self.open_prefix_folder_button.setToolTip("Открыть папку префикса в файловом менеджере")
|
||||
self.open_prefix_folder_button.setEnabled(False)
|
||||
self.open_prefix_folder_button.clicked.connect(self.open_selected_prefix_folder)
|
||||
selector_layout.addWidget(self.open_prefix_folder_button)
|
||||
|
||||
self.create_base_pfx_button = QPushButton()
|
||||
self.create_base_pfx_button.setIcon(QIcon.fromTheme("document-export"))
|
||||
self.create_base_pfx_button.setToolTip("Создать шаблон из выбранного префикса (для опытных пользователей)")
|
||||
@@ -2439,7 +2400,6 @@ class WineHelperGUI(QMainWindow):
|
||||
self.delete_prefix_button.setEnabled(False)
|
||||
self.remove_all_button.setEnabled(False)
|
||||
self.create_base_pfx_button.setEnabled(False)
|
||||
self.open_prefix_folder_button.setEnabled(False)
|
||||
else:
|
||||
# Прокручиваем к выбранному элементу, чтобы он был виден в списке
|
||||
self.created_prefix_selector.view().scrollTo(
|
||||
@@ -2451,7 +2411,6 @@ class WineHelperGUI(QMainWindow):
|
||||
self.delete_prefix_button.setEnabled(True)
|
||||
self.remove_all_button.setEnabled(True)
|
||||
self.create_base_pfx_button.setEnabled(True)
|
||||
self.open_prefix_folder_button.setEnabled(True)
|
||||
|
||||
def delete_selected_prefix(self):
|
||||
"""Удаляет префикс, выбранный в выпадающем списке на вкладке 'Менеджер префиксов'."""
|
||||
@@ -2560,21 +2519,6 @@ class WineHelperGUI(QMainWindow):
|
||||
self._run_simple_command("create-base-pfx", [prefix_name])
|
||||
self.command_dialog.exec_()
|
||||
|
||||
def open_selected_prefix_folder(self):
|
||||
"""Открывает папку выбранного префикса в системном файловом менеджере."""
|
||||
prefix_name = self.current_managed_prefix_name
|
||||
if not prefix_name:
|
||||
return
|
||||
|
||||
prefix_path = os.path.join(Var.USER_WORK_PATH, "prefixes", prefix_name)
|
||||
if os.path.isdir(prefix_path):
|
||||
try:
|
||||
subprocess.Popen(['xdg-open', prefix_path])
|
||||
except Exception as e:
|
||||
QMessageBox.warning(self, "Ошибка", f"Не удалось открыть директорию:\n{prefix_path}\n\nОшибка: {e}")
|
||||
else:
|
||||
QMessageBox.warning(self, "Ошибка", f"Директория префикса не найдена:\n{prefix_path}")
|
||||
|
||||
def _setup_prefix_management_panel(self, prefix_name):
|
||||
"""Настраивает панель управления префиксом на основе текущего состояния."""
|
||||
is_prefix_selected = bool(prefix_name)
|
||||
@@ -2633,39 +2577,19 @@ class WineHelperGUI(QMainWindow):
|
||||
self.esync_button.blockSignals(False)
|
||||
self.fsync_button.blockSignals(False)
|
||||
|
||||
# --- Чтение и отображение установленных компонентов Winetricks ---
|
||||
winetricks_log_path = os.path.join(Var.USER_WORK_PATH, "prefixes", prefix_name, "winetricks.log")
|
||||
installed_verbs = []
|
||||
if os.path.exists(winetricks_log_path):
|
||||
try:
|
||||
with open(winetricks_log_path, 'r', encoding='utf-8') as f:
|
||||
for line in f:
|
||||
verb = line.split('#', 1)[0].strip()
|
||||
if verb:
|
||||
installed_verbs.append(verb)
|
||||
except IOError as e:
|
||||
print(f"Ошибка чтения winetricks.log: {e}")
|
||||
|
||||
# Фильтруем служебные компоненты, чтобы не засорять вывод
|
||||
verbs_to_ignore = {
|
||||
'isolate_home', 'winxp', 'win7', 'win10', 'win11',
|
||||
'vista', 'win2k', 'win2k3', 'win2k8', 'win8', 'win81',
|
||||
'workaround', 'internal'
|
||||
}
|
||||
display_verbs = sorted([v for v in installed_verbs if v not in verbs_to_ignore])
|
||||
|
||||
# Карта для красивого отображения известных переменных
|
||||
display_map = {
|
||||
"WINEPREFIX": ("Путь", lambda v: v),
|
||||
"WINEARCH": ("Архитектура", lambda v: "64-bit" if v == "win64" else "32-bit"),
|
||||
"WH_WINE_USE": ("Версия Wine", lambda v: "Системная" if v == "system" else v),
|
||||
"BASE_PFX": ("Тип", lambda v: 'Чистый' if v == "none" else 'С рекомендуемыми библиотеками'),
|
||||
"DXVK_VER": ("Версия DXVK", lambda v: v if v else "Не установлено"),
|
||||
"VKD3D_VER": ("Версия VKD3D", lambda v: v if v else "Не установлено"),
|
||||
"WINEESYNC": ("ESync", lambda v: "Включен" if v == "1" else "Выключен"),
|
||||
"WINEFSYNC": ("FSync", lambda v: "Включен" if v == "1" else "Выключен"),
|
||||
"WH_XDG_OPEN": ("Ассоциации файлов", lambda v: v if v and v != "0" else "Не заданы"),
|
||||
}
|
||||
display_order = ["WINEPREFIX", "WINEARCH", "WH_WINE_USE", "DXVK_VER", "VKD3D_VER", "WINEESYNC", "WINEFSYNC", "WH_XDG_OPEN"]
|
||||
display_order = ["WINEPREFIX", "WINEARCH", "WH_WINE_USE", "BASE_PFX", "DXVK_VER", "VKD3D_VER", "WINEESYNC", "WINEFSYNC", "WH_XDG_OPEN"]
|
||||
|
||||
html_content = f'<p style="line-height: 1.3; font-size: 9pt;">'
|
||||
html_content += f"<b>Имя:</b> {html.escape(prefix_name)}<br>"
|
||||
@@ -2687,15 +2611,6 @@ class WineHelperGUI(QMainWindow):
|
||||
html_content += "<br><b>Дополнительные параметры:</b><br>"
|
||||
html_content += other_vars_html
|
||||
|
||||
html_content += "<br><b>Компоненты (Winetricks):</b> "
|
||||
if display_verbs:
|
||||
# Используем span вместо div, чтобы избежать лишних отступов
|
||||
html_content += '<span style="max-height: 120px; overflow-y: auto;">'
|
||||
html_content += ", ".join(html.escape(v) for v in display_verbs)
|
||||
html_content += '</span>'
|
||||
else:
|
||||
html_content += "Не установлены"
|
||||
|
||||
html_content += "</p>"
|
||||
self.prefix_info_display.setHtml(html_content)
|
||||
|
||||
@@ -3252,6 +3167,9 @@ class WineHelperGUI(QMainWindow):
|
||||
"""Открывает диалог создания нового префикса."""
|
||||
dialog = CreatePrefixDialog(self)
|
||||
if dialog.exec_() == QDialog.Accepted:
|
||||
if not self._show_license_agreement_dialog():
|
||||
return
|
||||
|
||||
self.start_prefix_creation(
|
||||
prefix_name=dialog.prefix_name,
|
||||
wine_arch=dialog.wine_arch,
|
||||
@@ -3702,7 +3620,6 @@ class WineHelperGUI(QMainWindow):
|
||||
|
||||
wine_executable = self._get_wine_executable_for_prefix(prefix_name)
|
||||
dialog = WinetricksManagerDialog(prefix_path, winetricks_path, self, wine_executable=wine_executable)
|
||||
dialog.installation_complete.connect(lambda: self.update_prefix_info_display(prefix_name))
|
||||
dialog.exec_()
|
||||
|
||||
def _get_wine_executable_for_prefix(self, prefix_name):
|
||||
@@ -4695,7 +4612,6 @@ class WineHelperGUI(QMainWindow):
|
||||
self.command_process.deleteLater()
|
||||
self.command_process = None
|
||||
self.command_close_button.setEnabled(True)
|
||||
self.command_log_output.ensureCursorVisible()
|
||||
|
||||
def _handle_launcher_creation_finished(self, exit_code, exit_status):
|
||||
"""Обрабатывает завершение создания ярлыка."""
|
||||
|
Reference in New Issue
Block a user