Giter VIP home page Giter VIP logo

Comments (10)

tarruda avatar tarruda commented on July 17, 2024

I plan to add a command for selecting the font when the pynvim gui is ported to C

from pynvim.

sirex avatar sirex commented on July 17, 2024

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.

tarruda avatar tarruda commented on July 17, 2024

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.

danihodovic avatar danihodovic commented on July 17, 2024

@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.

sirex avatar sirex commented on July 17, 2024

@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.

danihodovic avatar danihodovic commented on July 17, 2024

@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 avatar tarruda commented on July 17, 2024

@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.

vhakulinen avatar vhakulinen commented on July 17, 2024

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.

tarruda avatar tarruda commented on July 17, 2024

@vhakulinen I have not began yet, but there's a good chance it will happen in the next month

from pynvim.

bfredl avatar bfredl commented on July 17, 2024

If someone works on this please send PR to neovim/python-gui

from pynvim.

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.