Comments (10)
I plan to add a command for selecting the font when the pynvim gui is ported to C
from pynvim.
For me it was quite confusing to understand, that python-client
is not only a library for writing neovim plugins, but it is also a GTK GUI.
I'd like to contribute to pynvim
as neovim GTK GUI, for example by adding 'guifont'
option, since I know python, but I'm not sure what is the status of python-client
as a GTK GUI, since you mentioned, that there are plans to port it to C. As I understand, plans are to leave python-client
just as a plugin library and move all GUI related things to separate neovim GUI project written in C?
from pynvim.
For me it was quite confusing to understand, that python-client is not only a library for writing neovim plugins, but it is also a GTK GUI.
I know, it was lazy of me to put everything into the same project. The python-client will eventually be split into three projects:
- client library
- plugin host
- pynvim
I'd like to contribute to pynvim as neovim GTK GUI, for example by adding 'guifont' option, since I know python, but I'm not sure what is the status of python-client as a GTK GUI, since you mentioned, that there are plans to port it to C. As I understand, plans are to leave python-client just as a plugin library and move all GUI related things to separate neovim GUI project written in C?
What I want to do is extract the bulk of the pynvim GUI logic into a Gtk widget written in C. After that pynvim will be reimplemented on top of the widget, because it is much faster to handle screen updates in C. I have optimized pynvim a lot, but it still lags when the screen dimensions are too great(or the font is small).
As for adding font customization to pynvim, I was thinking of adding an ex command when it attaches to nvim. This command will use a completion function also implemented by pynvim(for details on how to do that, you need to get familiar with remote plugins)
If you want to implement that, feel free to do it because the code wont be part of the gtk widget. The msgpack-rpc part of pynvim is still going to be python.
from pynvim.
@tarruda Is there any ETA on when a nvim gui will be released? I use Neovim in the terminal but since there are a bunch of keys missing (i.e Ctrl + tab) I end up using gvim.
Pynvim can be used I suppose, but there are few things (such as a flexible fontsize) missing.
from pynvim.
@dani-h for the font, not very convenient, but you can change it here: https://github.com/neovim/python-client/blob/master/neovim/ui/gtk_ui.py#L70
from pynvim.
@sirex Thanks. I grepped for that option and found it, but figured if the font can't be changed there has to be other trivial stuff missing as well.
from pynvim.
@tarruda Is there any ETA on when a nvim gui will be released?
Not yet, sorry. I'm currently using my time to fix job control and :terminal
bugs which are a bit more urgent.
from pynvim.
What I want to do is extract the bulk of the pynvim GUI logic into a Gtk widget written in C.
@tarruda so you are going to do Gtk widget for use with neovim? Any work being done on that?
from pynvim.
@vhakulinen I have not began yet, but there's a good chance it will happen in the next month
from pynvim.
If someone works on this please send PR to neovim/python-gui
from pynvim.
Related Issues (20)
- Can't install pynvim with pipx HOT 1
- `num_to_str` boolean check makes `Ultisnips` snippet engine laggy HOT 5
- pin install pynvim fails to build greenlet on windows HOT 1
- Test failures: "Event loop is closed" with Python 3.12, Fedora Linux HOT 6
- test_vim.py fails with Python 3.12 HOT 1
- Controlling neovim from jupyter notebook: "another loop is running" HOT 4
- Get error "no module named imp" with Python 3.12 HOT 8
- No longer works in Python 3.12 HOT 4
- `<abuf>` is wrong for `BufUnload` with hidden buffer HOT 2
- luaeval behavior: functions are silently returning `None` HOT 3
- docs (readthedocs) CI is failing HOT 4
- Output flooded with EventLoop related messages HOT 5
- checkhealth WARNING: Could not contact PyPI to get latest version HOT 8
- Python 3.8: TypeError: 'type' object is not subscriptable HOT 11
- Access output of lua commands HOT 3
- UpdateRemotePlugins not finding any specs HOT 1
- Synchronous call initiated through a response of an async call drops the results of the sync call. HOT 4
- simplify remote plugins
- How do you access the treesitter API via pynvim? HOT 1
- test_vim: Failure with Python 3.13 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pynvim.