Разные недочеты/баги

mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

Может, какой плагин в версии GTK лезет менять разрешение экрана,
а Lubuntu "lxqt-config-monitor установил настройки по умолчанию"?

Все это не приоритетно, просто как задачка.
Версия QT5-то работает, хотя у GTK интерфейс, на мой взглят, поприятнее
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Post by main Alexey »

нет, ни один плагин не меняет системные настройки.
это скорее баг лазаруса.
но если повтора в Double Cmd нет, то все плохо.
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

main Alexey wrote:
Но он перемешивается при закрытии Куд.
И в следующий раз порядок Recent не восстанавливается, к сожалению.
не знаю как это решить. табы которые вы руками не закрывали все равно же надо в Resents положить.
А можно как-то программно их различать?
Тек, которые закрыли руками и те, что закрыл редактор после закрытия?
По событию on_exit, если такое есть.

В первом приближении.
Табы, что закрыли руками, помечать в Resents битовым/символьным флагом.
(Может, эта лишняя сущность и не понадобится, если:)
И/Или
При закрытии табов редактором CudaText записывать табы в обратном порядке снизу вверх.
(Сейчас закрывается, начиная, с правого таба сверху вниз)

Тогда:
Табы, закрытые пользователем, останутся наверху, что удобно: он с ними работал, закрыл недавно, возможно, захочет вскоре вернуться к ним или посмотреть, что редактировал последним.
А это очень удобно, и порядок не нарушается при последующих открытиях, табы не тасуются вниз.

А запись в Resents (снизу вверх) закрываемых по завершении CudaText табов в порядке слева направо логичнее и удобнее,
хотя и потребует записать их в обратном порядке в массив.
Или переписать цикл закрытие с 0 до n, а не с конца с n до 0.

Открываются же табы все равно не из Resents, а из сохраненной сессии.

Да, небольшая проблема в том, если размер списка Resents больше нужного для записи количества табов, и если писать снизу вверх, то будут пустые места в середине.
Тогда, наверное, все-таки понадобится признак закрытых вручную табов?
Или смотреть, чего нет в сессии?



Как это реализовать красиво и компактно?

Да, можно, наверное, ставить разделитель в Resents '----------------': сверху "ручные" табы (закрытые пользователем), сниу от разделителя и вниз закрытые справа налево табы при завершении CudaText.
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

main Alexey wrote:нет, ни один плагин не меняет системные настройки.
это скорее баг лазаруса.
но если повтора в Double Cmd нет, то все плохо.
Могу вставить отладку и посмотреть, если вам это нужно.
Только скажите, как.
Но можно обойтись и QT5-версией
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Post by main Alexey »

выделите сообщение про "закрытие табов" в новую тему. может я помееняю тут что-то. тогда там отпишусь. здесь мы одним и тем же вопросом завалили тему.
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Post by main Alexey »

Могу вставить отладку и посмотреть, если вам это нужно.
Только скажите, как.
сам не знаю что отладить. лучше было бы если бы вы собрали проект в IDE и потом поставили breakpoint в fmMain.FormCreate и-или в FormShow и там делаги шаги после breakpoint. увидеть бы какой шаг делает "плохо".
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Post by main Alexey »

это в formmain.pas, внутри
procedure TfmMain.FormCreate(Sender: TObject);
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

> собрали проект в IDE

Установил Lazarus 2.2.4 (ох, ну и огромный он - 1.5 ГБ!), fpc-source, fpc-source-3.2.2
Скачал /cudatext-src-1.196.0.0.zip, а там zip-файлы.
Еще в /src/CudaText-master/readme.md требуются:

* https://github.com/bgrabitmap/bgrabitmap
* https://github.com/Alexey-T/EncConv
* https://github.com/Alexey-T/ATBinHex-Lazarus
* https://github.com/Alexey-T/ATFlatControls
* https://github.com/Alexey-T/ATSynEdit
* https://github.com/Alexey-T/ATSynEdit_Cmp
* https://github.com/Alexey-T/EControl
* https://github.com/Alexey-T/ATSynEdit_Ex
* https://github.com/Alexey-T/Python-for-Lazarus
* https://github.com/Alexey-T/Emmet-Pascal


Как это все собрать в IDE?
Может, есть скрипт?
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Post by main Alexey »

да, есть скрипт.
вики имеет инфо - 'How to compile CudaText'.
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

main Alexey wrote:да, есть скрипт.
вики имеет инфо - 'How to compile CudaText'.
Установил Lazarus:
Lazarus - Browse /Lazarus Linux amd64 DEB/Lazarus 2.2.6 at SourceForge.net
https://sourceforge.net/projects/lazaru ... s%202.2.6/
lazarus-project_2.2.6-0_amd64.deb 2023-03-04 125.7 MB
fpc-laz_3.2.2-210709_amd64.deb 2023-03-04 39.3 MB
README.txt 2023-03-04 1.1 kB
fpc-src_3.2.2-210709_amd64.deb 2023-03-04 30.6 MB

Прочитал https://wiki.freepascal.org/CudaText#Ho ... e_CudaText и скачал все файлы c
https://github.com/Alexey-T/CudaText_up
в ~/cudatext_up
Запустил скрипт ./cudaup.sh -g -p -m

Получил ошибки, в

./cudaup.sh -g -p -m error - Pastebin.com
https://pastebin.com/6Nj4xrYU


Что посоветуете?

В скачанных скриптом каталогах нет файла lpl, чтобы открыть весь проект CudaText в Lazarus разом и установить breakpoint (запустить до курсора, кажется?), а дальше по шагам искать, на каком операторе будет аварийное завершение.
Post Reply