Если кто-то пытается добавить курсоры со своими языками, небольшая памятка:
Не забывайте в файле resource.h установить правильный идентификатор курсора, он должен соответствовать идентификатору языка из этой таблицы: msdn.microsoft.com/en-us/goglobal/bb964664 (последняя колонка). Сейчас уже есть идентификаторы русского и американского английского:
К сожалению, не удалось найти внятной документации об этом на MSDN. Судя по этому обсуждению событие HSHELL_LANGUAGE можно отловить только для своего процесса. Хотя это необходимо проверить.
К сожалению, не знаю с чем может быть связана эта проблема :( Попробуйте добавить такой ключ в реестр и перезагрузиться (должно отключить сервисы для восточноазиатских языков). Windows Registry Editor Version 5.00
Программа при загрузке запоминает текущий системный курсор, при изменении языка она его подменяет, и если в этот момент убить программу, то системный курсор останется подменённым на версию с иконкой языка.
Если вы пытаетесь выбрать язык, для которого нет курсора (а курсор сейчас есть только для русского и для английского), то программа отображает стандартный курсор, который она сохранила при загрузке.
Для нормальной работы после убийства программы нужно сперва сбросить курсор на нормальный, и только после этого запускать новый экземпляр.
Чтобы этого избежать, нужно будет реализовать нормальную процедуру выхода, когда курсор восстанавливался бы сам. В ближайшем обновлении реализуем.
Перед этим вы запускали перманентную версию? Если да, то после её убийства до перезагрузки остаётся курсор с последним языком, и обычная версия использует этот курсор как основной. Чтобы сбросить без перезагрузки, зайдите в настройки курсоров мыши и обновите там курсор редактирования текста сперва на какой-нибудь левый, затем опять на стандартный.
Чтобы язык постоянно отображался рядом с курсором курсором редактирования текста, достаточно просто убрать хук на клавиатуру и запустить таймер без ограничений по времени. Кода получится ещё меньше.
Правда это не очень красивое решение. Более грамотно было бы внедрять во все процессы dll, которая отлавливала бы событие изменения языка в приложении и меняла соответствующим образом курсор. Заметка на будущее.
У меня Windows 7 SP Professional (английская, x86), плюс тестировал на Windows XP — работало. Вы нажимаете Shift, когда курсор находится над полем для ввода? Дело в том, что индикация появляется только по нажатию на Shift. Я это сделал для того, чтобы в браузере при чтении текста индикация не отображалась на этом же курсоре.
Очень жаль, что кроме Google почти никто из гигантов не поддерживает свободные технологии.
Сейчас под эгидой Xiph (разработчики Ogg Vorbis и FLAC) активно разрабатывается кодек Opus, который по характеристикам выглядит очень выигрышно среди конкурентов.
Не знаю, где на этой картинке будет AAC-ELD, но по сравнению с AAC-LD у Opus на порядок больше очков.
Ради интереса посмотрел как это сделано в хроме. Действительно сделали очень удобно. Надеюсь, что когда-нибудь Firefox возьмёт из Chrome подобную организацию профилей и приватного режима.
А мне кажется, вместо средств разработчика (что нужно не всем, а только веб-разработчикам!) лучше бы они встраивали функции популярных расширений.
— Download Statusbar (в Chrome такое уже встроено)
— Tab Mix Plus (многострочные табы — киллерфича перед другими браузерами). Сейчас это расширение активно поддерживается автором. Но мне кажется, лучше чтобы многие из его возможностей были встроены в Firefox.
— Locationbar² (функция быстрого перехода в нужный каталог на сайте простым кликом).
— Очень не хватает возможности создания нового окна в приватном режиме (чтобы окно в обычном режиме тоже оставалось)
— All-in-One Sidebar (привоит в порядок все боковые панели, удобная переключалка)
Он не нарушает минималистичность в свёрнутом виде, и разворачивается по клику по клику по однопиксельной полоске слева:
Автор сейчас практически не занимается этим расширением, поэтому до сих пор кнопки выглядят не очень опрятно (в новых версиях Firefox у маленьких кнопок не должно быть обводок) и есть кое-какие проблемы, решением которых никто не занимается.
— ScrapBook (позволяет сохранять в себе целые страницы или их фрагменты). ИМХО, очень полезный инструмент, и в других браузерах полноценного аналога пока что нет. Но сейчас он не дорабатывается, возникающие проблемы не решаются.
Всё-таки лучше, когда популярные вещи поддерживались разработчиками на должном уровне. Не все авторы расширений, к сожалению, сейчас активно поддерживают свои разработки.
Не забывайте в файле resource.h установить правильный идентификатор курсора, он должен соответствовать идентификатору языка из этой таблицы: msdn.microsoft.com/en-us/goglobal/bb964664 (последняя колонка). Сейчас уже есть идентификаторы русского и американского английского:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IMM]
"LoadIMM"=dword:00000000
Если вы пытаетесь выбрать язык, для которого нет курсора (а курсор сейчас есть только для русского и для английского), то программа отображает стандартный курсор, который она сохранила при загрузке.
Для нормальной работы после убийства программы нужно сперва сбросить курсор на нормальный, и только после этого запускать новый экземпляр.
Чтобы этого избежать, нужно будет реализовать нормальную процедуру выхода, когда курсор восстанавливался бы сам. В ближайшем обновлении реализуем.
Правда это не очень красивое решение. Более грамотно было бы внедрять во все процессы dll, которая отлавливала бы событие изменения языка в приложении и меняла соответствующим образом курсор. Заметка на будущее.
У Opus такие характеристики:
То есть, у Opus и здесь характеристики более привлекательные.
Сейчас под эгидой Xiph (разработчики Ogg Vorbis и FLAC) активно разрабатывается кодек Opus, который по характеристикам выглядит очень выигрышно среди конкурентов.
Не знаю, где на этой картинке будет AAC-ELD, но по сравнению с AAC-LD у Opus на порядок больше очков.
— Download Statusbar (в Chrome такое уже встроено)
— Tab Mix Plus (многострочные табы — киллерфича перед другими браузерами). Сейчас это расширение активно поддерживается автором. Но мне кажется, лучше чтобы многие из его возможностей были встроены в Firefox.
— Locationbar² (функция быстрого перехода в нужный каталог на сайте простым кликом).
— Очень не хватает возможности создания нового окна в приватном режиме (чтобы окно в обычном режиме тоже оставалось)
— All-in-One Sidebar (привоит в порядок все боковые панели, удобная переключалка)
Он не нарушает минималистичность в свёрнутом виде, и разворачивается по клику по клику по однопиксельной полоске слева:
Автор сейчас практически не занимается этим расширением, поэтому до сих пор кнопки выглядят не очень опрятно (в новых версиях Firefox у маленьких кнопок не должно быть обводок) и есть кое-какие проблемы, решением которых никто не занимается.
— ScrapBook (позволяет сохранять в себе целые страницы или их фрагменты). ИМХО, очень полезный инструмент, и в других браузерах полноценного аналога пока что нет. Но сейчас он не дорабатывается, возникающие проблемы не решаются.
Всё-таки лучше, когда популярные вещи поддерживались разработчиками на должном уровне. Не все авторы расширений, к сожалению, сейчас активно поддерживают свои разработки.