इनलाइन छवियों के लिए चिकना (माउस) स्क्रॉल?


23

मैं start_src और परिणाम ब्लॉकों के साथ इन-लाइन छवियां प्रदर्शित करता हूं।

हालाँकि, बड़ी-छवियों के लिए, जब मैं छवि के निचले भाग को स्क्रॉल करता हूं, तो मुझे एक 'झटका' मिलता है और पूरी छवि को दूर स्क्रॉल किया जाता है। इसी तरह अगर मैं एक इमेज में स्क्रॉल करता हूं और रन करता हूं, तो मुझे एक झटका लगता है और इसे पूरी तरह से बिट द्वारा बढ़ाकर देखने के बजाय पूरी इमेज देखें।

इससे ऑर्ग-मोड में बड़े प्लांटम्ल / ग्राफविज़ डायग्राम के साथ काम करना मुश्किल हो जाता है।

मैं बिना किसी झटके के, वेब ब्राउजर की तरह इमेज को धीरे से स्क्रॉल करने के लिए एक स्मूथ स्कोल एक्सपीरियंस चाहूंगा।

मैंने कोशिश की है:

(setq auto-window-vscroll nil)

और भी

(setq scroll-margin 1
scroll-conservatively 0
scroll-up-aggressively 0.01
scroll-down-aggressively 0.01)

मैंने चिकनी-स्क्रॉल पैकेज की कोशिश की और यह स्निपेट भी।

हालाँकि, ऐसा लगता है कि एक इन-लाइन छवि केवल 'एक-पंक्ति' को लेती है और केवल एक 'लाइन' को स्क्रॉल करने के लिए emacs को ठीक करने से समस्या ठीक नहीं होती है।

इस मुद्दे का कोई हल?

[संपादित करें] कीबोर्ड बनाम माउस स्क्रॉलिंग:

माउस स्क्रॉलिंग निहित है। लेकिन कीबोर्ड स्क्रॉलिंग एक बोनस होगा यदि उचित माउस स्क्रॉलिंग काम करेगी।

[संपादित करें]
कुछ हद तक एक वर्कअराउंड, लेकिन ऑर्ग-मोड में छवियों के साथ काम करने के लिए उपयोगी उन्हें बाहरी ऐप में खोलना था जो फ़ाइल परिवर्तन पर ऑटो-रीलोड करता है। उदाहरण होगा eog (eye of gnome)या shutterया prievew (on OS X)। इसे org-file-appsजोड़कर कॉन्फ़िगर किया जा सकता है :

extension: \.png\'
Command:   eog "%s"

क्या आप कीबोर्ड-आधारित स्क्रॉलिंग या माउस स्क्रॉलिंग कर रहे हैं?
मैन्कॉफ

माउस स्क्रॉलिंग, स्पष्टीकरण के लिए धन्यवाद।
सिंह उफिम्त्सेव

खाली करने के लिए पैच की आवश्यकता हो सकती है। मुझे पता है कि मैक-विशिष्ट पोर्ट के फीचर्स / बेनिफिट्स स्मूथ-स्क्रॉलिंग हैं: github.com/railwaycat/emacs-mac-port/blob/master/README-mac लेकिन यहां तक ​​कि यह केवल माउस है। कीबोर्ड लाइनों द्वारा चलते हैं, और छवियां केवल एक ही पंक्ति में उच्च होती हैं ...
mankoff

यह एक पैच की तरह है कि अच्छा होगा ...
लियो Ufimtsev

(setq scroll-conservatively 101)उपरोक्त प्रश्न में बताई गई आपकी अन्य सभी स्क्रॉल सेटिंग्स के बारे में कैसे और टिप्पणी करें और उस चिकने स्क्रॉल पैकेज और / या स्निपेट को अक्षम करें? scroll-conservativelyराज्यों के लिए डॉक-स्ट्रिंग : " यदि मान 100 से अधिक है, तो रिडिसप्ले कभी पुनरावृत्ति बिंदु नहीं होगा, लेकिन बिंदु को ध्यान में लाने के लिए हमेशा पर्याप्त पाठ को स्क्रॉल करेगा, भले ही आप बहुत दूर चले जाएं। शून्य का मान हमेशा पुनरावृत्ति बिंदु होता है। अगर यह स्क्रीन से बाहर चला जाता है। "
कानून

जवाबों:


7

26.1 Emacs के बाद से, बफ़र को अलग-अलग पिक्सेल द्वारा केवल लाइनों के बजाय स्क्रॉल किया जा सकता है जो माउस व्हील का उपयोग करके छवियों पर आसानी से स्क्रॉल करने के लिए उपयोग किया जा सकता है। इसे प्राप्त करने के लिए मैंने निम्नलिखित विन्यास का उपयोग किया है:

;;; Scrolling.
;; Good speed and allow scrolling through large images (pixel-scroll).
;; Note: Scroll lags when point must be moved but increasing the number
;;       of lines that point moves in pixel-scroll.el ruins large image
;;       scrolling. So unfortunately I think we'll just have to live with
;;       this.
(pixel-scroll-mode)
(setq pixel-dead-time 0) ; Never go back to the old scrolling behaviour.
(setq pixel-resolution-fine-flag t) ; Scroll by number of pixels instead of lines (t = frame-char-height pixels).
(setq mouse-wheel-scroll-amount '(1)) ; Distance in pixel-resolution to scroll each mouse wheel event.
(setq mouse-wheel-progressive-speed nil) ; Progressive speed is too fast for me.

संपादित करें:

मैंने पाया है कि इस घोल में कुछ गुहेरी हैं जिन्हें जानना उपयोगी हो सकता है:

  • विंडो की तुलना में अधिक छवि पर स्क्रॉल करने से अभी भी बड़ी गड़गड़ाहट होती है जो विंडो स्क्रॉल को देखती है जब तक कि छवि अब दिखाई नहीं देती (अगली पंक्ति विंडो के शीर्ष पर है)।
  • आप स्क्रॉलिंग को तत्काल (कम गहन) नहीं बना सकते, लेकिन फिर भी लाइनों के बजाय पिक्सेल द्वारा स्क्रॉल कर सकते हैं।
  • जब मौजूदा एनीमेशन समाप्त होने से पहले एक नया स्क्रॉल ईवेंट जारी किया जाता है, तो विंडो अगले एनीमेशन के शुरू होने पर कूद जाती है जिससे चिकनी स्क्रॉलिंग में एक असंतोष पैदा होता है।
  • कई लोगों ने इस पद्धति का उपयोग करके इस तरह के प्रदर्शन में गिरावट का अनुभव किया है कि यह केवल उपयोग करने योग्य नहीं है। स्पष्ट रूप से यह सामान्य है जब कुछ मोड लाइन संशोधनों का उपयोग किया जाता है।

ऑटो-लोड होने के (require 'pixel-scroll)बाद आपको pixel-scroll-modeइसकी आवश्यकता नहीं होनी चाहिए ।
तोबियों

आह हाँ, आप सही हैं। मैं पिक्सेल-स्क्रोल.एल में प्रलेखन स्ट्रिंग के निर्देशों का पालन कर रहा था, लेकिन मुझे लगता है कि वे थोड़े अलग दर्शकों के लिए हैं।
मैथ्यू पलेर्मो

1

इस बारे में कैसा है:

;; scroll one line at a time (less "jumpy" than defaults)
(setq mouse-wheel-scroll-amount '(1 ((shift) . 1))) ;; one line at a time
(setq mouse-wheel-progressive-speed nil) ;; don't accelerate scrolling
(setq mouse-wheel-follow-mouse 't) ;; scroll window under mouse
(setq scroll-step 1) ;; keyboard scroll one line at a time

1

जैसा कि मैं समझता हूं कि समस्या यह है कि छवि एक पंक्ति है। स्क्रॉलिंग व्यवहार को बदलने से समस्या का समाधान नहीं होगा।

एकमात्र उपाय जिससे मैं अवगत हूं, वह है छवि को पतला करना ताकि तकनीकी रूप से कई छोटी छवियां हों। यह प्रयोग करके किया जा सकता है insert-sliced-image


आप के उपयोग पर विस्तृत कर सकते हैं insert-sliced-image? क्या org-toggle-inline-imagesपहले इन स्लाइस को ओवरराइड करना संभव है ?
एडम

आप insert-sliced-imageमूल्यांकन के बारे में पढ़ सकते हैं (describe-function 'insert-sliced-image)- मेरे पास प्रलेखन में जोड़ने के लिए कोई उपयोगी विस्तार नहीं है। मैंने org-display-inline-imagesकोड के माध्यम से देखा, लेकिन मैं समझ नहीं पा रहा हूं कि वास्तव में छवियां कहां मिलती हैं। मुझे यकीन है कि इसका उपयोग करने के लिए इसे फिर से लिखना संभव है insert-sliced-image, लेकिन मैं यह नहीं देखता कि यह कैसे करना है।
इस्टा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.