Scroll Lock как индикатор языка
В комментариях зашла речь, что многие печатают, глядя на клавиатуру, поэтому приходится косить взгляд на монитор.
Предлагаю попробовать настроить индикацию языка через состояние Scroll Lock. Для этого вам нужно скачать и положить в любую директорию прикреплённые файлы. Я положил их в C:\temp\3
После этого, в командах раскладки, написать следующие команды для нужных языков:
для включения ScrollLock
для выключения ScrollLock
Путь до файла укажите свой. Отпишитесь в комментариях, кто попробует.
В комментариях зашла речь, что многие печатают, глядя на клавиатуру, поэтому приходится косить взгляд на монитор.
Предлагаю попробовать настроить индикацию языка через состояние Scroll Lock. Для этого вам нужно скачать и положить в любую директорию прикреплённые файлы. Я положил их в C:\temp\3
После этого, в командах раскладки, написать следующие команды для нужных языков:
для включения ScrollLock
powershell -File C:\temp\3\scrolllock-on.ps1
для выключения ScrollLock
powershell -File C:\temp\3\scrolllock-off.ps1
Путь до файла укажите свой. Отпишитесь в комментариях, кто попробует.
👍3❤1
Пираты
Пока нет времени на разработку, расскажу вам про пиратов. Считается, что программа пришла к успеху, если её начали взламывать. По этому критерию, Индикатор успешен уже очень давно). Помню когда первый раз нашёл его на пиратском сайте, написал админам, чтобы хоть версию обновили, там лежало что-то очень старое.
Мне так лень возиться с защитой, что в первой реализации просто сделал настройку isRegister. Можно было найти файл конфигурации, исправить 0 на 1 и стать кулхацкером. Функционал был минимальным, но я потратил на разработку столько времени, что решил попродавать за 50₽, столько стоили первые версии. Поэтому особо не вкладывался в это.
Не сказал бы, что уровень защиты кардинально улучшился. Хочется пилить новые фичи и повышать скорость со стабильностью, а не тратить время на огораживание. К тому же, чем более сложной становилась защита, тем больше появлялось ошибок, связанных с ней. Помню как поставил код для обнаружения отдалки. У него очень
простой принцип — чтобы изучить приложение на уровне команд процессора, нужно заморозить его выполнение. Получается, если программа определит, что ей не давали выполняться длительное время, значит это злостный нарушитель с дебагером. Но после внедрения сразу обнаружилось, что это срабатывает когда компьютер оправляют в спящий режим. Тоже, своего рода, заморозка времени.
Взлом Индикатора давно поставлен на поток. После каждого релиза, приложения шлют отчёты о запусках, где видно как перебирают параметры, модифицируют исполняемый файл и т.д. Иногда смотрю ip таких умельцев, часто бывает Малайзия и Таиланд. А вчера, например, какой то человек из Нижнего Новгорода скачал архив с программой 130 раз. Разные версии, все тестовые и все старые, по нескольку раз) Похоже, будет с ними развлекаться. Интересно конечно было бы посмотреть, сколько всего Инидкаторов трудятся во благо человечества, но я вижу в отчётах только легальные копии.
Пока нет времени на разработку, расскажу вам про пиратов. Считается, что программа пришла к успеху, если её начали взламывать. По этому критерию, Индикатор успешен уже очень давно). Помню когда первый раз нашёл его на пиратском сайте, написал админам, чтобы хоть версию обновили, там лежало что-то очень старое.
Мне так лень возиться с защитой, что в первой реализации просто сделал настройку isRegister. Можно было найти файл конфигурации, исправить 0 на 1 и стать кулхацкером. Функционал был минимальным, но я потратил на разработку столько времени, что решил попродавать за 50₽, столько стоили первые версии. Поэтому особо не вкладывался в это.
Не сказал бы, что уровень защиты кардинально улучшился. Хочется пилить новые фичи и повышать скорость со стабильностью, а не тратить время на огораживание. К тому же, чем более сложной становилась защита, тем больше появлялось ошибок, связанных с ней. Помню как поставил код для обнаружения отдалки. У него очень
простой принцип — чтобы изучить приложение на уровне команд процессора, нужно заморозить его выполнение. Получается, если программа определит, что ей не давали выполняться длительное время, значит это злостный нарушитель с дебагером. Но после внедрения сразу обнаружилось, что это срабатывает когда компьютер оправляют в спящий режим. Тоже, своего рода, заморозка времени.
Взлом Индикатора давно поставлен на поток. После каждого релиза, приложения шлют отчёты о запусках, где видно как перебирают параметры, модифицируют исполняемый файл и т.д. Иногда смотрю ip таких умельцев, часто бывает Малайзия и Таиланд. А вчера, например, какой то человек из Нижнего Новгорода скачал архив с программой 130 раз. Разные версии, все тестовые и все старые, по нескольку раз) Похоже, будет с ними развлекаться. Интересно конечно было бы посмотреть, сколько всего Инидкаторов трудятся во благо человечества, но я вижу в отчётах только легальные копии.
👏4👍2
Тестовая сборка Индикатора — 2.8.0
На прошлой неделе, мой единственный, рабочий ноут начал подавать сигналы о приближении смерти. Я, конечно, преступно долго не менял у него термопасту, да и вентилятор странно шумел. Успокаивал себя тем, что датчики температуры показывали приемлемые значения. Уже в мастерской, мне объяснили, что нынче, при перегреве просто падает частота и нужно смотреть ещё и её. Мораль проста — обслуживайте свои машины, особенно если быстрой замены нет, а работать нужно срочно и без перерывов.
В итоге пришлось судорожно собирать системник. Я планировал этим заняться, но в более спокойной обстановке. Перестало хватать 32Гб оперативной памяти — физического потолка ноутбука. Спасибо виртуалкам и средам разработки. Виндовс пережил смену всего оборудования не очень хорошо, поэтому пришлось переставлять всё...
И тут мы возвращаемся к Индикатору. На новой виртуальной машине, перестали подхватываться раскладки из системного индикатора, когда их несколько для одного языка. Опять сыграла разница между английской виндой с русским языковым пакетом и русской изначально. Уже наступал на эти грабли в простом варианте — один язык, одна раскладка. Можно было догадаться, что с несколькими раскладками тоже будет сюрприз.
Пришлось считывать описание из всплывашки системного индикатора и ориентироваться по нему. Ещё одним способом определения раскладки стало больше.
Сразу после этого занялся, давно раздражающей, багулей — при сворачивании всех окон (win + d, win + m), пропадала подсветка панелей задач. Начал ковыряться с параметрами форм, но быстро выяснил, что дело в детекторе полноэкранных приложений. Когда уходили все окна, фокус ввода переходил на десктоп, который определялся как полноэкранный, что не удивительно. Раньше видел такое поведение только на виртуалке, но недавно столкнулся на реальной машине.
Добавил в проверку на фулскрин код, который смотрит заголовок окна, если там пусто, значит это что-то системное и делать ничего не нужно. Это небольшой шаг к тому, чтобы в будущем сделать список программ для исключения этой проверки, т.к. есть такие, которые только претворяются полноэкранными, например клиент телеграмма.
Заодно уменьшил количество вызовов проверок на принадлежность к чёрному списку и полному экрану. Было несколько лишних вызовов, в холостую гоняли процессор.
Список изменений:
✅ Добавлен новый способ определения текущей раскладки по системному индикатору Виндовс, для случаев, когда есть несколько раскладок одного языка.
✅ Снижена нагрузка на процессор при работе с заполненным чёрным списком и детекцией полноэкранных приложений.
🛠 (исправление) Подсветка панелей задач пропадала после сворачивания всех окон (win+d, win+m).
🛠 (исправление) При включенной проверке полноэкранных приложений, на некоторых версиях Виндовс, индикация пропадала если фокус ввода был на рабочем столе.
https://khsoft.ru/download/test/LayoutIndicator.v2.8.0.test.zip
На прошлой неделе, мой единственный, рабочий ноут начал подавать сигналы о приближении смерти. Я, конечно, преступно долго не менял у него термопасту, да и вентилятор странно шумел. Успокаивал себя тем, что датчики температуры показывали приемлемые значения. Уже в мастерской, мне объяснили, что нынче, при перегреве просто падает частота и нужно смотреть ещё и её. Мораль проста — обслуживайте свои машины, особенно если быстрой замены нет, а работать нужно срочно и без перерывов.
В итоге пришлось судорожно собирать системник. Я планировал этим заняться, но в более спокойной обстановке. Перестало хватать 32Гб оперативной памяти — физического потолка ноутбука. Спасибо виртуалкам и средам разработки. Виндовс пережил смену всего оборудования не очень хорошо, поэтому пришлось переставлять всё...
И тут мы возвращаемся к Индикатору. На новой виртуальной машине, перестали подхватываться раскладки из системного индикатора, когда их несколько для одного языка. Опять сыграла разница между английской виндой с русским языковым пакетом и русской изначально. Уже наступал на эти грабли в простом варианте — один язык, одна раскладка. Можно было догадаться, что с несколькими раскладками тоже будет сюрприз.
Пришлось считывать описание из всплывашки системного индикатора и ориентироваться по нему. Ещё одним способом определения раскладки стало больше.
Сразу после этого занялся, давно раздражающей, багулей — при сворачивании всех окон (win + d, win + m), пропадала подсветка панелей задач. Начал ковыряться с параметрами форм, но быстро выяснил, что дело в детекторе полноэкранных приложений. Когда уходили все окна, фокус ввода переходил на десктоп, который определялся как полноэкранный, что не удивительно. Раньше видел такое поведение только на виртуалке, но недавно столкнулся на реальной машине.
Добавил в проверку на фулскрин код, который смотрит заголовок окна, если там пусто, значит это что-то системное и делать ничего не нужно. Это небольшой шаг к тому, чтобы в будущем сделать список программ для исключения этой проверки, т.к. есть такие, которые только претворяются полноэкранными, например клиент телеграмма.
Заодно уменьшил количество вызовов проверок на принадлежность к чёрному списку и полному экрану. Было несколько лишних вызовов, в холостую гоняли процессор.
Список изменений:
✅ Добавлен новый способ определения текущей раскладки по системному индикатору Виндовс, для случаев, когда есть несколько раскладок одного языка.
✅ Снижена нагрузка на процессор при работе с заполненным чёрным списком и детекцией полноэкранных приложений.
🛠 (исправление) Подсветка панелей задач пропадала после сворачивания всех окон (win+d, win+m).
🛠 (исправление) При включенной проверке полноэкранных приложений, на некоторых версиях Виндовс, индикация пропадала если фокус ввода был на рабочем столе.
https://khsoft.ru/download/test/LayoutIndicator.v2.8.0.test.zip
👍4
Тестовая сборка Индикатора — 2.8.1
Заметил недавно, что приложения-плееры и видеохостеры скрывают мышиный курсор, когда смотришь видео. Причём, они это делают даже в оконном режиме, можно увидеть на ютубе, например. Получалась странная картина — курсора нет, а его индикатор висит. Добавил детекцию исчезновения, теперь индикатор тоже будет исчезать. Люблю такие улучшения, не нужно делать никаких настроек в интерфейсе.
Пару недель назад пришлось часто перезагружаться. Индикатор никак не желал стартовать при запуске системы, что странно, потому что я уже лечил такую болезнь. Оказалось, там скрывалась древняя багуля, которая не давала это сделать, если в пути до файла были пробелы. Пришлось поколдовать с экранизацией кавычек.
Под шумок, исправил нелогичность при отключении индикации цветом таскбара. Меня так поразила просьба добавить эту фичу, ведь ради неё программа и была написана), что не учёл все нюансы при реализации. Цветные формы-подложки исчезали, а прозрачность сохранялась. Так же она продолжала работать, если включали Aero, хоть это и не нужно. Теперь всё чётко — выключена подсветка или включено Aero — возвращается прежняя прозрачность и отключаются, управляющие ей контролы.
Список изменений:
✅ Индикатор мышиного курсора автоматически скрывается, когда скрывается сам курсор.
🛠 (исправление) Программа не стартовала при запуске Виндовс, если в пути до неё, была директория с пробелом в названии.
🛠 (исправление) При отключении индикации цветом панели задач, возвращается изначальное значение её прозрачности. Тоже самое, происходит при использовании настройки «Aero»
https://khsoft.ru/download/test/LayoutIndicator.v2.8.1.test.zip
Заметил недавно, что приложения-плееры и видеохостеры скрывают мышиный курсор, когда смотришь видео. Причём, они это делают даже в оконном режиме, можно увидеть на ютубе, например. Получалась странная картина — курсора нет, а его индикатор висит. Добавил детекцию исчезновения, теперь индикатор тоже будет исчезать. Люблю такие улучшения, не нужно делать никаких настроек в интерфейсе.
Пару недель назад пришлось часто перезагружаться. Индикатор никак не желал стартовать при запуске системы, что странно, потому что я уже лечил такую болезнь. Оказалось, там скрывалась древняя багуля, которая не давала это сделать, если в пути до файла были пробелы. Пришлось поколдовать с экранизацией кавычек.
Под шумок, исправил нелогичность при отключении индикации цветом таскбара. Меня так поразила просьба добавить эту фичу, ведь ради неё программа и была написана), что не учёл все нюансы при реализации. Цветные формы-подложки исчезали, а прозрачность сохранялась. Так же она продолжала работать, если включали Aero, хоть это и не нужно. Теперь всё чётко — выключена подсветка или включено Aero — возвращается прежняя прозрачность и отключаются, управляющие ей контролы.
Список изменений:
✅ Индикатор мышиного курсора автоматически скрывается, когда скрывается сам курсор.
🛠 (исправление) Программа не стартовала при запуске Виндовс, если в пути до неё, была директория с пробелом в названии.
🛠 (исправление) При отключении индикации цветом панели задач, возвращается изначальное значение её прозрачности. Тоже самое, происходит при использовании настройки «Aero»
https://khsoft.ru/download/test/LayoutIndicator.v2.8.1.test.zip
👍8
Клавиатура Corsair
Пост про клавиатуру с программируемой подсветкой не прошёл даром!
На Авито была заказана такая же модель. SDK от производителя было изучено, исходники программы были просмотрены.
Итог — exe-файл потолстел на 500 Кб, а Индикатор теперь умеет мигать подсветкой клавиатуры от Corsair
Для включения, нужно поставить в расширенных настройках (правый клик по иконке с систрее), элемент «Поддержка клавиатур Corsair» в значение «True».
Список изменений:
✅ Поддержка индикации с помощью подсветки клавиатур Corsair
https://khsoft.ru/download/test/LayoutIndicator.v2.8.2.test.zip
Пост про клавиатуру с программируемой подсветкой не прошёл даром!
На Авито была заказана такая же модель. SDK от производителя было изучено, исходники программы были просмотрены.
Итог — exe-файл потолстел на 500 Кб, а Индикатор теперь умеет мигать подсветкой клавиатуры от Corsair
Для включения, нужно поставить в расширенных настройках (правый клик по иконке с систрее), элемент «Поддержка клавиатур Corsair» в значение «True».
Список изменений:
✅ Поддержка индикации с помощью подсветки клавиатур Corsair
https://khsoft.ru/download/test/LayoutIndicator.v2.8.2.test.zip
🔥4👍1
Процесс
https://youtu.be/dmbNmcIXk-0
https://youtu.be/dmbNmcIXk-0
YouTube
Рутина инди-разработчика: мигаем клавиатурой от Corsair
Сайт программы 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:…
🔥2👍1
А меж тем, у Индикатора появился первый клиент из Саудовской Аравии. Пришлось освоить приём платежей через криптовалюту. Это оказался преподаватель университета из Джедда.
Ещё он любезно предложил перевести интерфейс на арабский. Вот уж не думал, что после английского и русского это будет следующий язык, который добавится в программу.
Ещё он любезно предложил перевести интерфейс на арабский. Вот уж не думал, что после английского и русского это будет следующий язык, который добавится в программу.
👍5❤3👏1
Закрыл очень неприятную багулю, после конца триала программа превращалась в тыкву, не сообщая толком, что произошло. Страшно представить сколько людей просто удаляли программу после такого поведения и сколько ещё работающих копий с таким сюрпризом. Большое спасибо всем, кто сообщил об ошибке.
Нужно срочно готовить релиз.
Список изменений:
🛠 (исправление) Убрано зависание при показе формы окончания пробного периода
🛠 (исправление) Устранено ложное срабатывание детекции полного экрана при фокусе на рабочем столе в Windows 11
✅ Индикатор подхватывает устройства Corsair даже если их сервер запускается после него
✅ Добавлена поддержка арабского языка
https://khsoft.ru/download/test/LayoutIndicator.v2.8.4.test.zip
Нужно срочно готовить релиз.
Список изменений:
🛠 (исправление) Убрано зависание при показе формы окончания пробного периода
🛠 (исправление) Устранено ложное срабатывание детекции полного экрана при фокусе на рабочем столе в Windows 11
✅ Индикатор подхватывает устройства Corsair даже если их сервер запускается после него
✅ Добавлена поддержка арабского языка
https://khsoft.ru/download/test/LayoutIndicator.v2.8.4.test.zip
👍5
Новая версия — 2.8.6
Из-за исправления зависшей формы окончания пробного периода, пришлось сделать внеплановый релиз.
Список изменений:
✅ Добавлен новый способ определения текущей раскладки по системному индикатору Виндовс, для случаев когда есть несколько раскладок одного языка
✅ Снижена нагрузка на процессор при работе с заполненным чёрным списком и детекцией полноэкранных приложений
✅ Индикатор мышиного курсора автоматически скрывается когда скрывается сам курсор
✅ Поддержка индикации с помощью подсветки клавиатур Corsair
✅ Добавлена поддержка арабского языка
✅ Индикатор подхватывает устройства Corsair даже если их сервер запускается после него
🛠 (исправление) Подсветка панелей задач пропадала после сворачивания всех окон (win+d, win+m)
🛠 (исправление) Программа не стартовала при запуске Виндовс, если в пути до неё, была директория с пробелом в названии
🛠 (исправление) При отключении индикации цветом панели задач, возвращается изначальное значение её прозрачности. Тоже самое, происходит при использовании настройки «Aero»
🛠 (исправление) Убрано зависание при показе формы окончания пробного периода
🛠 (исправление) Устранено ложное срабатывание детекции полного экрана при фокусе на рабочем столе в Windows 11
🛠 (исправление) При включенной проверке полноэкранных приложений, на некоторых версиях Виндовс, индикация пропадала если фокус ввода
Работают все ключи регистрации от прошлых версий.
https://khsoft.ru/download/LayoutIndicator.v2.8.6.zip
#релиз
Из-за исправления зависшей формы окончания пробного периода, пришлось сделать внеплановый релиз.
Список изменений:
✅ Добавлен новый способ определения текущей раскладки по системному индикатору Виндовс, для случаев когда есть несколько раскладок одного языка
✅ Снижена нагрузка на процессор при работе с заполненным чёрным списком и детекцией полноэкранных приложений
✅ Индикатор мышиного курсора автоматически скрывается когда скрывается сам курсор
✅ Поддержка индикации с помощью подсветки клавиатур Corsair
✅ Добавлена поддержка арабского языка
✅ Индикатор подхватывает устройства Corsair даже если их сервер запускается после него
🛠 (исправление) Подсветка панелей задач пропадала после сворачивания всех окон (win+d, win+m)
🛠 (исправление) Программа не стартовала при запуске Виндовс, если в пути до неё, была директория с пробелом в названии
🛠 (исправление) При отключении индикации цветом панели задач, возвращается изначальное значение её прозрачности. Тоже самое, происходит при использовании настройки «Aero»
🛠 (исправление) Убрано зависание при показе формы окончания пробного периода
🛠 (исправление) Устранено ложное срабатывание детекции полного экрана при фокусе на рабочем столе в Windows 11
🛠 (исправление) При включенной проверке полноэкранных приложений, на некоторых версиях Виндовс, индикация пропадала если фокус ввода
Работают все ключи регистрации от прошлых версий.
https://khsoft.ru/download/LayoutIndicator.v2.8.6.zip
#релиз
👍5
У меня отпуск, ура! Перед выездом на полный пансионат (в село к родителям), удалось поковыряться в Индикаторе.
Было два багрепорта с очень странным поведением форм-подложек, которые дают цвет панелям задач, в сочетании с их прозрачностью.
Цветные куски оставались в разных частях экрана. Эта багуля всё никак не воспроизводилась, но сегодня мне удалось получить похожий эффект при изменении размеров экрана, в эмуляции на VirtualBox с несколькими мониторами. Помогло принудительное скрытие формы перед перемещением. Надеюсь, природа этой ошибки на виртуалке такая же как на реальных машинах.
Там же выяснилось, что после добавления кода получения уникального слепка компьютера, всё перестало работать на VirtualBox. Это исправление, конечно, большое для меня, вряд ли кто-то ещё столько времени гоняет Индикатор на виртуалках.
Дальше получилось заняться параметрами командной строки — это команды которые можно передать при запуске программы.
Сначала пошла хотелка от @Denis_e_87. Он написал, что не желает видеть иконку программы в систрее. На мой вопрос: «почему бы не переместить в её в скрытые?», получил внезапный ответ: «Но я то знаю, что она там есть» 🔥.
Я, как человек, который тоже регулярно хочет странного, не смог проигнорировать такой запрос, тем более, что добавить и поддерживать эту фичу — не сложно. Теперь, если вы выведёте команду «LayoutIndicator.exe -notrayicon», значка программы не будет в трее. Человек, сделавший такой финт, берёт на себя обязательство убивать процесс самостоятельно, т.к. меню с пунктом «Выход» у него не будет.
И чтобы два раза не вставать добавил там же команду «-withlog», она просто принудительно включает запись логов. Как-то нужна была такая функция, когда программа завершала работу сразу после запуска, отказываясь говорить, где у неё болит.
В расширенных настройках появился новый пункт, по просьбе @TutEvgen1984. Теперь можно сбрасывать настройки до заводских, если вы вдруг слишком их перекрутили.
После релиза, оказалось, что ссылка на сайт, с формы оповещения о новой версии, перестала работать. Я был так расстроен, что нужно вернуть полностью готовое автоматическое обновление, из-за паники антивирусов, что не проверил хорошо ли всё работает после возврата. Исправил.
Желаю всем хорошо отдохнуть. Спасибо за багрепорты и поддержку!
Список изменений:
✅ Добавлен параметр запуска «-notrayicon». Если программа будет запущена с ним, в системном трее не будет иконки приложения индикатора. В таком режиме, закрыть программу можно будет только через диспетчер задач
✅ Добавлен параметр запуска «-withlog», который принудительно включает запись в лог
✅ В расширенные настройки добавлен пункт для сброса всех настроек в изначальное состояние
🛠 (исправление) Не работала ссылка на форме оповещения о выходе новой версии программы
🛠 (исправление) Программа не работала на виртуальных машинах VirtualBox
🛠 (исправление) После перемещения форм-подложек, меняющих цвет панели задач, оставались следы
https://khsoft.ru/download/test/LayoutIndicator.v2.8.7.test.zip
Было два багрепорта с очень странным поведением форм-подложек, которые дают цвет панелям задач, в сочетании с их прозрачностью.
Цветные куски оставались в разных частях экрана. Эта багуля всё никак не воспроизводилась, но сегодня мне удалось получить похожий эффект при изменении размеров экрана, в эмуляции на VirtualBox с несколькими мониторами. Помогло принудительное скрытие формы перед перемещением. Надеюсь, природа этой ошибки на виртуалке такая же как на реальных машинах.
Там же выяснилось, что после добавления кода получения уникального слепка компьютера, всё перестало работать на VirtualBox. Это исправление, конечно, большое для меня, вряд ли кто-то ещё столько времени гоняет Индикатор на виртуалках.
Дальше получилось заняться параметрами командной строки — это команды которые можно передать при запуске программы.
Сначала пошла хотелка от @Denis_e_87. Он написал, что не желает видеть иконку программы в систрее. На мой вопрос: «почему бы не переместить в её в скрытые?», получил внезапный ответ: «Но я то знаю, что она там есть» 🔥.
Я, как человек, который тоже регулярно хочет странного, не смог проигнорировать такой запрос, тем более, что добавить и поддерживать эту фичу — не сложно. Теперь, если вы выведёте команду «LayoutIndicator.exe -notrayicon», значка программы не будет в трее. Человек, сделавший такой финт, берёт на себя обязательство убивать процесс самостоятельно, т.к. меню с пунктом «Выход» у него не будет.
И чтобы два раза не вставать добавил там же команду «-withlog», она просто принудительно включает запись логов. Как-то нужна была такая функция, когда программа завершала работу сразу после запуска, отказываясь говорить, где у неё болит.
В расширенных настройках появился новый пункт, по просьбе @TutEvgen1984. Теперь можно сбрасывать настройки до заводских, если вы вдруг слишком их перекрутили.
После релиза, оказалось, что ссылка на сайт, с формы оповещения о новой версии, перестала работать. Я был так расстроен, что нужно вернуть полностью готовое автоматическое обновление, из-за паники антивирусов, что не проверил хорошо ли всё работает после возврата. Исправил.
Желаю всем хорошо отдохнуть. Спасибо за багрепорты и поддержку!
Список изменений:
✅ Добавлен параметр запуска «-notrayicon». Если программа будет запущена с ним, в системном трее не будет иконки приложения индикатора. В таком режиме, закрыть программу можно будет только через диспетчер задач
✅ Добавлен параметр запуска «-withlog», который принудительно включает запись в лог
✅ В расширенные настройки добавлен пункт для сброса всех настроек в изначальное состояние
🛠 (исправление) Не работала ссылка на форме оповещения о выходе новой версии программы
🛠 (исправление) Программа не работала на виртуальных машинах VirtualBox
🛠 (исправление) После перемещения форм-подложек, меняющих цвет панели задач, оставались следы
https://khsoft.ru/download/test/LayoutIndicator.v2.8.7.test.zip
👍8
Парочка изменений в Индикаторе раскладки
Недавно разбирал несколько ошибок: не подхватывался файл настроек, не работала автозагрузка. Оказалось, человек запускал программу прямо из архива. Архиватор каждый раз создавал временную директорию. Естественно, никакого файла настроек там не было, а путь, прописанный для автозапуска, был неверный.
Всё это натолкнуло меня на идею, сделать инсталлятор. Это решение даёт сразу несколько плюсов:
✔️ Запуск из архива невозможен, инсталлятор положит файл сразу в распакованном виде.
✔️ Для Индикатора автоматически создастся директория с известным мне именем и путём. Это облегчит поддержку, редко кто меняет это значение при установке.
✔️ Есть шанс, что Виндовс, из-за распространённости такой поставки софта, перестанет ругаться на вирусы и разводить прочую панику.
✔️ На рабочем столе автоматически создаётся ярлык для запуска.
✔️ Стало удобней удалять программу через стандартную процедуру Виндовс.
Минусы, конечно, тоже есть, но пока это только дополнительное время на подготовку установщика и потяжелевший архив для скачивания. Посмотрим, что ещё всплывёт, буду благодарен за тесты и обратную связь.
За одно исправил две надоедливых багули:
1. Формы подсветки панелей задач опять начали сворачиваться по win+d. Не помню уже, который раз я это правлю, баг просто рекордсмен по возвращению. Вылазит на свет только на особенных версия Виндовс. Надеюсь, попрощались навсегда.
2. При смене цвета панели задач, форма подсветки становилась на некоторое время бледной и только потом перекрашивалась. Меня это давно раздражало, только сейчас дошли руки поправить.
Параллельно провожу рефакторинг для реализации поддержки бесконечного количества раскладок. Дело оказалось более фундаментальным т.к. назрела переработка интерфейса. Хочу сделать настройки более зависимыми от языка. Чтобы можно было включать, выключить и настраивать индикацию для конкретной его раскладки.
А между делом пилю свою вторую программку от ХаритоновСофт. Там я упоролся в современное написание интерфейсов под Виндовс, изучаю и пробую WPF. Делают на нём, конечно, красивое. Нужно сделать на таком же уровне. Программа уже много месяцев работает у меня в виде MVP, сразу намертво вписалась в рабочий процесс, как будто всегда там и была. Очень хочется выпустить её в свет, но работы ещё очень много.
Индикатор раскладки 2.9.0 - тестовая версия
Список изменений:
✅ У программы появился инсталлятор. Теперь это основной способ установки
🛠 (исправление) В очередной раз, исправлено исчезновение форм подсветки панели задач, по нажатию win+d, на некоторых версиях Виндовс
🛠 (исправление) Форма подсветки панели задач становились бледными на некоторое время, перед тем как поменять цвет
Недавно разбирал несколько ошибок: не подхватывался файл настроек, не работала автозагрузка. Оказалось, человек запускал программу прямо из архива. Архиватор каждый раз создавал временную директорию. Естественно, никакого файла настроек там не было, а путь, прописанный для автозапуска, был неверный.
Всё это натолкнуло меня на идею, сделать инсталлятор. Это решение даёт сразу несколько плюсов:
✔️ Запуск из архива невозможен, инсталлятор положит файл сразу в распакованном виде.
✔️ Для Индикатора автоматически создастся директория с известным мне именем и путём. Это облегчит поддержку, редко кто меняет это значение при установке.
✔️ Есть шанс, что Виндовс, из-за распространённости такой поставки софта, перестанет ругаться на вирусы и разводить прочую панику.
✔️ На рабочем столе автоматически создаётся ярлык для запуска.
✔️ Стало удобней удалять программу через стандартную процедуру Виндовс.
Минусы, конечно, тоже есть, но пока это только дополнительное время на подготовку установщика и потяжелевший архив для скачивания. Посмотрим, что ещё всплывёт, буду благодарен за тесты и обратную связь.
За одно исправил две надоедливых багули:
1. Формы подсветки панелей задач опять начали сворачиваться по win+d. Не помню уже, который раз я это правлю, баг просто рекордсмен по возвращению. Вылазит на свет только на особенных версия Виндовс. Надеюсь, попрощались навсегда.
2. При смене цвета панели задач, форма подсветки становилась на некоторое время бледной и только потом перекрашивалась. Меня это давно раздражало, только сейчас дошли руки поправить.
Параллельно провожу рефакторинг для реализации поддержки бесконечного количества раскладок. Дело оказалось более фундаментальным т.к. назрела переработка интерфейса. Хочу сделать настройки более зависимыми от языка. Чтобы можно было включать, выключить и настраивать индикацию для конкретной его раскладки.
А между делом пилю свою вторую программку от ХаритоновСофт. Там я упоролся в современное написание интерфейсов под Виндовс, изучаю и пробую WPF. Делают на нём, конечно, красивое. Нужно сделать на таком же уровне. Программа уже много месяцев работает у меня в виде MVP, сразу намертво вписалась в рабочий процесс, как будто всегда там и была. Очень хочется выпустить её в свет, но работы ещё очень много.
Индикатор раскладки 2.9.0 - тестовая версия
Список изменений:
✅ У программы появился инсталлятор. Теперь это основной способ установки
🛠 (исправление) В очередной раз, исправлено исчезновение форм подсветки панели задач, по нажатию win+d, на некоторых версиях Виндовс
🛠 (исправление) Форма подсветки панели задач становились бледными на некоторое время, перед тем как поменять цвет
👍4
Немного процесса разработки
Добавил таблицу, в которую попадают все, установленные в системе раскладки.
И черновик формы для их настройки.
Добавил таблицу, в которую попадают все, установленные в системе раскладки.
И черновик формы для их настройки.
👍4
Бесконечные раскладки
Появление на свет Индикатора было спонтанным и стремительным. Чисто тулза для себя, проверить, какого это — иметь вменяемую индикацию языка. Данное обстоятельство, плюс многолетний перерыв в написании кода под десктоп, заложили кривой кирпич в фундамент программы — я решил, что поддержки трёх раскладок будет достаточно.
На первой картинке Индикатор 1.0
Долгое время это было так. Только спустя много месяцев подтянулись лингвисты с шестью языками и просто люди с множественными раскладками в одном языке. Они изредка писали мне письма о невозможности индикации старо-монгольского, даже пришлось пилить костыль, чтобы такая конфигурация не приводила к краху.
И с тех пор этот технический долг маячил на горизонте. Каждое добавление фичи, зависящей от раскладки, добавляло код, который усугублял положение и увеличивал объём будущей работы. Когда я подошёл к добавлению звуков печати для разных языков, стало понятно, что делать это нужно только после поддержки любого количества раскладок.
Я таки продрался через толщу рефакторинга и рад представить первую тестовую версию где эта проблема решена.
На главном окне список со всем, что установлено в системе. Раскладкозависимые настройки задаются в отдельной форме. По хожу доработки разделил настройки для назначения альтернативных цветов и альтернативного текста плавающих индикаторов (это курсорный и индикатор каретки).
Теперь есть куда добавлять настройки звука, когда он будет готов. 😀
Всем тестирующим, советую поставить в отдельную директорию, изменений очень много, большой риск что-то упустить, так что лучше оставить себе путь к отступлению.
Ещё раз большое спасибо всем, кто тестирует и поддерживает!💪
Список изменений:
✅ Поддержка бесконечного количества раскладок
✅ Новая форма редактирования настроек для конкретной раскладки
✅ Новый формат файла хранения настроек для раскладок
✅ Поддержка файлов настроек от предыдущих версий
✅ Новые цвета раскладок по умолчанию
✅ Появилась возможность отдельно задать альтернативный цвет и альтернативный текст для плавающих индикаторов (мышь + каретка)
Индикатор раскладки 2.9.1 - тестовая версия
#li291
Появление на свет Индикатора было спонтанным и стремительным. Чисто тулза для себя, проверить, какого это — иметь вменяемую индикацию языка. Данное обстоятельство, плюс многолетний перерыв в написании кода под десктоп, заложили кривой кирпич в фундамент программы — я решил, что поддержки трёх раскладок будет достаточно.
На первой картинке Индикатор 1.0
Долгое время это было так. Только спустя много месяцев подтянулись лингвисты с шестью языками и просто люди с множественными раскладками в одном языке. Они изредка писали мне письма о невозможности индикации старо-монгольского, даже пришлось пилить костыль, чтобы такая конфигурация не приводила к краху.
И с тех пор этот технический долг маячил на горизонте. Каждое добавление фичи, зависящей от раскладки, добавляло код, который усугублял положение и увеличивал объём будущей работы. Когда я подошёл к добавлению звуков печати для разных языков, стало понятно, что делать это нужно только после поддержки любого количества раскладок.
Я таки продрался через толщу рефакторинга и рад представить первую тестовую версию где эта проблема решена.
На главном окне список со всем, что установлено в системе. Раскладкозависимые настройки задаются в отдельной форме. По хожу доработки разделил настройки для назначения альтернативных цветов и альтернативного текста плавающих индикаторов (это курсорный и индикатор каретки).
Теперь есть куда добавлять настройки звука, когда он будет готов. 😀
Всем тестирующим, советую поставить в отдельную директорию, изменений очень много, большой риск что-то упустить, так что лучше оставить себе путь к отступлению.
Ещё раз большое спасибо всем, кто тестирует и поддерживает!
Список изменений:
✅ Поддержка бесконечного количества раскладок
✅ Новая форма редактирования настроек для конкретной раскладки
✅ Новый формат файла хранения настроек для раскладок
✅ Поддержка файлов настроек от предыдущих версий
✅ Новые цвета раскладок по умолчанию
✅ Появилась возможность отдельно задать альтернативный цвет и альтернативный текст для плавающих индикаторов (мышь + каретка)
Индикатор раскладки 2.9.1 - тестовая версия
#li291
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Индикация звуком
Не думал об озвучивании нажатий клавиш для разных раскладок. Давно печатаю в слепую на обоих языках и сразу вижу, если начал не на том, плюс цвет панели и флажки помогают.
Когда Владимир написал эту идею, просто добавил в список, где лежат все задумки. Потом вспомнил как один коллега, которому я посоветовал поставить Индикатор, сказал, что он при печати не смотрит на экран, поэтому моё приложение не поможет. И вообще, стали часто попадаться на глаза люди, печатающие не на том языке, уткнувшись в клавиатуру. Так, потихоньку, эта идея становилась всё более привлекательной. Да и если бы я добавлял в программу только то, что нужно лично мне, она бы замерла примерно на версии 1.1 😊
К пожеланиям Владимира присоединился Oleg, с тезисом, что озвучивать каждое нажатие — это перебор, нужно отключать звук после какого-то времени с момента переключения либо после определённого количества символов.
Такое ТЗ легло в основу доработки. Благо теперь настройки для каждой раскладки на отдельной форме, просто добавил вкладку «🎶 Звуки». Сообразил, что в названия можно добавлять иконки юникода и добавил их, между делом, для всех вкладок.
У раскладки есть два события которые можно озвучить:
1. Переключение на неё
2. Нажатие клавиши, когда она активна
Встроил небольшую библиотеку звуков для обоих случаев. Рядом с выпадающем списком можно настроить громкость и послушать как они будут звучать.
С первым пунктом всё понятно, а вот озвучка нажатий может быть настроена более тонко. Выключаться по прошествую времени или набору определённого количества символов. И включаться обратно, если долго ничего не печатали.
Моё погружение в мир работы со звуком в .Net это история, заслуживающая отдельного поста. Там был весь спектр эмоций. 😊
Библиотека, позволяющая всё это делать, почему-то не хочет встраиваться в исполняемый файл, поэтому она пока будет появляться в директории с программой, при первом запуске.
Спасибо всем причастным!
Список изменений:
✅ Перевод новой части интерфейса на английский и арабский
✅ Добавлена возможность индикации звуком при переключении раскладок и наборе текста
✅ У вкладок настроек появились иконки
🛠 (исправление) Опечатки в английском переводе
Индикатор раскладки 2.9.3 - тестовая версия
Не думал об озвучивании нажатий клавиш для разных раскладок. Давно печатаю в слепую на обоих языках и сразу вижу, если начал не на том, плюс цвет панели и флажки помогают.
Когда Владимир написал эту идею, просто добавил в список, где лежат все задумки. Потом вспомнил как один коллега, которому я посоветовал поставить Индикатор, сказал, что он при печати не смотрит на экран, поэтому моё приложение не поможет. И вообще, стали часто попадаться на глаза люди, печатающие не на том языке, уткнувшись в клавиатуру. Так, потихоньку, эта идея становилась всё более привлекательной. Да и если бы я добавлял в программу только то, что нужно лично мне, она бы замерла примерно на версии 1.1 😊
К пожеланиям Владимира присоединился Oleg, с тезисом, что озвучивать каждое нажатие — это перебор, нужно отключать звук после какого-то времени с момента переключения либо после определённого количества символов.
Такое ТЗ легло в основу доработки. Благо теперь настройки для каждой раскладки на отдельной форме, просто добавил вкладку «🎶 Звуки». Сообразил, что в названия можно добавлять иконки юникода и добавил их, между делом, для всех вкладок.
У раскладки есть два события которые можно озвучить:
1. Переключение на неё
2. Нажатие клавиши, когда она активна
Встроил небольшую библиотеку звуков для обоих случаев. Рядом с выпадающем списком можно настроить громкость и послушать как они будут звучать.
С первым пунктом всё понятно, а вот озвучка нажатий может быть настроена более тонко. Выключаться по прошествую времени или набору определённого количества символов. И включаться обратно, если долго ничего не печатали.
Моё погружение в мир работы со звуком в .Net это история, заслуживающая отдельного поста. Там был весь спектр эмоций. 😊
Библиотека, позволяющая всё это делать, почему-то не хочет встраиваться в исполняемый файл, поэтому она пока будет появляться в директории с программой, при первом запуске.
Спасибо всем причастным!
Список изменений:
✅ Перевод новой части интерфейса на английский и арабский
✅ Добавлена возможность индикации звуком при переключении раскладок и наборе текста
✅ У вкладок настроек появились иконки
🛠 (исправление) Опечатки в английском переводе
Индикатор раскладки 2.9.3 - тестовая версия
👍4❤1