Страница 2 из 2

Быстрое переключение раскладки в аплете переключения раскладок

Добавлено: 13 май 2024, 10:21
hellonet
Dja писал(а):
11 май 2024, 13:14
А вот в кедах ведет себя некорректно
Возможно, ничего не скажу - ни разу кеды не ставил

Быстрое переключение раскладки в аплете переключения раскладок

Добавлено: 13 май 2024, 10:26
symon2014
Проблема высосана даже не из пальца. В мате по левой кнопке меняется раскладка без всяких меню. Все менюшки на правой кнопке.

Быстрое переключение раскладки в аплете переключения раскладок

Добавлено: 13 май 2024, 13:50
Dja
symon2014, в крысе тоже ) А в корице меню и по лкм и по пкм :-D

Быстрое переключение раскладки в аплете переключения раскладок

Добавлено: 13 май 2024, 15:14
symon2014
Dja писал(а):
13 май 2024, 13:50
А в корице меню и по лкм и по пкм
Вот пусть и жрут корицу , которую мацают своими шаловливыми руками 97 процентов пользователей и разрабов.

Быстрое переключение раскладки в аплете переключения раскладок

Добавлено: 11 июл 2025, 08:40
Skullckoor
Некропостинг, но вдруг кому то пригодится.
Что бы не гадить во всю систему скопируйте апплет себе в хомяка:

Код: Выделить всё

cp -r "/usr/share/cinnamon/applets/keyboard@cinnamon.org" "${HOME}/.local/share/cinnamon/applets/"
Далее откройте файл апплета в любимом текстовом редакторе:

Код: Выделить всё

xdg-open "${HOME}/.local/share/cinnamon/applets/keyboard@cinnamon.org/applet.js"
Там есть, как раз рядом стоящие, вот такие блоки (ищется по «click», сейчас ~ 300 строка):

Код: Выделить всё

    _onButtonPressEvent(actor, event) {
        // Cycle to the next layout
        if (event.get_button() === 2) {
            const selected_group = this._controller.get_current_layout_idx();
            const new_group = (selected_group + 1) % this._layoutItems.length;
            this._controller.set_current_layout_idx(new_group);
        }
        return Applet.Applet.prototype._onButtonPressEvent.call(this, actor, event);
    }

    on_applet_clicked(event) {
        this.menu.toggle();
    }
Поменяйте «this.menu.toggle();» и 3 вызова функций сверху местами. Должно получится:

Код: Выделить всё

    _onButtonPressEvent(actor, event) {
        // Cycle to the next layout
        if (event.get_button() === 2) {
            this.menu.toggle();
        }
        return Applet.Applet.prototype._onButtonPressEvent.call(this, actor, event);
    }

    on_applet_clicked(event) {
        const selected_group = this._controller.get_current_layout_idx();
        const new_group = (selected_group + 1) % this._layoutItems.length;
        this._controller.set_current_layout_idx(new_group);
    }
Не забудьте перезапустить Cinnamon. По умолчанию [Ctrl+Alt+Esc]. Или из контекстного меню панели.