Предлагаю попробовать тестовую сборку новой версии.
https://khsoft.ru/download/test/LayoutIndicator.v2.5.8.test.zip
* (исправление) Устранено переполнение переменных-счётчиков, которое, возможно приводило к завершению программы.
* Улучшен алгоритм отображения клавиш-модификаторов в индикаторах
* В логи добавлена информация о количестве свободной памяти в системе, для диагностики ошибок
https://khsoft.ru/download/test/LayoutIndicator.v2.5.8.test.zip
* (исправление) Устранено переполнение переменных-счётчиков, которое, возможно приводило к завершению программы.
* Улучшен алгоритм отображения клавиш-модификаторов в индикаторах
* В логи добавлена информация о количестве свободной памяти в системе, для диагностики ошибок
🔥2
Прошлое видео о процессе работы над индикатором хорошо зашло. Сделал продолжение.
https://www.youtube.com/watch?v=Kc9vDZU2eCo
https://www.youtube.com/watch?v=Kc9vDZU2eCo
YouTube
Рутина инди-разработчика: обработка баг-репортов
Сайт программы https://khsoft.ru/li
Канал программы: https://t.me/khsoft
ТГ: https://t.me/classic_ivan_blog
DZ: https://dzen.ru/zapominai
VK: https://vk.com/video/@classic_ivan
RT: https://rutube.ru/channel/31567846/
YT: https://youtube.com/c/zapominai
TT:…
Канал программы: https://t.me/khsoft
ТГ: https://t.me/classic_ivan_blog
DZ: https://dzen.ru/zapominai
VK: https://vk.com/video/@classic_ivan
RT: https://rutube.ru/channel/31567846/
YT: https://youtube.com/c/zapominai
TT:…
👍1
Как вам появление на канале роликов о разработке? Хотите ли видеть тут подобное или что-нибудь о других программах-помощниках?
Anonymous Poll
11%
Хочу видеть на этом канале только новости, связанные с изменением индикатора
56%
Отношусь нейтрально, ролики не мешают
33%
С удовольствием посмотрю или почитаю о процессе разработки или других полезных утилитах
Новая тестовая версия.
Добавлено отображение флагов в систрей-иконке.
https://khsoft.ru/download/test/LayoutIndicator.v2.5.9.test.zip
Добавлено отображение флагов в систрей-иконке.
https://khsoft.ru/download/test/LayoutIndicator.v2.5.9.test.zip
👍2
Новая тестовая версия. Очень приятное для меня обновление. Не люблю когда программы подтормаживают, даже чуть-чуть.
(исправление) Устранены зависания интерфейса при запуске и различных проверках
(исправление) Уменьшено время запуска программы
https://khsoft.ru/download/test/LayoutIndicator.v2.6.1.test.zip
(исправление) Устранены зависания интерфейса при запуске и различных проверках
(исправление) Уменьшено время запуска программы
https://khsoft.ru/download/test/LayoutIndicator.v2.6.1.test.zip
👍1
Глубока кроличья нора.
Ускорение запуска выявило ошибку. Оказывается, начальный фриз давал возможность успеть построится контекстному меню программы. Там же создавалась иконка систрея. Без этих зависаний, при запуске, код пытался поменять флаг иконки ещё до того как она была создана.
Всё держалось на подтормаживании при запуске! 🤭
На радостях не проверил новую версию в вируталке, а ошибка проявляется только если в системе больше одного языка. С одним всё успевает и без задержки.
Ссылку в посте выше обновил. Тут продублирую.
Спасибо @SannikovVV за тестирование!
https://khsoft.ru/download/test/LayoutIndicator.v2.6.1.test.zip
Ускорение запуска выявило ошибку. Оказывается, начальный фриз давал возможность успеть построится контекстному меню программы. Там же создавалась иконка систрея. Без этих зависаний, при запуске, код пытался поменять флаг иконки ещё до того как она была создана.
Всё держалось на подтормаживании при запуске! 🤭
На радостях не проверил новую версию в вируталке, а ошибка проявляется только если в системе больше одного языка. С одним всё успевает и без задержки.
Ссылку в посте выше обновил. Тут продублирую.
Спасибо @SannikovVV за тестирование!
https://khsoft.ru/download/test/LayoutIndicator.v2.6.1.test.zip
👍1
Первая тестовая сборка в новом году! 🎊
(исправление) Изменён способ работы с потоками, уменьшено количество потребляемых ресурсов процессора
(исправление) Не сохранялась настройка способа проверки раскладки
https://khsoft.ru/download/test/LayoutIndicator.v2.6.3.test.zip
(исправление) Изменён способ работы с потоками, уменьшено количество потребляемых ресурсов процессора
(исправление) Не сохранялась настройка способа проверки раскладки
https://khsoft.ru/download/test/LayoutIndicator.v2.6.3.test.zip
👍2
В этой версии я сделал автоматическую загрузку настроек с регистрацией.
Последующие версии можно будет просто копировать в директорию с файлом настроек «LayoutIndicator.json». Программа сама подтянет все значения и зарегистрирует копию.
Важный момент — по умолчанию регистрационные данные не сохраняются в файл, чтобы это происходило нужно включить специальную настройку.
Так сделано чтобы можно было контролировать распространение вашего кода регистрации.
Иначе, в случае утечки файла настроек, появится много копий, зарегистрированных на одного человека, а базовая лицензия ограничивает это количество двумя компьютерами.
Что нужно сделать чтобы получить файл настроек с регистрационными данными:
1. Сохраняем свои текущие настройки в файл LayoutIndicator.json, в каталог где лежит программа.
2. Копируем туда новую версию индикатора раскладки и запускаем её.
3. После запуска новой версии, загружаем настройки из LayoutIndicator.json и регистрируем программу
4. Переходим в «Расширенные настройки» (правый клик на иконке программы в систрее).
5. Ставим напротив пункта «Сохранять регистрационные данные в файл настроек» значение «True».
6. Сохраняем настройки в файл LayoutIndicator.json, в каталог где лежит программа, с заменой.
Всё, теперь ваш файл настроек LayoutIndicator.json содержит код регистрации и при запусках новых версий, копия будет регистрироваться автоматически.
https://khsoft.ru/download/test/LayoutIndicator.v2.6.4.test.zip
Последующие версии можно будет просто копировать в директорию с файлом настроек «LayoutIndicator.json». Программа сама подтянет все значения и зарегистрирует копию.
Важный момент — по умолчанию регистрационные данные не сохраняются в файл, чтобы это происходило нужно включить специальную настройку.
Так сделано чтобы можно было контролировать распространение вашего кода регистрации.
Иначе, в случае утечки файла настроек, появится много копий, зарегистрированных на одного человека, а базовая лицензия ограничивает это количество двумя компьютерами.
Что нужно сделать чтобы получить файл настроек с регистрационными данными:
1. Сохраняем свои текущие настройки в файл LayoutIndicator.json, в каталог где лежит программа.
2. Копируем туда новую версию индикатора раскладки и запускаем её.
3. После запуска новой версии, загружаем настройки из LayoutIndicator.json и регистрируем программу
4. Переходим в «Расширенные настройки» (правый клик на иконке программы в систрее).
5. Ставим напротив пункта «Сохранять регистрационные данные в файл настроек» значение «True».
6. Сохраняем настройки в файл LayoutIndicator.json, в каталог где лежит программа, с заменой.
Всё, теперь ваш файл настроек LayoutIndicator.json содержит код регистрации и при запусках новых версий, копия будет регистрироваться автоматически.
https://khsoft.ru/download/test/LayoutIndicator.v2.6.4.test.zip
❤3👍1
Тестировщик конечно из меня вышел не очень профессиональный.
Прошляпал базовую проверку, программа не ругалась если вводили неверный код регистрации, просто никак не реагировала, классическое «сам догадайся почему я обиделась». 🤭
В этой версии всего одно изменение:
(исправление) Не выводилось окно с ошибкой в случае неправильного кода регистрации
Зато отличный повод попробовать автоматическое применение настроек и регистрацию.
https://khsoft.ru/download/test/LayoutIndicator.v2.6.5.test.zip
Прошляпал базовую проверку, программа не ругалась если вводили неверный код регистрации, просто никак не реагировала, классическое «сам догадайся почему я обиделась». 🤭
В этой версии всего одно изменение:
(исправление) Не выводилось окно с ошибкой в случае неправильного кода регистрации
Зато отличный повод попробовать автоматическое применение настроек и регистрацию.
https://khsoft.ru/download/test/LayoutIndicator.v2.6.5.test.zip
👍2
Ненадолго выполз из под завала рабочих задач.
Позанимался индикатором. Накопились багули, победил три штуки:
1. Снижена нагрузка на процессор при проверке раскладки по таймеру
Ошибка появлялась с включенным способом проверки раскладки «по таймеру», низкой задержкой и большой нагрузкой на компьютер от других задач. Пару дней посидел с опросом в 10мс, поймал её пару раз.
2. Не выводим экранный индикатор-прямоугольник если он чёрного цвета
Это особый режим экранной индикации, он позволяет покрасить хоть весь экран в прозрачную дымку цвета раскладки. Давно про него никто не вспоминал, оказалось там поломалось игнорирование чёрного цвета, из-за чего нельзя было сделать так, чтобы для определённых раскладок он не отображался.
3. Интерфейс не переводился на английский язык при запуске, если он был выбран как основной
У меня пока всего один активный англоязычный пользователь, а я так невежливо с ним поступил)
Человеку приходилось каждый раз менять язык интерфейса туда-обратно, чтобы появился английский язык.
Как всегда ссылка на тестовую сборку. Спасибо всем кто тестирует!
https://khsoft.ru/download/test/LayoutIndicator.v2.6.7.test.zip
Позанимался индикатором. Накопились багули, победил три штуки:
1. Снижена нагрузка на процессор при проверке раскладки по таймеру
Ошибка появлялась с включенным способом проверки раскладки «по таймеру», низкой задержкой и большой нагрузкой на компьютер от других задач. Пару дней посидел с опросом в 10мс, поймал её пару раз.
2. Не выводим экранный индикатор-прямоугольник если он чёрного цвета
Это особый режим экранной индикации, он позволяет покрасить хоть весь экран в прозрачную дымку цвета раскладки. Давно про него никто не вспоминал, оказалось там поломалось игнорирование чёрного цвета, из-за чего нельзя было сделать так, чтобы для определённых раскладок он не отображался.
3. Интерфейс не переводился на английский язык при запуске, если он был выбран как основной
У меня пока всего один активный англоязычный пользователь, а я так невежливо с ним поступил)
Человеку приходилось каждый раз менять язык интерфейса туда-обратно, чтобы появился английский язык.
Как всегда ссылка на тестовую сборку. Спасибо всем кто тестирует!
https://khsoft.ru/download/test/LayoutIndicator.v2.6.7.test.zip
👍3
Разбирая подробное письмо об ошибке (с видеозаписью за что отдельная благодарность),
обнаружил, что индикатор совсем не учитывает дополнительные экраны без панели задач.
Если кто не работал с несколькими мониторами или не обращал внимания, то знайте, на дополнительный экран, в виндовс, можно выводить панель задач, а можно и не выводить.
Второй вариант я никогда не использовал, поэтому завязал количество экранных индикаторов на количество панелей задач.
И когда экранов оказалось больше чем панелей, случилась ошибка.
В этой версии сделал первый подход к решению, на виртуальной машине всё заработало.
Но об окончательной победе можно будет сказать после проверки у пользователя.
https://khsoft.ru/download/test/LayoutIndicator.v2.6.8.test.zip
обнаружил, что индикатор совсем не учитывает дополнительные экраны без панели задач.
Если кто не работал с несколькими мониторами или не обращал внимания, то знайте, на дополнительный экран, в виндовс, можно выводить панель задач, а можно и не выводить.
Второй вариант я никогда не использовал, поэтому завязал количество экранных индикаторов на количество панелей задач.
И когда экранов оказалось больше чем панелей, случилась ошибка.
В этой версии сделал первый подход к решению, на виртуальной машине всё заработало.
Но об окончательной победе можно будет сказать после проверки у пользователя.
https://khsoft.ru/download/test/LayoutIndicator.v2.6.8.test.zip
👍3
Это были два дня полные жёсткого программерского отрыва.)
Разбирая лог файл с багом, вышел на целую жилу улучшений. Провёл стресс-тест программы. Основной упор пришёлся на производительность и снижение нагрузки. Программа стала мега-отзывчивой и быстрой: при запуске, открытии настроек и в рабочем режиме. А у процессора теперь появится больше ресурсов на другие задачи.
Плюс новое поведение индикатора каретки: исчезает при переключении между приложениями — оказалось очень удобным.
При таком количестве правок, ошибки неизбежны, но оно того стоит.)
Всех желающих приглашаю попробовать тестовую версию со мной.
Полный список изменений:
• (исправление) Уменьшена нагрузка на процессор при изменении настроек
• (исправление) Устранена ошибка, приводящая к краху приложения
• (исправление) Убрано небольшое зависание при повторном открытии окна настроек
• (исправление) При переключении языка интерфейса не переводилось описание событий проверки раскладки
• (исправление) Снижена нагрузка на систему при запуске программы
• (исправление) Снижена нагрузка на процессор при нахождении в приложении, у которого невозможно вычислить координаты каретки
• (исправление) Снижена нагрузка на процессор при штатной работе программы
• (исправление) Увеличена скорость реакции индикаторов на смену раскладки
• Индикатор каретки теперь исчезает со старого места, при переключении на другое приложение
• Убрана настройка частоты обновления индикатора каретки. Она вычисляется автоматически, оптимальным способом
https://khsoft.ru/download/test/LayoutIndicator.v2.6.9.test.zip
Разбирая лог файл с багом, вышел на целую жилу улучшений. Провёл стресс-тест программы. Основной упор пришёлся на производительность и снижение нагрузки. Программа стала мега-отзывчивой и быстрой: при запуске, открытии настроек и в рабочем режиме. А у процессора теперь появится больше ресурсов на другие задачи.
Плюс новое поведение индикатора каретки: исчезает при переключении между приложениями — оказалось очень удобным.
При таком количестве правок, ошибки неизбежны, но оно того стоит.)
Всех желающих приглашаю попробовать тестовую версию со мной.
Полный список изменений:
• (исправление) Уменьшена нагрузка на процессор при изменении настроек
• (исправление) Устранена ошибка, приводящая к краху приложения
• (исправление) Убрано небольшое зависание при повторном открытии окна настроек
• (исправление) При переключении языка интерфейса не переводилось описание событий проверки раскладки
• (исправление) Снижена нагрузка на систему при запуске программы
• (исправление) Снижена нагрузка на процессор при нахождении в приложении, у которого невозможно вычислить координаты каретки
• (исправление) Снижена нагрузка на процессор при штатной работе программы
• (исправление) Увеличена скорость реакции индикаторов на смену раскладки
• Индикатор каретки теперь исчезает со старого места, при переключении на другое приложение
• Убрана настройка частоты обновления индикатора каретки. Она вычисляется автоматически, оптимальным способом
https://khsoft.ru/download/test/LayoutIndicator.v2.6.9.test.zip
👍7
Разгребая ваши ошибки в виндовс 11 (всем ещё раз большое спасибо за логи, скрины и видео), обнаружил, что в нём, перестало работать определение раскладки по системному индикатору языка.
А приложений, которые не позволяют определять их язык обычным способом, в разы больше чем в десятке. Даже родной блокнот с поддержкой вкладок не говорит свой язык при обращении через документированный вызов апи.
Это всё конечно от того, что я как старый луддит, до сих пор сижу на десятке.
Но так не могло продолжаться. Сначала долго изучал новую структуру панели задач, искал причину поломки старого способа. Оказалось, он перестал работать в принципе. Видимо, что-то основательно переписали в самом индикаторе языка. Начал искать другие способы, нашёл работающий, и за пару раундов смог выцарапать из недр таскбара название текущей раскладки.
Чтобы в будущем такие изменения оперативно учитывались, написал библиотеку, которая строит дерево всех элементов виндовс тремя разными технологиями.
Начиная с этой версии, при первом запуске, программа пробует поставить системный индикатор языка в качестве основного источника информации. Если не получается, в каталоге создаётся файл UITreeList.txt в котором лежит структура всех элементов, всех работающих приложений.
С этим файлом, разобраться что поменяли и подстроиться будет гораздо легче. Он просто лежит, никуда не передаётся, отправлять можно будет только по желанию.
В следующей версии, возьмусь за ошибку определения языка, когда в системе есть несколько раскладок для одного и того же языка. Оказалось это довольно частая история.
По традиции делюсь тестовой сборкой.
Список изменений:
• (исправление) В виндовс 11, язык не определялся по системному индикатору
• При первом запуске, программа пробует включить в качестве источника определения раскладки, системный индикатор языка
• Если найти системный индикатор языка не удалось, в директории с программой, создаётся файл «UITreeList.txt» со всеми элементами рабочего стола виндовс. Это нужно для последующей диагностики и исправления.
https://khsoft.ru/download/test/LayoutIndicator.v2.7.0.test.zip
А приложений, которые не позволяют определять их язык обычным способом, в разы больше чем в десятке. Даже родной блокнот с поддержкой вкладок не говорит свой язык при обращении через документированный вызов апи.
Это всё конечно от того, что я как старый луддит, до сих пор сижу на десятке.
Но так не могло продолжаться. Сначала долго изучал новую структуру панели задач, искал причину поломки старого способа. Оказалось, он перестал работать в принципе. Видимо, что-то основательно переписали в самом индикаторе языка. Начал искать другие способы, нашёл работающий, и за пару раундов смог выцарапать из недр таскбара название текущей раскладки.
Чтобы в будущем такие изменения оперативно учитывались, написал библиотеку, которая строит дерево всех элементов виндовс тремя разными технологиями.
Начиная с этой версии, при первом запуске, программа пробует поставить системный индикатор языка в качестве основного источника информации. Если не получается, в каталоге создаётся файл UITreeList.txt в котором лежит структура всех элементов, всех работающих приложений.
С этим файлом, разобраться что поменяли и подстроиться будет гораздо легче. Он просто лежит, никуда не передаётся, отправлять можно будет только по желанию.
В следующей версии, возьмусь за ошибку определения языка, когда в системе есть несколько раскладок для одного и того же языка. Оказалось это довольно частая история.
По традиции делюсь тестовой сборкой.
Список изменений:
• (исправление) В виндовс 11, язык не определялся по системному индикатору
• При первом запуске, программа пробует включить в качестве источника определения раскладки, системный индикатор языка
• Если найти системный индикатор языка не удалось, в директории с программой, создаётся файл «UITreeList.txt» со всеми элементами рабочего стола виндовс. Это нужно для последующей диагностики и исправления.
https://khsoft.ru/download/test/LayoutIndicator.v2.7.0.test.zip
👍2🔥1