Tornar a barra de status do Emacs arrastável para qualquer lugar?

1

No Emacs, se eu dividir o quadro ( C-x 2 ), cada janela tem uma barra de status. Historicamente, eu poderia arrastar a barra de status para redimensioná-los.

Infelizmente, com o Emacs hoje em dia e apenas alguns modos (para controle de versão, número de linha / col, abreviação, minha linguagem de programação, etc.), praticamente todo o bar tem remapeado o mouse-1 para algo diferente de me deixar arraste a barra!

Existe alguma maneira de transformar a barra de status de volta em algo que eu possa arrastar, sem perder todos os meus modos?

    
por Ken 11.08.2010 / 20:41

1 resposta

0

Você ainda pode arrastar o espaço em branco entre os componentes da barra de status, por exemplo, nos dois espaços antes do nome do buffer.

Você também pode redimensionar janelas com o teclado: C-x ^ ( enlarge-window ), o argumento de prefixo é o número de linhas a serem adicionadas.

EDITAR:

Cada elemento de linha de modo pode ter uma propriedade local-map , que é um mapa de teclas que se aplica quando você clica nesse elemento. As ligações do mouse para os elementos de linha do modo padrão são definidas em bindings.el . Você pode percorrer os vários mapas de teclado que encontrar lá; a chave para remapear é [mode-line mouse-1] . Talvez seja necessário também lidar com modos que adicionam seus próprios componentes à linha de modo.

Um elemento de linha de modo que possui um mapa de teclado local se parece com isto: (:propertize ELEMENT ... local-map (keymap ...) ...) . Você pode iterar sobre mode-line-format e detectar e modificar todos esses mapas de chave. É mais código do que eu gostaria de escrever nesta resposta porque os elementos podem ser símbolos, que você deve seguir, e listas, nos quais você deve recorrer se o car estiver correto. Infelizmente para você, quando :propertize elementos estão aninhados, parece que a propriedade mais profunda se aplica, portanto, você não pode simplesmente substituir todos os local-map propertize agrupando toda a linha de modo em propertize . Novamente, você terá que lidar com modos que adicionam seus próprios componentes separadamente.

    
por 11.08.2010 / 21:25

Tags