All Projects → antoinemadec → openrgb.nvim

antoinemadec / openrgb.nvim

Licence: other
Bring RGB to life in Neovim

Programming Languages

python
139335 projects - #7 most used programming language
Vim Script
2826 projects

Projects that are alternatives of or similar to openrgb.nvim

hydra-antlia
A collection of functions for Hydra
Stars: ✭ 45 (+15.38%)
Mutual labels:  rgb
go-rainbow
Golang Helper for beautiful CLI Applications
Stars: ✭ 86 (+120.51%)
Mutual labels:  rgb
deoplete-solargraph
deoplete.nvim source for Ruby with solargraph.
Stars: ✭ 73 (+87.18%)
Mutual labels:  neovim-plugin
Rotary Encoder Breakout-Illuminated
This is a clever little breakout board for both the RGB and R/G illuminated rotary encoders.
Stars: ✭ 16 (-58.97%)
Mutual labels:  rgb
ColorTranslator
A JavaScript library, written in TypeScript, to convert among different color models
Stars: ✭ 34 (-12.82%)
Mutual labels:  rgb
wally-win
The Flash(ing tool)
Stars: ✭ 28 (-28.21%)
Mutual labels:  mechanical-keyboard
diffview.nvim
Single tabpage interface for easily cycling through diffs for all modified files for any git rev.
Stars: ✭ 1,472 (+3674.36%)
Mutual labels:  neovim-plugin
cyan
Cyan Color Converter
Stars: ✭ 68 (+74.36%)
Mutual labels:  rgb
snackymini-keyboard
Snackymini Keyboard
Stars: ✭ 28 (-28.21%)
Mutual labels:  mechanical-keyboard
AbbrevMan.nvim
🍍 A NeoVim plugin for managing vim abbreviations.
Stars: ✭ 82 (+110.26%)
Mutual labels:  neovim-plugin
eruption
Realtime RGB LED Driver for Linux
Stars: ✭ 140 (+258.97%)
Mutual labels:  rgb
djinn
Djinn Split Keyboard
Stars: ✭ 685 (+1656.41%)
Mutual labels:  mechanical-keyboard
navigator.lua
Source code analysis & navigation plugin for Neovim. Navigate codes like a breeze🎐. Exploring LSP and 🌲Treesitter symbols a piece of 🍰. Take control like a boss 🦍.
Stars: ✭ 781 (+1902.56%)
Mutual labels:  neovim-plugin
Wortuhr
Software für eine ESP8266 basierte Wortuhr mit verschiedenen Layouts
Stars: ✭ 30 (-23.08%)
Mutual labels:  rgb
ColorVectorSpace.jl
Treat colors as if they are n-vectors for the purposes of arithmetic
Stars: ✭ 28 (-28.21%)
Mutual labels:  rgb
nvim-highlite
A colorscheme template that is "lite" on logic for the developer.
Stars: ✭ 163 (+317.95%)
Mutual labels:  neovim-plugin
denops-gh.vim
Vim/Neovim plugin for GitHub
Stars: ✭ 27 (-30.77%)
Mutual labels:  neovim-plugin
acer-predator-turbo-and-rgb-keyboard-linux-module
Linux kernel module to support Turbo mode and RGB Keyboard for Acer Predator notebook series
Stars: ✭ 125 (+220.51%)
Mutual labels:  rgb
nvim-scrollbar
Extensible Neovim Scrollbar
Stars: ✭ 355 (+810.26%)
Mutual labels:  neovim-plugin
nvim-gomove
A complete plugin for moving and duplicating blocks and lines, with complete fold handling, reindenting, and undoing in one go.
Stars: ✭ 142 (+264.1%)
Mutual labels:  neovim-plugin

Bring RGB to life in Neovim

Change your RGB devices' color depending on Neovim's mode.
Fast and asynchronous plugin to live your vim-life to the fullest.

Why?

  • 🌍 Universal: works with all devices supported by OpenRGB
  • 🚀 Fast: snappy and completely asynchronous
  • 💎 Reliable: multiple vim instances are supported
  • ❤️ Flexible: each mode's colors are customizable

Installation

Make sure to have the following plugin in your vimrc:

Plug 'antoinemadec/openrgb.nvim', {'do': 'UpdateRemotePlugins'}

Install:

Setup

Make sure the OpenRGB server is running:

openrgb --server

And add the folowing in your vimrc :

augroup openrgb
  autocmd!
  autocmd ModeChanged *:* call OpenRGBChangeColorFromMode(mode())
  autocmd FocusGained,UIEnter * call OpenRGBChangeColorFromMode(mode(), 1)
augroup end

Customization

If you don't like the default RGB colors, here is how to change it:

" default dict
let s:default_dict = {
      \ 'main_color': '#000000',
      \ 'led_names': [[]],
      \ 'led_colors': []
      \ }
let g:openrgb_mode_dict = {}
for mode in ['n', 'v', 'V', '', 'i', 'R', 'c', 'r', 't', 'default']
  let g:openrgb_mode_dict[mode] = copy(s:default_dict)
endfor

" customize dict:
"     - if dict[mode] is not found, it falls back to dict['default']
"     - each group of keys in 'led_names' are lit using the same color
"     - look at 'g:openrgb_led_names' to see the available 'led_names'
"     - if empty(led_colors):
"           colors are assigned automatically
"       else:
"           led_colors are used
" -- normal
let g:openrgb_mode_dict['n']['main_color'] = '#ffff00'
let g:openrgb_mode_dict['n']['led_names'] = [
      \ ['Key: Right Arrow', 'Key: Left Arrow', 'Key: Up Arrow', 'Key: Down Arrow'],
      \ ['Key: H', 'Key: J', 'Key: K', 'Key: L'],
      \ ['Key: Left Control', 'Key: Left Windows', 'Key: Left Alt', 'Key: Left Shift'],
      \ ['Key: Insert', 'Key: Delete', 'Key: Home', 'Key: End', 'Key: Page Up', 'Key: Page Down'],
      \ ['Key: F1', 'Key: F2', 'Key: F3', 'Key: F4'],
      \ ['Key: F5', 'Key: F6', 'Key: F7', 'Key: F8'],
      \ ['Key: F9', 'Key: F10', 'Key: F11', 'Key: F12'],
      \ ['Key: 0', 'Key: 1', 'Key: 2', 'Key: 3', 'Key: 4', 'Key: 5', 'Key: 6', 'Key: 7', 'Key: 8', 'Key: 9'],
      \ ]
" -- insert
let g:openrgb_mode_dict['i']['main_color'] = '#007020'
let g:openrgb_mode_dict['i']['led_names'] = [
      \ ['Key: F', 'Key: R'],
      \ ['Key: A', 'Key: N'],
      \ ['Key: C', 'Key: E'],
      \ ]
let g:openrgb_mode_dict['i']['led_colors'] = [
      \ '#0000ff',
      \ '#ffffff',
      \ '#ff0000'
      \ ]

Here is the API if you want to trigger color changes manually:

" calling OpenRGBChangeColor() using 'g:openrgb_mode_dict' info
OpenRGBChangeColorFromMode(mode, force)
" calling OpenRGBChangeColor() directly
call OpenRGBChangeColor(main_color, led_names, led_colors, force)

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].