Работа над OutWiker 4.0 продолжается

Работа над OutWiker 4.0 продолжается

В этом месяце новой альфа-версии OutWiker не будет, потому что она сейчас находится в разломанном состоянии, но я решил рассказать о том, куда движется разработка. Движется неспешно, и иногда во внезапных направлениях. Как я писал в недавнем посте про первую альфа-версию OutWiker 4.0, на будущую версию у меня большие планы, в этой версии я хочу многое переделать.

Переделку я начал с дерева заметок. Вместо стандартного контрола для отображение дерева я начал делать свой компонент, который, в отличие от стандартного, должен вести себя одинаково под Windows и Linux, а заодно давать возможность более тонкой настройки внешнего вида дерева. Это кропотливая работа, надо будет учесть кучу разных нюансов. Сейчас я еще копаюсь с основной функциональностью, чтобы корректно отображались узлы дерева, а ветви умели сворачиваться и разворачиваться. Потом еще надо будет возиться с перетаскиванием элементов дерева мышью, редактированием текста с названием заметок и т.п. А сколько мелочей еще надо будет учесть… В общем, тут есть, чем заняться.

И, к сожалению, это еще не все. Недавно у меня в Manjaro Linux после очередного обновления внезапно сломалась библиотека wxPython. После обновления переименовался какой-то объектный файл, который использовался для работы — у него увеличился номер версии версии. После этого wxPython 4.2.1 из PyPi не только перестал работать, но еще и перестал компилироваться из исходников (такой подставы я не ожидал). После экспериментов с разными версиями Python (слава великому pyenv!) оказалось, что без проблем устанавливается недавно вышедшая версия wxPython 4.2.2, если его запускать в Python 3.12.

Казалось бы, что может пойти не так, если в библиотеке обновляется третья цифра в номере версии? Оказывается, может. Причем я даже не могу сказать, что это изменение, которое мне попортило нервы, плохое. Проблема в том, что оно внезапное! Неожиданно при запуске OutWiker с wxPython 4.2.2 под Linux в интерфейсе появилась поддержка темной темы. Это, конечно, можно приветствовать, но только я к такому повороту был не готов. Когда я подбирал и рисовал картинки для кнопок, я рассчитывал, что они будут отображаться как черное на светлом, а не черное на черном. К счастью, для GTK-приложений можно принудительно установить светлую тему, если в строке запуска приложения добавить переменную окружения GTK_THEME=Adwaita:light. Но, по-хорошему, теперь для полноценного перехода на wxPython 4.2.2 мне надо сделать копии всех картинок для темной темы, а заодно тогда уж отключить настройку разных цветов интерфейса в настройках, и еще при этом прописать два варианта цветов для двух тем. Я бы не против этим заняться, если бы только это было планово, а не так насильно.

Еще одна особенность заключается в том, что под Windows, похоже, поддержка темной темы в wxPython еще не доделана. Тут я не до конца уверен, но судя по записям и коммитам на github, работа в эту сторону еще активно идет. В отличие от версии под Linux, при переходе на wxPython 4.2.2 под Windows интерфейс остался прежним светлым.

К счастью, сборки под Linux в виде flatpak и snap я могу по-прежнему собирать с использованием старой версии wxPython. На сегодня у меня в приоритете — новое дерево заметок. А в общем, пока процесс идет как-то так.

Подписывайтесь на OutWiker в социальных сетях:

PS. Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.

Пожалуйста, оцените запись

УжасноПлохоТак себеХорошоОтлично (Количество голосов: 4, средняя оценка: 5,00)
Загрузка...

Leave a comment

Subscribe without commenting