- PVSM.RU - https://www.pvsm.ru -

Чиним Skype своими руками

Доброго времени суток.

После последнего обновления Скайпа (версия 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