GithubHelp home page GithubHelp logo

Flickering Cursor about beacon HOT 12 CLOSED

malabarba avatar malabarba commented on June 28, 2024
Flickering Cursor

from beacon.

Comments (12)

Malabarba avatar Malabarba commented on June 28, 2024

No, that shouldn't happen. Do you think you can narrow down the situation where it's happening?

from beacon.

clemera avatar clemera commented on June 28, 2024

It happens all the time, only sometimes not. I have recorded it so you can better see what I mean. The following is a video file, Github supports only image files so I uploaded it as a png.

Video

I'm on Emacs 24.5.1.

from beacon.

Malabarba avatar Malabarba commented on June 28, 2024

I see. That might be a redisplay bug. =/

Could you try the followiung?

  • start Emacs with emacs -Q,
  • load the seq.el file
  • load the beacon.el file
  • Try to reproduce this again.

Does it happen?

from beacon.

clemera avatar clemera commented on June 28, 2024

Yes, it still happens. I'm on Linux. I don't know much about Emacs internals and don't know what redisplay bug means. If you have ideas how I could investigate further let me know, thanks for the help.

from beacon.

Malabarba avatar Malabarba commented on June 28, 2024

Redisplay is basically when Emacs draws the screen.

Here's one more thing to try. Evaluate the following code:

(defun redisplay-command ()
  (interactive)
  (redisplay))
(global-set-key [f6] #'redisplay-command)

This makes it so that F6 triggers a redisplay. Ideally, this should have no visual effect.
Hit F6 a few times while paying attention to the cursor. Try to see if the cursor flickers at any moment.

from beacon.

clemera avatar clemera commented on June 28, 2024

Just tried it, the cursor is not flickering on redisplay.

from beacon.

Malabarba avatar Malabarba commented on June 28, 2024

Ok, one more thing to try.

  1. Disable beacon-mode
  2. Hit M-: and type (beacon--shine), this will leave a permanent beacon at point.
  3. Without moving the cursor, hit F6 several times and see if the cursor flickers.

from beacon.

clemera avatar clemera commented on June 28, 2024

No it does not flicker in this case. I already get used to the flickering ,maybe I should consider it a feature ;)

from beacon.

Malabarba avatar Malabarba commented on June 28, 2024

from beacon.

clemera avatar clemera commented on June 28, 2024

Thanks, indeed with a value of 0.8 for beacon-blink-duration the problem disappears.

Do you have an idea why my redisplay is to slow? Seems to work for others. I thought maybe it is something with evil mode and using different cursor styles but the problem occurs when I disable evil-mode, as well.

from beacon.

Malabarba avatar Malabarba commented on June 28, 2024

It could be that redisplay is doing too much work, but there could be many different causes for that.
Try turning on the profiler with M-x profiler-start. Then evaluate (dotimes (i 50) (redisplay)) in the scratch buffer, and finally do M-x profiler-report.

from beacon.

clemera avatar clemera commented on June 28, 2024

Thanks I didn't knew about that! Very useful, although I can not find the cause. Will report it here if I find it.

from beacon.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.