Skip to content

Nvim theme with pastel colors emulated a retro posters vibe

License

Notifications You must be signed in to change notification settings

ilof2/posterpole.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Posterpole.nvim

Simple nvim theme with pastel colors which try to emulate an old retro poster vibe

Stars Issues Commit activity

Main theme

Screenshot 2024-11-01 at 15 38 12

Posterpole-term theme

Screenshot 2024-11-01 at 15 37 56

Other implementations

Features

  • 🪟 Transparency
  • 🎨 Color/colorless bg variants
  • ☀︎ Configurable brightness and saturation
  • 👾 posterpole-term variant which can be used in
    terminals without $TERM=xterm-256color support ( Macos terminal for example )
  • 🌗 Adaptive brightness based on current hour

Installation

Lazy:

{
  "ilof2/posterpole.nvim",
  priority=1000,
  config = function ()
    local posterpole = require("posterpole")
    posterpole.setup({
      -- config here
    })
    vim.cmd("colorscheme posterpole")
    
    -- This function create sheduled task, which will reload theme every hour
    -- Without "setup_adaptive" adaptive brightness will be set only after every restart
    posterpole.setup_adaptive()
  end
}

Configuration

-- Default
require("posterpole").setup({
  transparent = false,
  colorless_bg = false, -- grayscale or not
  dim_inactive = false, -- highlight inactive splits
  brightness = 0, -- negative numbers - darker, positive - lighter
  selected_tab_highlight = false, --highlight current selected tab
  fg_saturation = 0, -- font saturation, gray colors become more brighter
  bg_saturation = 0, -- background saturation
  colors = {
    posterpole = {}, -- { mainRed = {hex = "#550000", cterm = 95} }
  },
  adaptive_brightness = {
    enabled = false,
    max_brightness = 1, -- maximum brightness for the day
    min_brightness = -6, -- minimum brightness for the day
    daylight_duration = 12, -- how long is daylight
    noon_time = 12 -- hour when the theme will have maximum brightness
  },
  lualine = {
    transparent = true
  }
})

Colors

You can override all colors that are used in colorscheme

Important

posterpole-term color values should be integer in range 0-256

Note

brightness, fg_saturation, and bg_saturation settings are not applied to custom colors Possibly it will added in the future

256 colors helpers:

Colors list which can be overwritten:

{
  mainGray
  mainBlack
  mainYellow
  mainOrange
  mainWhite
  mainGreen
  mainCyan
  mainBlue
  mainPurple
  mainPink
  mainRed

  -- scales
  deepRed
  deepGreen
  brightGreen
  brightGray

  -- main bg colors
  bgColor
  bgColorNC
  bgDarkColor
  bgDarkColorless
  bgColorlessColor
  bgColorlessNC
}

Plugins Support (full or partial)

Plans

  1. More plugins support
  2. Custom highlight groups

Inspiration

Known issues

  1. Color scheme with dim_inactive=true and transparent=true looks crappy. The best solution for now - is not to combine these 2 options