Skip to content

rliang/nvim-pygtk3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nvim-pygtk3

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

Preview

Installation

Requirements:

  • python 3.6+
  • python-setuptools (make)
  • python-neovim
  • python-gobject
  • vte3

Per-user:

$ python setup.py install --user --root=/

System-wide:

$ sudo python setup.py install --root=/

Python scripts

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
    • window.terminal: The VTE terminal that hosts neovim. Docs
    • window.switcher: The GtkStackSwitcher that displays buffers. Docs
    • window.notebook: The GtkNotebook that displays tabs. Docs
    • window.viewport: The GtkViewport that holds the terminal. 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!')

About

PyGTK3 frontend to Neovim with some visual GUI elements.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy