Eu exibo imagens alinhadas com begin_src e blocos de resultados.
No entanto, para imagens grandes, quando passo a parte inferior da imagem, recebo um 'empurrão' e a imagem inteira é rolada para longe. Da mesma forma, se eu rolar para cima e me deparar com uma imagem, recebo um empurrão e vejo a imagem inteira em vez de vê-la gradualmente, pouco a pouco.
Isso dificulta o trabalho com grandes diagramas plantuml / graphviz no modo organizacional.
Eu gostaria de ter uma experiência suave de rolagem, passando a imagem suavemente como em um navegador da Web, sem tremer.
Eu tentei:
(setq auto-window-vscroll nil)
e também
(setq scroll-margin 1
scroll-conservatively 0
scroll-up-aggressively 0.01
scroll-down-aggressively 0.01)
Eu tentei o pacote de rolagem suave e esse trecho também.
No entanto, parece que uma imagem em linha ocupa apenas 'uma linha' e corrigir o emacs para rolar apenas por 'uma linha' não resolve o problema.
Alguma solução para esse problema?
[editar] Rolagem de teclado versus mouse:
A rolagem do mouse está implícita. Mas a rolagem do teclado seria um bônus se a rolagem adequada do mouse funcionasse.
[editar]
Uma solução alternativa, mas útil para trabalhar com imagens no modo organizacional, foi abri-las em um aplicativo externo que é recarregado automaticamente na alteração de arquivo. Exemplo seria eog (eye of gnome)
ou shutter
ou prievew (on OS X)
. Pode ser configurado via org-file-apps
adicionando:
extension: \.png\'
Command: eog "%s"
(setq scroll-conservatively 101)
e comentar todas as suas outras configurações de rolagem mencionadas na pergunta acima e desativar esse pacote e / ou snippet de rolagem suave? A sequência de documentos para osscroll-conservatively
estados: " Se o valor for maior que 100, a exibição novamente nunca apontará mais recentemente, mas sempre rolará texto suficiente para mostrar o ponto, mesmo se você se afastar. Um valor zero significa sempre o ponto mais recente se sair da tela " .Respostas:
Desde o Emacs 26.1, o buffer pode ser rolado por pixels individuais, em vez de apenas linhas que podem ser usadas para rolar suavemente as imagens usando a roda do mouse. Para conseguir isso, usei a seguinte configuração:
Editar:
Eu descobri que esta solução tem algumas advertências que podem ser úteis para você saber:
fonte
(require 'pixel-scroll)
poispixel-scroll-mode
é carregado automaticamente.Que tal agora:
fonte
O problema que eu entendo é que a imagem é uma única linha. Alterar o comportamento da rolagem não resolverá o problema.
A única solução que tenho conhecimento é dividir a imagem para que tecnicamente existam muitas imagens mais curtas. Isso pode ser feito usando
insert-sliced-image
.fonte
insert-sliced-image
? É possível substituirorg-toggle-inline-images
a primeira fatia dessas?insert-sliced-image
avaliação(describe-function 'insert-sliced-image)
- não tenho nenhuma elaboração útil para adicionar à documentação. Examinei oorg-display-inline-images
código, mas não consigo entender onde as imagens são realmente inseridas. Tenho certeza de que é possível reescrevê-lo para usoinsert-sliced-image
, mas não vejo como fazê-lo.