Mahou
Mahou copied to clipboard
Предложения по улучшению переключений регистра.
Привет!
- Хочу предложить опцию для переключения регистра циклично: слово -> Слово -> СЛОВО -> слово
При этом необходимо будет помнить только один хоткей, хоть и придётся тыркнуть два раза, вместо одного. Однако для простого человека гораздо проще нажать два раза, чем помнить три или четыре!! хоткея (как сейчас).
Возможно также было бы проще объединить два пункта "выделенные слова в верхний регистр" и "выделенные слова в нижний регистр" и переключать их циклически (опять же, запоминать придётся лишь один хоткей, а не два). (И да, это не переключение в "оБРАТНЫЙ регистр")
Что думаешь?
- Сейчас конвертация регистра очень дооолгая, видно как каретка и всё выделение потряхивает (и чем больше строк в выделении, тем это зловещее). Тут наверное, какая-то загвоздка?
P.S. Кое-что о твоей программе, думаю, ты оценишь. Из недалёкого прошлого. Снёс punto switcher и поставил другое детище того же автора - caramba. Caramba имеет три кнопки: вкл, выкл и написать разработчику. В принципе, автопереключение у неё добротное, но есть явные косяки с некоторой логикой. Ну я и написал раработчику, мы немного попереписывались и он сказал, мол он пилит то, что пилит, у него своя чёткая концепция, а кому что не нравится, пусть идёт лесом. Я удивился. Ещё раз ему написал. И вот тут случилось самое главное. То из-за чего весь эксперимент с карамбой был точно не зря. Он предложил мне воспользоваться твоей программой! Судя по подписи в емейле писал "сам" автор punto ... Вот такая поучительная история. Every acquisition is loss and every loss is an acquisition.
-
Ну можно и сделать, к тому же ты не первый кто спрашивает(на GitHub вроде бы первый).
-
А ну это - потому что сконвертированный текст "вводиться", я уже думал добавить возможность менять тип ввода "Ввод"(по-символьно) и "Вставка"(сразу всё), но тогда меня остановило что могут быт проблемы в некоторых программах, т.е. не получать Ctrl+V/Shift+Insert для вставки. Может всё-таки добавить и проверить как будет работать... (в процессе добавления...)
P.S. Кое-что о твоей программе, думаю, ты оценишь. Из недалёкого прошлого. Снёс punto switcher и поставил другое детище того же автора - caramba. Caramba имеет три кнопки: вкл, выкл и написать разработчику. В принципе, автопереключение у неё добротное, но есть явные косяки с некоторой логикой. Ну я и написал раработчику, мы немного попереписывались и он сказал, мол он пилит то, что пилит, у него своя чёткая концепция, а кому что не нравится, пусть идёт лесом. Я удивился. Ещё раз ему написал. И вот тут случилось самое главное. То из-за чего весь эксперимент с карамбой был точно не зря. Он предложил мне воспользоваться твоей программой! Судя по подписи в емейле писал "сам" автор punto ... Вот такая поучительная история. Every acquisition is loss and every loss is an acquisition.
Круто...
Может всё-таки добавить и проверить как будет работать... (в процессе добавления...)
Добавил таки, 3ffddce Mahou-latest-commit. Во вкладке "Тайминги", внизу, добавил чекбокс "Использовать вставку для конвертаций выделенного." если его включить и применить, то после конвертации любого выделенного текста - его результат будет "вставлен"(сразу всё), а не введен по-символьно. UPD: исправил проблему что не работала вставка 1f1cb03, latest-commit там же.
Здорово! Приятно смотреть, заменяет быстро и гладко!
Чуть потестил, заметил пару багов:
I. Не учитывается: "Выделять заново текст после конвертации".
II. В либро оффис вываливается с "Requested clipboard format is not available." Я конвертил в ВЕРХНИЙ, оБРАТНЫЙ и Заглавный. Обычно со 2-3 раза вылетает.
В notepad++ работает без нареканий.
I. Не учитывается: "Выделять заново текст после конвертации".
Да, я отключил её потому что эта функция использует "ввод" Shift+Left*(Количество символов) и будет выглядеть медленно после "Вставки". Я думал как еще можно сделать чтобы выделялся текст, но пока ничего кроме Shift+Left - не придумал...
II. В либро оффис вываливается с "Requested clipboard format is not available."
Из того что я нашел, видимо при вставке текста он иногда может подумать что ему нужен другой формат. Там же предлагают использовать "Вставку только текста". В Libre Office меню => сервис => настройка... => вкладка "Клавиатура" => Внизу в колонке справа выбери "Правка" => В колонке слева выбери "Вставить только текст" => Нажми на любом месте в списке "Клавиши" выше => Нажми Ctrl+V => Нажми кнопку "Назначить" слева от списка "Клавиши", т.е. в итоге ты настроишь на "Вставить только текст" Ctrl+V, что в итоге должно помочь исходя из того что писали на том форуме. P.S. У меня такой ошибки не возникало даже без настройки "Вставить только текст" на Ctrl+V. Версия LibreOffice:
Версия: 6.2.5.2 (x86)
ID сборки: 1ec314fa52f458adc18c4f025c545a4e8b22c159
А может от горячей клавиши зависит? У меня на Shift+F2/F3/F4 настроены.
- Поставил комбинации как у тебя. И примерно с 4-6 раза всё равно вываливается.
- Также заметил, что текст в несколько строчек не даёт ошибок сколько бы я не конвертил. А текст на полторы-две страницы рано или поздно вываливается с "Requested clipboard format is not available."
- Сделал переназначение на "вставить неформатированный текст". Ошибка исчезла. Но каждого юзера так не заставишь делать. ... Походу, ваять совместимость со всеми зверинцами тот ещё геморр для разработчиков -(
у меня LO такой же самой версии, только х64.
Сделал переназначение на "вставить неформатированный текст". Ошибка исчезла. Но каждого юзера так не заставишь делать. ... Походу, ваять совместимость со всеми зверинцами тот ещё геморр для разработчиков -(
Ну вот и хорошо! Ну а я все же сделал скрытую настройку для использования Ctrl+Shift+Alt+V в LibreOffice, чтобы её включить нужно вручную отредактировать Mahou.ini(и закрыть Mahou перед редактированием, а ни то перезапишет) найти:
[Hidden]
LibreCtrlAltShiftV=false
Поменять false
на true
, запустить Mahou.
[Hidden] LibreCtrlAltShiftV=false
Работает, больше пока ошибку не выдавал.
Хочу предложить опцию для переключения регистра циклично: слово -> Слово -> СЛОВО -> слово
Добавил в c90d308, порядок по умолчанию: TULSR
, T=Заглавный, U=ВЕРХНИЙ, L=нижний, S=оБРАТНЫЙ, R=сЛуЧАйНый. Также порядок можно изменить в скрытой настройке в Mahou.ini:
[Hidden]
...
CycleCase=TULSR
не забывай про:
нужно вручную отредактировать Mahou.ini(и закрыть Mahou перед редактированием, а ни то перезапишет)
Допустим если ты хочешь убрать обратный и случайные регистры то тогда просто оставь TUL
, или в любом другом порядке: LUT
/ULT
/UTL
/LTU
... в Mahou.ini:
[Hidden]
...
CycleCase=TUL
P.S. Сейчас порядок запоминается полностью, т.е. для каждого нового выделения порядок будет продолжаться, т.е. (Исходя из порядка TUL) если последний текст ты конвертировал в U, то следующий выделенный будет в L, можно сделать и по другому, мне почему-то кажется что так удобнее... И еще даже можно переключиться на следующий по порядку тип конвертации если нажать горячую клавишу без выделенного текста, полезно если запомнил порядок, хочешь как-то конкретно переключить, например в порядке: TULSR
- хочешь сначала R, потом S, то тогда нужно дойти до R, нажать гор. клавишу 3 раза без выделенного текста и потом будет уже конвертация в S.
И да по поводу работы этой функции с авто-выделением:
I. Не учитывается: "Выделять заново текст после конвертации".
Сейчас придется либо пожертвовать функцией "Использовать вставку для конвертаций выделенного"(и конвертировать маленькие тексты) либо выделять самому каждый раз. Может я придумаю другой способ(более быстрый) пере-выделять текст, но пока даже идей нет...
И да, новая горячая клавиша во вкладке "Горячие клавиши", в самом низу списка.
"Использовать вставку для конвертаций выделенного"
- в LibreDraw работает непредсказуемо. Если поставить 'LibreCtrlAltShiftV=True' - может перевести, а может и нет. Также может начать пастить вместо конвертирования, т.е. выделенный текст вставлять, вставлять (дублировать выделенный текст).
- Если же поставить 'LibreCtrlAltShiftV=False', то ничего не будет происходить, ничего заметного глазу. Пробовал менять в самом Draw хоткеи (как ты писал выше) - не помогает.
- В некоторых других приложениях, где используется форматированный текст тоже разные казусы выходят. Так что я эту фичу то включаю, то выключаю. Будем ждать твою эврику, может осенит.
Цикличный порядок
CycleCase=TUL
Ты наверное имел в виду
CycleCaseOrder=
Также порядок можно изменить
Вот это ты очень здорово придумал! Круче даже чем была моя изначальная хотелка. Чуть потестил - работает хорошо!
Сейчас порядок запоминается полностью, т.е. для каждого нового выделения порядок будет продолжаться
Это весьма оригинально. Хотя пользователь, думаю, ожидал бы чтоб каждое новое выделение начиналось с изначального порядка. Вот такой пример с TUL: выделили слово, нажали дважды, получили UPERCASE. Далее выделяем другое слово (обычное слово в нижнем регистре), нажали и получили lowercase (нулевое действие). А так (со сбросом порядка), если любимое действие, например U, то оно будет каждый раз первым. А если любимое действие тот же U, а последовательность 5ти шаговая TULSR, то любимое действие будет на неизвестном шаге.
И еще даже можно переключиться на следующий по порядку тип конвертации если нажать горячую клавишу без выделенного текста
Вот это, думаю, интересно. Но опять же если со сбросом порядка, то можно без выделения нажать нужное кол-во раз, выделить и сразу получить нужную конвертацию. Lite вариант для тех, кто любит запоминать.
Ты наверное имел в виду CycleCaseOrder=
Да, да именно!
со сбросом порядка
Нужно просто сделать правила для сброса, например:
- При изменении позиции каретки
- при клике мыши
- при смене окон
- при нажатии специальных клавиш вроде Tab/Ctrl+A
- и т.д. (нужно еще подумать)
В общем я могу сделать чтобы сбрасывалось. Попробую сделать тоже скрытую функцию: CycleCaseReset=true
Нужно просто сделать правила для сброса
И из-за того что:
I. Не учитывается: "Выделять заново текст после конвертации".
в режиме "Использовать вставку для конвертаций выделенного" - будет сбрасываться при ручном повторном выделении... Может сделать выбор и для правил? Сейчас сделал так чтобы сброс происходил из-за:
- Alt/Shift/Win/Ctrl + Tab
- Home, End, PgUp, PgDn, →↑↓←, BrowserSearch, Alt/Shift/Win/Ctrl + [любая клавиша ввода]
- BackSpace
- Space
- Enter
- Любая клавиша ввода
- Левая/Правая клавиша мыши
- При изменение фокуса объекта в окнах(например в окне две текстовые формы, при переключении(мышью/клавиатурой или другим способом) между ними будет смена фокуса объекта)
- При изменении окна на переднем плане.
проверить можно уже в 5403416.
И повторюсь насчёт:
в режиме "Использовать вставку для конвертаций выделенного" - будет сбрасываться при ручном повторном выделении
Может сделать выбор и для правил? Сейчас сделал так чтобы сброс происходил из-за: Alt/Shift/Win/Ctrl + Tab .....
Думаю, лучше оставить под капотом. Настроить самым приемлемым образом и не экспонировать, чтобы не перегружать юзера.
проверить можно уже в 5403416
- Пока тестил заметил странность. На некоторых хоткеях для цикличного переключения весь монитор темнеет, ещё раз нажмёшь - ещё больше темнеет. Чтобы сделать светлее, нужно дважды кликнуть в любом месте (повторять столько раз, сколько раз затемнял). Если выгрузить Mahou и нажимать эти хоткеи, ничего не происходит. Пример таких проблемных хоткеев: Shift+F3, Ctrl+Shift+F3, Ctrl+Shift+6 (не F6, а просто 6). Хоткеи без проблем: double Shift, Ctrl+. От значения CycleCaseReset= не зависит. Были мысли, что дрова видюхи что-то перехватывают, но хз, прежде такого не замечал.
- В цикличном переключении не работают хоткеи с Alt. В других переключениях (напр, в случайном) Alt рабочий.
В цикличном переключении не работают хоткеи с Alt. В других переключениях (напр, в случайном) Alt рабочий.
А, забыл просто... в 0a09b9e исправил.
монитор темнеет, ещё раз нажмёшь - ещё больше темнеет
:no_mouth: Даже не знаю что и сказать, не уверен что в Mahou проблема... Может из-за кратковременной высокой нагрузки на ЦП при конвертации? Может быть после 0a09b9e заработает как надо....
Может быть после 0a09b9e заработает как надо....
Вроде помогло. Экран перестал темнеть.
Теперь другое. В некоторых приложениях (notepad++, notepad, nimbus note) переключает только тем образом, какая первая буква стоит в опции. Например: если TULSR, то только Заглавным; если ULT, то только ВВЕРХ. Причём на разных комбинациях CycleCaseOrder эта бага проявляется в разном кол-ве приложений.
переключает только тем образом, какая первая буква стоит в опции
Я уже говорил что может быть такое: https://github.com/BladeMight/Mahou/issues/246#issuecomment-515988317
Мне всё же кажется что сбрасывается по одному из правил, ведь все включены...
Нужно проверить, для проверки:
Включи Включить журналирование действий
во вкладке функции(внизу), применить, поконвертируй циклом в этих приложениях, переключись обратно на Mahou, напротив галочки Включить журналирование действий
есть Открыть
нажми правой кнопкой, откроется папка с логами, кинь(прикрепить) лог с текущей датой сюда на GitHub.
В некоторых приложениях
И еще какая установлена гор. клавиша?
Включи Включить журналирование действий
У меня самого получилось поймать, проблема была в правиле:
При изменение фокуса объекта в окнах
я его отключил в 57203e6.