LINUX.ORG.RU

gnome 3. хоткеи в gdm не работают.

 , ,


0

1

господа! помогите решить одну странную проблему: добавил хоткей (стрл+Ф8) через настройки гнома (запуск скрипта). в итоге хоткей работает в гноме, а когда экран блокируется после бездействия(гдм предлагает ввести пароль), то хоткей уже не работает. а стандартные хоткеи, вроде громкости и перещелкивания треков (они там же в настройках есть) работают. думал баг и скоро поправят, но уже как год оно так и работает

# inxi -xbbb
System:
  Host: ruslan Kernel: 5.10.0-8-amd64 x86_64 bits: 64 compiler: gcc 
  v: 10.2.1 Desktop: GNOME 3.38.4 Distro: Debian GNU/Linux 11 (bullseye) 
Machine:
  Type: Desktop Mobo: ASUSTeK model: M5A99FX PRO R2.0 v: Rev 1.xx 
  serial: 130814599300396 BIOS: American Megatrends v: 2501 date: 04/07/2014 
CPU:
  Info: 8-Core AMD FX-8350 [MCP] arch: Bulldozer speed: 1749 MHz 
  min/max: 1400/4000 MHz 
Graphics:
  Device-1: NVIDIA GK104 [GeForce GTX 680] vendor: CardExpert driver: nvidia 
  v: 470.57.02 bus-ID: 01:00.0 
  Display: x11 server: X.Org 1.20.11 driver: loaded: nvidia 
  resolution: 1920x1080~60Hz 
  OpenGL: renderer: NVIDIA GeForce GTX 680/PCIe/SSE2 
  v: 4.6.0 NVIDIA 470.57.02 direct render: Yes 
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet 
  vendor: ASUSTeK P8 series driver: r8169 v: kernel port: a000 
  bus-ID: 09:00.0 
Drives:
  Local Storage: total: 1.31 TiB used: 668.3 GiB (49.8%) 
Info:
  Processes: 267 Uptime: 15h 21m Memory: 15.54 GiB used: 4.51 GiB (29.1%) 
  Init: systemd runlevel: 5 Compilers: gcc: 10.2.1 Packages: 3385 
  Shell: Bash v: 5.1.8 inxi: 3.3.06

Это не баг. Хоткеи на звук/яркость работают, потому что они не зависят от пользовательской сессии.

anonymous
()
Ответ на: комментарий от milka

из disable() вообще все убрать, чтобы примерно так было

let already_done = 0;

function enable() {
    let key;
    if (already_done) {
        return 0;
    }
    for (key in key_bindings) {
            Main.wm.addKeybinding(
                key,
                my_Settings,
                Meta.KeyBindingFlags.NONE,
                Shell.ActionMode.NORMAL | Shell.ActionMode.UNLOCK_SCREEN | Shell.ActionMode.LOCK_SCREEN,
                key_bindings[key]
            );
        }
    }
    already_done = 1;
}

function disable() {}
s-o
()
Ответ на: комментарий от s-o

у вас это расширение работает? у меня что до правки, что после, включить не удается, а при вызове настроек открывается окошко расширения, в котором говориться, что не удалось отобразить настройки

milka
() автор топика
Ответ на: комментарий от milka

поисправлял ошибки, расширение запустилось, но окно настроек не работает

SyntaxError: redeclaration of formal parameter iter

Stack trace:
  _init@resource:///org/gnome/Shell/Extensions/js/extensionsService.js:204:33
  OpenExtensionPrefsAsync/<@resource:///org/gnome/Shell/Extensions/js/extensionsService.js:122:28
  asyncCallback@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:132:22
  run@resource:///org/gnome/Shell/Extensions/js/dbusService.js:177:20
  main@resource:///org/gnome/Shell/Extensions/js/main.js:19:13
  run@resource:///org/gnome/gjs/modules/script/package.js:222:19
  start@resource:///org/gnome/gjs/modules/script/package.js:206:8
  @/usr/share/gnome-shell/org.gnome.Shell.Extensions:1:17
milka
() автор топика
Последнее исправление: milka (всего исправлений: 1)
Ответ на: комментарий от milka

от версии гнома зависит, в 3.36 я как минимум в префс.джс удалял вызовы global.log()

в основном файле менял

const Util = imports.misc.util;
// in >=3.32 instead of Main.Util.*
s-o
()
Последнее исправление: s-o (всего исправлений: 1)
Ответ на: комментарий от s-o

вроде победил, ошибок кучу удалил. я так понимаю, вот тут вызывается tilix. а как внедрить запуск скрипта?

function _startTilix() {
    try {
        Main.Util.trySpawnCommandLine('tilix');
    } catch(err) {
        Main.Util.trySpawnCommandLine('terminix');
    }
}
milka
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.