LINUX.ORG.RU

[решено] Шорткаты на lock-screen Гнома 3

 


0

1

Как сделать, чтобы мои кастомные шорткаты работали на лок-скрине?

ЗЫ И сразу, как отредактировать набор раскладок, доступный на лок-скрине (только на нем)? Хочу оставить только английскую.



Последнее исправление: s-o (всего исправлений: 1)

Как сделать, чтобы мои кастомные шорткаты работали на лок-скрине?

Как ты это себе представляешь? Смысл ЛОК-скрина именно в том, чтобы заблокировать доступ к компьютеру. Если в режиме лок можно производить какие-то действия кроме авторизации и ребута, значит это баг.

Im_not_a_robot ★★★★★
()
Ответ на: комментарий от Im_not_a_robot

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

s-o
() автор топика
Ответ на: комментарий от anonymous

хочу переключать вход монитора по DCI когда подключена пс4. пока комп не залочен это отлично выполняется нажатием 2х клавиш.

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

Простого пути для этого нет. Как сказали выше локскрин не для этого придуман. Проще хардварно это делать.

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

в линуксе должно быть можно сделать все, что хочешь

Ты заблуждаешься.

papin-aziat ★★★★★
()
Последнее исправление: papin-aziat (всего исправлений: 1)

а в sway можно сделать, чтобы определённые шорткаты работали даже на swaylock-е. очень удобно, например можно управлять плеером не разблокируя экран

eternal_sorrow ★★★★★
()

Ну так выстави системную локаль только английскую. Из плюсов весь интерфейс на английском. Из минусов нет русского интерфейса.

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

да без проблем, теперь месье может подскажет конкретное место для редактиварония? где описывается, что контрол+шифт работает, а все остальное не должно?

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

да без проблем, теперь месье может подскажет конкретное место для редактиварония? где описывается, что контрол+шифт работает, а все остальное не должно?

А ключи от компиляции тебе не подсказать?

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

может и будет, но мне кажется некрасивым в цикле постоянно опрашивать ядро на предмет нажатий. а уж делать это питоном и подавно некрасиво в плане оверхэда :) наверняка где-то в гноме это внутри уже есть.

s-o
() автор топика
Ответ на: комментарий от anonymous

ключи компиляции - это слишком сложно для меня. достаточно тыкнуть пальцем в конкретное место сорса, месье. вы ведь специалист, так?

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

Марш двор мести, ламо малолетнее.

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

может и будет, но мне кажется некрасивым в цикле постоянно опрашивать ядро на предмет нажатий

Это оттого, что ты – дятел. Там блокирующий вызов.

а уж делать это питоном и подавно некрасиво в плане оверхэда

Дятел-илитка? Перепиши на сях.

наверняка где-то в гноме это внутри уже есть.

Ага, ровно тот же самый цикл где-то внутри гнома уже есть.

anonymous
()

пока пара токсичных анонимов сверху обтекает и узнает что-то новое, расскажу, как сделать максимально красиво в имеющихся условиях.

Берем болванку extension, правим extension.js

В enable() для вызова Main.wm.addKeybinding меняем флаг Shell.ActionMode.NORMAL на Shell.ActionMode.NORMAL | Shell.ActionMode.UNLOCK_SCREEN | Shell.ActionMode.LOCK_SCREEN, понятно для чего.

В disable() плюем на гайдлайны и удаляем вызов Main.wm.removeKeybinding(), чтобы при лок-скрине гном их не удалял.

Т.о. не плодим лишних сущностей.

ЗЫ Вопрос из пост-скриптума в заглавном посте пока в силе.

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

пока пара токсичных анонимов сверху обтекает и узнает что-то новое, расскажу, как сделать максимально красиво в имеющихся условиях.

Ага, держи нас вкурсе.

В disable() плюем на гайдлайны и удаляем вызов Main.wm.removeKeybinding(), чтобы при лок-скрине гном их не удалял.

У меня глаза текут, как красиво ты сделал. Флаг чтоль присобачь, чтоб оно при каждом новом enable по новой не добавляло.

anonymous
()
21 июля 2021 г.

Вспомнил, что не написал. Второй вопрос (принудительная английская раскладка на локскрине для ввода пароля) решил так

const Keyboard = imports.ui.status.keyboard;

disable() {
if (Keyboard.getInputSourceManager()._currentSource.index != 0) // != en
	Keyboard.getInputSourceManager()._inputSources[0].activate();
}
s-o
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.