PyGTK3 frontend to Neovim with some visual GUI elements.
- Provides GTK's clipboard (no need for xclip/xsel)
- Buffers on header bar
- GUI Tabs
- Overlay scrollbars
- Applies GTK's light/dark themes according to
&bg - Applies font from
:GuiFont, or from GSettings'org.gnome.desktop.interface:monospace-font-name - Customizable with Python scripts
Requirements:
python 3.6+python-setuptools(make)python-neovimpython-gobjectvte3
Per-user:
$ python setup.py install --user --root=/System-wide:
$ sudo python setup.py install --root=/Scripts in $XDG_CONFIG_HOME/nvim_pygtk3/*.py are exec'd at startup,
exposing the following globals:
connect: Utility wrapper to connect GObject signals.window: The GTK top-level window. Docs
The window object has the following additional signals:
nvim-setup: Emitted when neovim has started.nvim-notify: Emitted when neovim has notified the GUI.nvim-request: Emitted when neovim has requested the GUI.
Example script ~/.config/nvim_pygtk3/a.py:
@connect(window, 'nvim-setup')
def a(nvim):
nvim.command(f'call rpcnotify({nvim.channel_id}, "hello", "world")')
@connect(window, 'nvim-notify')
def b(nvim, event, args):
if event == 'hello':
print('hello', args)
@connect(window.terminal, 'cursor-moved')
def c():
print('cursor moved!')