LINUX.ORG.RU

emacs: background color in emacsclient & <menu> key binding

 


0

1

Всем привет. Всех с прошедшими праздниками!

Два вопроса:

1. Хочу, чтобы в клиенте emacs был черным фон. Настраиваю вот так:

(load-theme 'badger t)
(set-background-color "black")
(set-face-attribute 'region nil :background "grey20")

Файл открываю вот так:

emacsclient -c filename
В «обычном» emacs цвет фона черный, но в emacsclient настройки выше не работают. Как сделать черным цвет фона и в emacs, и в emacsclient?

2. Настраиваю горячие клавиши:

(global-set-key (kbd "M-x") 'smex)
(global-set-key (kbd "<menu> x") 'smex)
Получаю ошибку:
error: Key sequence <menu> x starts with non-prefix key <menu>

Как настроить комбинацию клавиш <menu> + x ?


Настраиваю вот так

Лучше в кастомайзе настроить свою тему и не мучиться.

Как настроить комбинацию клавиш <menu> + x ?

Вообще, menu обычно используется в wm, поэтому сначала нужно её там отвязать от всего. Далее на эту кнопку нужно забиндить Hyper и использовать комбинации, как H-x.

no-such-file ★★★★★
()
Ответ на: комментарий от pol01

По умолчанию <menu> в emacs вызывает M-x

Очевидно, потому что

menu обычно используется в wm

Или чукча не читатель? WM у тебя передает событие menu в emacs, а там на него навешано execute-extended-command. Нужно настроить WM, чтобы он вместо этого выдавал Hyper.

Если тебя так уж прёт сделать <menu> префиксом:

(define-prefix-command 'menu-key-map)
(global-set-key (kbd "<menu>") 'menu-key-map)
(define-key menu-key-map (kbd "x") 'smex)
Только нафига, если стандартный hyper задаром пропадает? Можно также прикрутить трансляцию <menu> -> Hyper, но мне лениво разбираться.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Или чукча не читатель? WM у тебя передает событие menu в emacs, а там на него навешано execute-extended-command. Нужно настроить WM, чтобы он вместо этого выдавал Hyper.

Вот теперь всё понял. Спасибо!

pol01
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.