Mahou icon indicating copy to clipboard operation
Mahou copied to clipboard

не работают флаги рядом с кареткой в Google chrome, текст выделяется черным цветом в microsoft word

Open artyompetrov opened this issue 6 years ago • 9 comments

Не работают флаги рядом с кареткой в Google chrome

Текст выделяется черным цветом в microsoft word

Неплохо было бы добавить полупрозрачность для флагов около каретки, полупрозрачность работает только для текста

artyompetrov avatar Jun 01 '19 14:06 artyompetrov

Ну у меня флаги на месте, попробуй перезапусти и Mahou и Chrome. Какая версия всего что есть? Система, Mahou, Chrome, Word?

Текст выделяется черным цветом в microsoft word

Вообще не понимаю о чём ты. Можешь гифку сделать?

BladeMight avatar Jun 14 '19 23:06 BladeMight

Видишь? На месте. Mahou CaretTT

BladeMight avatar Jun 14 '19 23:06 BladeMight

Текст выделяется черным цветом в microsoft word

разобрался в чем было дело, с Вашей программой это не связано

гифки делать не умею поэтому скриншоты

в хроме: image

с той же конфигурацией Mahou, но в проводнике: image

версия Chrome 75.0.3770.90 (Официальная сборка), (64 бит) Windows 10

В Visual Studio 2019 кстати тоже не работает.

artyompetrov avatar Jun 15 '19 03:06 artyompetrov

Кстати:

попробуй перезапусти и Mahou и Chrome

в таком порядке: закрой Chrome, перезапусти Mahou и открой Chrome.

Попробуй запустить Mahou от админа.

Попробуй Mahou-latest-commit(Release_x86_x64.zip).

BladeMight avatar Jun 15 '19 11:06 BladeMight

Попробовал, не помогло. Не в Сhrome ни в Visual Studio.

P.S. Было бы неплохо реализовать функционал смены цвета панели задач при смене языка, боковым зрением был бы виден язык всегда. Видел похожее решение для win7 здесь (https://github.com/shestakov/Kilo), но для win10 изменилось api и данное решение не работает. Цвет панели задач в win10 в принципе возможно менять локально (без смены всей цветовой темы) - вот этот проект умеет это делать https://github.com/Elestriel/TaskbarTools Хочу сам этим заняться, но пока времени нет, м.б. ты оценишь идею.

artyompetrov avatar Jun 15 '19 12:06 artyompetrov

Странно, может быть такое что в W10 больше не работают API для получения каретки в Chrome... Или в новом Chrome...?(у меня 72.0.3626.121) Попробуй тут: CaretAttach.zip - это проект заготовка которую я делал перед тем как внедрять в Mahou. (exe в bin\Release) , если тут будет работать, значит это я напортачил с многочисленными правилами при который подсказка каретки не должна появляться. (хотя всё же в большинстве случаев в Chrome/Firefox и других браузерах которые имеют собственный интерфейс(не стандартный от Windows) - может не работать, у меня такое бывает, но у мне помогает перезагрузка обоих)

Интересная идея с панелью, в Kilo, удивительно, там используется похожий метод на тот что и в JKL для мониторинга раскладки, который я лично считаю лучшим.(в отличии от GetKeyboardLayout(dwThread); что в консольных приложениях - не работает...), а цвета меняет используя DWM API, А в TaskbarTools используется цвета меняются через реестр: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Accent\StartColorMenu, как я понял за раскладкой этот не следит.

BladeMight avatar Jun 15 '19 16:06 BladeMight

Поле прикрепилось к левому верхнему углу окна: image аналогичное поведение наблюдается в UWP приложениях, видимо хром в 10-ке уже ведет себя как UWP-приложение.

А в TaskbarTools используется цвета меняются через реестр ... как я понял за раскладкой этот не следит.

Да не следит, в качестве примера использования нового (или недокументированного) API привел этот проект. На сколько я понял, что не только через реестр меняется цвет: в режиме ACCENT_ENABLE_GRADIENT довольно живо меняет цвет панели задач (двигаю мышью по палитре цвет меняется мгновенно), через реестр будет намного медленнее и Proccess Monitor не показывает что были обращения к реестру в этом режиме. Я пробовал реализовать смену цвета через реестр, результат меня не устроил – в момент смены значения ключа загрузка процессора пиково возрастает до 100% и ввод немного подвисает. image

artyompetrov avatar Jun 15 '19 17:06 artyompetrov

Поле прикрепилось к левому верхнему углу экрана

Значит функция WinAPI которая получает позицию каретки не работает. :( Ничего не поделаешь, попробуй в более старой версии Chrome, или CentBrowser например. Если не поможет значит дело в W10....

Ну может еще как-то по-новому в W10 через AccentPolicy или еще как. Но в основном здесь: Globals.cs#L62 похоже что при "установке цвета" просто пишется в конфиг, а в конфиге при "set" вызывается "Taskbars.UpdateColor()", а там уже устанавливается AccentPolicy, дальше оно меняет цвет, похоже через "SetWindowCompositionAttribute" в Taskbar.cs#L30 если я не ошибаюсь.

BladeMight avatar Jun 15 '19 17:06 BladeMight

да так и есть, у меня получилось интегрировать поддержку win10 в Kilo (https://github.com/artyompetrov/Kilo). Основная часть кода здесь ColorSettingsController.cs вдруг надумаешь в Mahou добавить аналогичную функцию.

artyompetrov avatar Jun 29 '19 19:06 artyompetrov