OutWiker 4.0.0.952 alpha 6. Большие внутренние изменения и незаметные внешние

Перерыв с момента выхода прошлой альфа-версии несколько затянулся. Те, кто читает меня в Телеграм-канале, знают, что все это время я дописывал книжку про Python, поэтому разработку OutWiker временно поставил на паузу — для работы над двумя такими проектами просто не хватает свободного времени. Но несмотря ни на что, за это время я все-таки что-то делал и в рамках OutWiker-а.
В основном изменения, которые попали в эту версию, были достаточно крупными с точки зрения затронутого количества файлов исходного кода, но для пользователя не заметны.
Из того, что все-таки можно заметить, это исправления нескольких не очень критичных багов и небольшие улучшения в отображении дерева заметок, а также исправления в настройках цветов панелей главного окна.
Довольно крупные внутренние изменения связаны с тем, что теперь структура исходников OutWiker соответствует требованиям, позволяющим запускать программу как модуль Python. В принципе, если решить некоторые проблемы с зависимостями, в перспективе можно было бы оформить OutWiker как пакет на PyPi. Ради этого была изменена структура папок для хранения внутренних данных — значков, тем, словарей для проверки орфографии и т.д. По этой причине при установке новой версии под Windows очень желательно, чтобы вы удалили старую версию, а не переписывали файлы новой версии поверх старой. Это изменение могут заметить те из вас, кто пользуется портабельной версией. Теперь все папки с данными: iconset, images, locale, spell, styles, textstyles расположены не в корне рядом с запускаемым файлом, а в папке lib/outwiker/data. Папка plugins по-прежнему осталась в корне. Но если вы пользуетесь не портабельной версией, то вас это изменение беспокоить не должно, в папке профиля все аналогичные папки остались на своем месте.
А для совсем продвинутых пользователей появилась возможность добавить еще одну папку с данными, где программа будет искать значки, плагины и темы. Для этого надо создать переменную окружения OUTWIKER_PATH, значение которой будет равно пути до такой папки. На самом деле эту переменную окружения мне понадобилось добавить для использования в сборках под Linux, но вдруг кому-то захочется эту возможность использовать для своих целей, например, чтобы путь до данных пользователя был не такой длинный, как путь по умолчанию.
Многие исправления были направлены на оптимизацию работы. Например, теперь реже перезагружаются (в принципе, вообще не должны перезагружаться) словари для проверки орфографии. Это немного ускорило запуск программы и переключение между страницами разного типа. Но больше всего оптимизации подверглись тесты. Раньше тесты на сервере CI могли выполняться почти час в Windows и еще столько же в Linux, и при этом падали по непонятной причине. Сейчас тесты в каждой из этих двух операционных системах выполняются меньше чем за полчаса и падать перестали.
Еще одно изменение, связанное с процессом разработки, заключается в том, что теперь для работы с виртуальными окружениями вместо Pipenv используется uv, поэтому отпала необходимость в файле Pipfile для описания зависимостей, они теперь описаны в файле pyproject.toml.
Для сборки пакета Flatpak под Linux теперь используется более новая версия runtime и wxPython, что позволило упростить и ускорить сборку пакета — теперь не надо самостоятельно компилировать WebKitGtk.
Похоже, что скоро все-таки придется отказаться от поддержки Windows 7. Если раньше поддержка этой версии Windows не доставляла неудобств, то теперь все больше библиотек Windows 7 не поддерживает, а обновлять библиотеки периодически требуется из-за сборок под Linux, в которых обновляются версии Python, а старые версии библиотек перестают работать с новыми версиями Python. Получается такой вот запутанный клубок с зоопарком версий всего, чего только можно. Именно поэтому в свое время я и отказался от сборок пакетов deb в пользу snap и flatpak, которые может и не решают проблему полностью, но дают большую гибкость в установке библиотек нужной версии.
На этом, пожалуй, все. Последнюю бета-версию OutWiker, как обычно, можно скачать на этой странице.
Подписывайтесь на OutWiker в социальных сетях:
PS. Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.
Leave a comment