-
Notifications
You must be signed in to change notification settings - Fork 11
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
Remove Electron (!) via Tauri #336
Draft
smolck
wants to merge
69
commits into
master
Choose a base branch
from
remove-electron-via-tauri
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Supposed to be a *working* rewrite of the font-texture-atlas stuff to use canvaskit so I can make fonts work (have to load from binary font data gotten from the rust backend, which I can only seem to do w/canvaskit & not the builtin canvas), but . . . this is just broken on my 1080p monitor (although it looks fine on my MBA's screen), and the code is just horrifically ugly, messy, convoluted, etc. The *real* solution here is to just use canvaskit for all (text) rendering instead of webgl; done right, should be just as fast (canvaskit can use the GPU), but actually work well for most/all monitors. In addition, using canvaskit for rendering over the current setup should allow for adding extra eyecandy/niceties, e.g. Neovide's animated cursor. It's probably not gonna be a quick port from webgl -> canvaskit though (could require a rewrite of both the window-manager etc. code *and* the rendering code), so I'll just leave it for now until I get the rest of the UI working as it did pre-port (or about as it did). So TL;DR plan is leave this broken mess as-is until I get the rest of the backend ported (w/signature-help etc.), and then refactor/rewrite the frontend to use canvaskit instead of webgl for rendering, hopefully cleaning up the terrible mess that currently is src/renderer in the process.
…ary to have as dirs
smolck
force-pushed
the
remove-electron-via-tauri
branch
from
September 4, 2021 19:12
d3de5a8
to
bfb4dd4
Compare
smolck
force-pushed
the
remove-electron-via-tauri
branch
from
November 20, 2022 20:07
5d0c3ef
to
0577d46
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uses Tauri to get rid of Electron. Semi-hesitant to open this just in case I abandon it, but the UI is actually fairly far along at this point:
Some notes so far:
src/main/core/input.ts
in the new Rust version (found insrc-tauri/src/neovim_handler.rs
).:q
? For some reason I'm not gettingrpcnotify(0, ...)
events on the Rust side, so doing aVimLeave
autocmd isn't working/won't work unless I can figure that out. Maybe need to connect to neovim with another thread like on master? In any case, if you:qa!
etc. to quit right now, it kind of freezes the UI and then shuts down after another key press. It's not great. (Maybe see how Neovide deals with it?)Overall, I don't have any real major issues with Tauri so far, it's pretty nice/easy to use once you get used to it. And since uivonim no longer uses
remote
thanks to #191, it's fairly plug-and-play discounting the fact everything backend-wise has to be rewritten in Rust.Draft PR since this is still a ways off from being ready for merge, especially since the CanvasKit rewrite could take a while, and that's once I even get to that point.