- PVSM.RU - https://www.pvsm.ru -
Доброго времени суток.
После последнего обновления Скайпа (версия 8.51.0.92) под Linux (Mint, оболочка Cinnamon), столкнулся с неприятным багом при переключении раскладки языка, в поле ввода сообщения: при нажатии Alt+Shift, фокус, с поля ввода, переходит к верхней панели окна (меню).
За несколько дней активного использования, это стало неимоверно бесить. Коллега, использующий Ubuntu, говорил что баг также проявляется и там. Проблему удалось поправить (костыльно), решил поделиться с сообществом, надеюсь кому-нибудь поможет.
Вдумчиво разбирать исходники не было времени, решил просто убрать эту панель с меню перманентно — мне она не нужна совсем, почти весь функционал дублируется ниже, а в настройки можно попасть и через трёх-точечное меню.
1. Ставим менеджер пакетов npm (если не установлен).
sudo apt install npm
2. Ставим пакет asar
sudo npm install -g asar
3. Переходим в каталог с упакованными файлами Skype
cd /usr/share/skypeforlinux/resources/
4. Распаковываем нужный нам app.asar в относительную директорию app
sudo asar extract app.asar app
5. Выключаем Skype
6. Переименовываем оригинальный файл app.asar (когда Electron [1] не найдёт asar файл, он будет использовать распакованные исходники из относительной директории app)
sudo mv /usr/share/skypeforlinux/resources/app.asar /usr/share/skypeforlinux/resources/app.asar.backup
7. Проверяем работоспособность Skype: достаточно включить и выключить.
8. Открываем в любимом текстовом редакторе, под sudo, файл /usr/share/skypeforlinux/resources/app/WindowBase.js и добавляем в конструктор, после создания обьекта BrowserWindow, вот такую строку:
this._instance.setMenuBarVisibility(false);
Документация этой по функции из пункта 8: win.setMenuBarVisibility(visible) [2]
Решение, конечно, не самое красивое, но рабочее (до следующего обновления).
Спасибо за внимание.
Автор: brnovk
Источник [3]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/328455
Ссылки в тексте:
[1] Electron: https://electronjs.org/docs
[2] win.setMenuBarVisibility(visible): https://electronjs.org/docs/api/browser-window#winsetmenubarvisibilityvisible-windows-linux
[3] Источник: https://habr.com/ru/post/465377/?utm_campaign=465377&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.