DEV Community

Cover image for Configuring wsltty Which Is My Favorite Windows WSL Terminal
Nick Janetakis
Nick Janetakis

Posted on • Originally published at nickjanetakis.com

Configuring wsltty Which Is My Favorite Windows WSL Terminal

*This article was originally posted on September 24th, 2019 at: https://nickjanetakis.com/blog/configuring-wsltty-which-is-my-favorite-windows-wsl-terminal


Over the years I've tried a bunch of different WSL (Windows subsystem for Linux) terminals and for 8+ months I’ve been using wsltty full time and it's been really great.

It's one of the few pieces of software on my computer where I don't feel like I'm on a quest to continuously find something better. It has extremely low input latency (ie., typing feels very fast and smooth), it uses almost no system resources and it’s rock solid.

In this video we're going to cover what makes it so good (in my opinion) and how I have it configured so you can replicate this set up on your end if you want to try it out. Everything we do here will work on any version of Windows 10.

Timestamped Table of Contents:

  • 0:40 -- WSL v1 vs. WSL v2
  • 1:48 -- Why did I choose wsltty over the rest of the terminals?
  • 2:23 -- 7 terminal features that make a terminal good (in my opinion)
  • 3:10 -- Low input latency is my main concern because typing should have no delay
  • 4:42 -- tmux has you covered for tabbed windows, split panes and searching buffers
  • 7:46 -- Using hotkeys to zoom in and out and copy / pasting text
  • 8:45 -- How the other terminals I tried failed my 7 feature checklist in the past
  • 12:12 -- Why I'm not using the new Windows terminal (yet)
  • 13:14 -- Installing wsltty which is open source on GitHub
  • 14:29 -- Configuring wsltty
  • 15:05 -- Adjusting the transparency of wsltty
  • 15:44 -- Block vs line vs underscore cursor styles
  • 16:23 -- Picking your terminal font, I like Consolas
  • 17:14 -- Configuring a bunch of hotkeys
  • 17:47 -- Configuring mouse support
  • 17:59 -- Configuring the window size and scrollbar
  • 19:06 -- Configuring the terminal type and removing beeps
  • 19:39 -- Previewing the default themes
  • 21:01 -- Why I use the Gruvbox theme and how to install custom themes
  • 23:55 -- wsltty is rock solid and I will continue to use it for a long time

Reference Links

What's your favorite WSL terminal or wsltty feature? Let me know below.

Latest comments (6)

Collapse
 
rescenic profile image
Muhammad Ridwan Hakim, S.T.

Can you please give us tutorial how to use mintty emojis?

Collapse
 
thomasguy profile image
Thomas Guy • Edited

Hi Nick I like wsltty but have a config problem. echo $PATH ... my home/tom/.local/bin is not on the path. I can manually get there with source .profile. Not sure where to config this for wsltty?
thanks Tom

Collapse
 
nickjj profile image
Nick Janetakis

You can add that to your $PATH in your ~/.profile file.

Here's a link to my dotfiles: github.com/nickjj/dotfiles/blob/33...

Collapse
 
thomasguy profile image
Thomas Guy

Thanks Nick,
the path is already in .profile. I have no problems in Ubuntu terminal if I echo $PATH there the path is there, but not when i do the same in wsltty ?

I'm presently 25% through you Flask App Course thanks a lot for that I've learnt a lot already.

So basically I can't use docker-compose from wsltty ? (unless I manually do 'source .profile' to get the $PATH to update). I spent this morning doing a full reinstall and followed your docker tips to get WSL Docker working and it does in Ubuntu shell...

Is there not a config file for wsltty in %APPDATA% or a minttyrc somewhere?
I'm using windows10 pro with WSL-Ubuntu18.04

thanks Tom Guy

Thread Thread
 
nickjj profile image
Nick Janetakis

Are you using Bash or another shell? There's nothing different about wsltty to cause it to not load that file if you're using Bash.

It works great with Docker Compose. It's what I use personally and I don't manually source any files. I just open wsltty and start running Docker commands (or any Linux command).

There is a config file for mintty but nothing is needed to be configured to get your PATH set up. I have my wsltty config in my dotfiles at: github.com/nickjj/dotfiles/blob/ma...

It's mainly just settings for various wsltty specific UI things.

All of the PATH related things would be done inside of WSL (unrelated to your terminal).

Maybe double check your ~/.bashrc file to see if the PATH is being overridden there.

Collapse
 
rifaimartin profile image
Rifai Martin

I will try it