Gosto de usar uma combinação de describe-face
e customize-face
ajustar a aparência do meu ambiente de trabalho. Às vezes, esse fluxo de trabalho falha quando quero alterar a face de um local que não consigo alcançar com o cursor; modo-linha, cabeçalho-linha, cabeçalhos magit-culpos etc. Na maioria das vezes, posso rastrear e errar o caminho para uma solução, mas às vezes fico preso (não sabia que a linha de cabeçalho existia até ontem, por exemplo) .
Existe uma maneira conveniente de descrever a face de um local em um quadro que não pode ser acessado pelo cursor? Por meio de um mouse, por exemplo.
Existem 4 regiões em que o texto pode ser exibido no Emacs. Aqui está o que você pode fazer para inspecionar cada uma delas.
mode-line-format
.header-line-format
.(buffer-string)
.M-: (buffer-string)
, e isso descreverá o conteúdo do minibuffer. Você pode precisar(setq enable-recursive-minibuffers to t)
primeiro.Esses métodos fornecerão todo o conteúdo dessas regiões; portanto, pode demorar algumas leituras para realmente encontrar o rosto que você está procurando, mas certamente estará lá. Mais importante ainda, descreverá até regiões que você não pode alcançar.
Por exemplo, digamos que eu queira saber qual rosto é usado no
find-file
prompt.C-x C-f
.M-: (buffer-string)
Isso dará algo como a seguinte saída, e bem ali no final está o rosto que eu estava procurando.
fonte
(buffer-string)
. Mas como invocá-lo enquanto estou no minibuffer, sem render "Comando tentou usar o minibuffer enquanto estava no minibuffer"?Acontece que você pode realmente usar o mouse (acho que isso pode ser exatamente o que você estava procurando):
fonte
magit-blame
cabeçalhos, bem como, no mínimo, em candidatos de conclusão do minibuffer, no prompt do minibuffer e em pop-ups da empresa. Dito isto, também não está funcionando para mim quando eu chamo na linha de modo ou de cabeçalho: elas me dão(wrong-type-argument number-or-marker-p header-line)
(ou[...] mode-line
, respectivamente). Eu acho que esses podem ser casos particularmente especiais (junto com a margem e a margem).