

But for me, I had several more criteria:Īll the solutions I've seen so far didn't meet these criteria.
#Iterm dark mode how to
There are plenty of blog posts that explain how to switch between light and dark mode in Vim. Now that we have a color scheme, we can easily change it inside our vimrc. I set both to hard, which is more pleasant to read. Luckily, it has a dark_contrast and light_contrast options to increase the contrast.

One main issue I had with gruvbox was the pastel colors, which decreases the contrast quite a bit. This color theme is community maintainedand is decent-looking. Eventually, I decided on gruvbox (for now at least). I checked many themes over the weekend with multiple dark mode options (solarized, gruvbox, papercolor, ayu, etc.). I had to find a new color theme that is well maintained and has excellent light and dark colors. Some issues with the Molokai theme are 1. I even forked it and modified it for my liking. I'm a huge fan of the Molokai color theme. TL DR here is a demo of the final work: Color theme
#Iterm dark mode code
I will share code snippets throughout the blog post, but my setup is open source and can be found in my GitHub dotfiles repo. Let me go over this list one by one and explain how things have evolved. Run a daemon process that would listen to macOS "Appearance changed" events and call the change_background script.Create a script called change_background that would change all applications modes from light-to-dark or dark-to-light.I.e., I should be able to change Vim's color mode from outside Vim. Find a way to change the modes programmatically.Implement the light and dark modes for each application separately.Pick up a popular color scheme with both dark and light modes and pleasant to the eyes.I had a rough plan on how I wanted to tackle this issue: Just like Vim or Alacritty, you can define the status bar colors in the config file, which is nf Tmux doesn't use many colors usually unless you add a status bar or change the pane borders.Alacritty doesn't have an API, though, but there are ways to emit an event. In Alacritty, you can define multiple color schemes and switch between them easily in the config file alacritty.yaml.In Vim, if your color scheme supports both a light and dark mode, you switch between by using the command: set background=dark or set background=light.There are already light color schemes for Vim, Alacritty, and most of the popular applications. So, I asked myself, "what if I use a light theme during the day and switch back to a darker theme later in the evening?". Last week, when I had to increase my screen's brightness, I've figured out that I was using a pitch-black terminal screen and all my applications (Vim, Alacritty, etc.) had dark backgrounds. Since then, I never asked myself, "why does the terminal have a dark background?". I've started using a terminal when I was 17 years old. If you're like me, using shell applications, such as Tmux, Vim, etc., it won't work for you. Apple later released an "Auto" mode, which would switch to dark and light based on your location's time. Initially, I was manually changing my light and dark modes in macOS. Because I'm working remotely for a company with a large timezone difference, most of the time, this also means I'm working during the evenings. It makes reading text comfortable for me. So, I asked myself, 'what if I use a light theme during the day and switch back to a darker theme later in the evening?'

Last week, when I had to increase my screen's brightness, I figured I was using a pitch-black terminal screen. Automatic dark mode for terminal applications
