-
Notifications
You must be signed in to change notification settings - Fork 0
Implement grid logic for Yode #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
@Breja Can you probably help me to get the right direction with this? https://github.com/hoschi/veonim/pull/1/files#diff-3f44925f3a8f492920e1b138dc5aaeb4R322 Also I can't see a nvim error in the logs or where in code I could debug this. I set the grid ID for testing to |
Got it! After adding error logging the problem nvim had was that the API instance was not attached. I must admit I didn't get why it works when using the master API instead, because there is only one nvim instance anyways ... but it works. |
Glad you were able to figure it out. I admit I am curious how you plan to integrate Yode with multigrid. I never tried As for the
The reason for this awkward duality of two connections to nvim has to do with performance. Because msgpack is insanely slow in v8 compared to JSON, I didn't want to parse possibly heavy buffer text events (especially on large files) on the main UI thread, as that would cause frames to be dropped and cause the UI to lag. As to why UI events have issues in the Also the |
I'm also curious if all works out 😅 At first I just want some beta-ish state to get a better feeling for the workflows Yode offers when using it on a daily basis. I thought a lot about it, but my imagination has its boundaries 😄 I tried to implement Yode in Oni (onivim/oni#362 and onivim/oni#894), but drifted into other ideas like a "read-only version split" aka cockpit, master/slave tabs and such: So I searched new Neovim UIs every now and then and found veonim. I think for a good first try with own commands to create new windows or split existing editors it can work. With the current state of the branch the "windows smaller than main grid" case works already. After 30 lines of text the scrolling of nvim kicks in, even the veonim window is bigger. When the windows get bigger as the main grid, as far as I understood it, the main grid needs to be resized manually so For a correct implementation of a new window manager/logic than the default one, you are right, Thanks a lot 💯 for the explanation about the instances, I totally overlooked all that connection stuff when scanning through the code! |
Multigrid alone is really not enough. Even when I resize a window, the position of the other windows doesn't change and there is a gap. I currently try how far |
This is the first step of trying to get Yode (repo: https://github.com/hoschi/yode) implemented with neovims multi grid feature.
The over all goal is to have a similiar UI for windows as this prototype shows:
https://hoschi.github.io/yode/
First implementation should be able to: