Giter Site home page Giter Site logo

Mouse misbehavior in v0.3.1 about grv HOT 7 CLOSED

vphantom avatar vphantom commented on June 2, 2024
Mouse misbehavior in v0.3.1

from grv.

Comments (7)

rgburke avatar rgburke commented on June 2, 2024 1

Issue (1) should now be resolved on master, after editing a commit the mouse should continue to work.

Thanks for providing the logs. Could you try scrolling up and down a couple of times again using the latest code from master to see if it works now? If not could you attach the logs again please.

from grv.

rgburke avatar rgburke commented on June 2, 2024 1

Yeah sure, here is a static binary of the latest master: grv.txt (md5: a74b5dab5121a5900cf90097b1d850a2)

I had to add a .txt extension to the binary file so that github would allow it to be uploaded.

from grv.

vphantom avatar vphantom commented on June 2, 2024 1

Success! Scrolling works pretty much as expected. :)

Just FYI, coming from Tmux I instinctively expected the view hovered by the mouse to scroll, but in fact the currently active view is the one which scrolls. I can definitely get used to that (i.e. by clicking before scrolling), but I thought I should mention this difference in case you think it's of interest.

from grv.

rgburke avatar rgburke commented on June 2, 2024 1

Thanks for testing the scrolling, I'm glad it works.

I think scrolling the view the mouse is hovered over is a nice idea. I had a look into making this change but ran into issues with ncurses getting it to work. At the moment ncurses returns a failure when we call getmouse after doing a scroll down. In a very ugly and hacky way we interpret this error as a scroll down, as it's the only time we get the error. The alternative is that we can't support scrolling down. However due to this, we don't get a real event with coordinates meaning that we can't know which view the scroll event happened in.
TL;DR I like the idea but was unable to get it to work, I will keep it in mind to see if it's possible in future.

from grv.

rgburke avatar rgburke commented on June 2, 2024
  1. Thanks for finding this bug. As you suggest, GRV is not re-enabling the mouse when vim finishes. I will look at fixing it.

  2. The scroll wheel should work, it's currently working for me when using GNOME Terminal and xterm. To help track down what's going wrong could you please:

    • Run GRV with: grv -logLevel DEBUG
    • Scroll up and down only, then exit GRV.
    • Upload the generated grv.log file here. The log file will be generated in the same directory in which you run grv.

from grv.

vphantom avatar vphantom commented on June 2, 2024

Funny, the first time I ran it I got some form of crash, starting with:

panic: runtime error: invalid memory address or nil pointer reference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x591aaa]
...

I seem to be getting these randomly once in a while, and if I try to start GRV again it runs fine. (So far this only happened in a specific repo, it may be specific to it.)

Attached is the crash log file and then the scroll log file:
grv-crash.log
grv-scroll.log

from grv.

vphantom avatar vphantom commented on June 2, 2024

I would, but I couldn't build using a temporary build environment (I don't have a Go setup). Is there any chance you could pre-release a binary?

Here is my console output from the build failure in case that's an easier fix. I suspect that there are non-Go dependencies the build script is trying to compile.
grv-docker-golang-build-failure.log

from grv.

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.