Cinnamenu транслитерация русских символов
Cinnamenu - удобный applet (плагин) для cinnamon (оболочка для linux mint), который расширяет меню в панели задач. У linux mint есть неприятная особенность: настройка запоминать язык на приложение не работает для меню и при нажатии кнопки Win и вводе текста для поиска язык ввода выставляется от приложения, которое было в фокусе до открытия меню. Таким образом, если это был русский язык, а в поиске ищем firefox, то на быструю руку получится "ашрефоч" вместо "firefox" и соответственно ничего не будет найдено.
Решить это можно маленьким патчем, который русские символы транслитерирует в их английские аналоги на клавиатуре. Весь патч проще показать вот таким скриншотом из IDE:
Сам код:
let pattern = Util.latinise(pattern_raw.toUpperCase());
const keys = {
'Й': "Q", 'Ц': "W", 'У': "E", 'К': "R", 'Е': "T", 'Н': "Y", 'Г': "U", 'Ш': "I", 'Щ': "O",
'З': "P", 'Ф': "A", 'Ы': "S", 'В': "D", 'А': "F", 'П': "G", 'Р': "H", 'О': "J", 'Л': "K",
'Д': "L", 'Я': "Z", 'Ч': "X", 'С': "C", 'М': "V", 'И': "B", 'Т': "N", 'Ь': "M",
}
pattern = pattern.split('').map(c => c in keys ? keys[c] : c).join('');
И путь к файлу: ~/.local/share/cinnamon/applets/Cinnamenu@json/4.0/applet.js