Skip to content

Instantly share code, notes, and snippets.

@lee2sman
Last active September 6, 2024 12:38
Show Gist options
  • Save lee2sman/716c73e1fb7d5979d98fb6ad325a3ab2 to your computer and use it in GitHub Desktop.
Save lee2sman/716c73e1fb7d5979d98fb6ad325a3ab2 to your computer and use it in GitHub Desktop.
I cobbled together a method to install i3 window manager for Dvorak

Setting up i3 when you use Dvorak

The process to set up i3 for use by Dvorak users is maddening and works unlike any other window manager or software I've used previously. It's especially difficult for me since I don't remember QWERTY anymore (it's been 14 years for me) and I have Dvorak positioned keys on my keyboard.

Anyway, here is the unpleasant process to get it to work at a bare minimum. I haven't found this documented in a single place elsewhere, and the steps usually assume that you understand how to do something in i3 already.

Download and install i3. I read you need these other packages as well. I'm coming from Ubuntu.

sudo apt install i3 i3status dmenu i3lock xbacklight feh

Let's log out and log back in. Click to switch to i3. Type your password and click login. At this point I've still been in Dvorak mode the whole time.

Ok, we're in. (If the i3 config starts automatically, click through it quickly. We'll delete it shortly anyway).

We need to switch to qwerty. Open Terminal. Mod (alt or windows key)-E. Again, for me I was still in Dvorak at this point.

Now I ran setxkbmap -layout "us" to temporarily switch to QWERTY.

Now you can run the i3-config-wizard. (If you already did the i3 wizard previously, delete it first. rm ~/.config/i3/config )

When you're done running the wizard to select your mod key, run setxkbmap -layout "us" -variant "dvorak"

And that seems to have worked for me.

Going forward you'll want this to be remembered between sessions, so add this line to your config file:

exec "setxkbmap -layout 'us' -variant 'dvorak'"

You can read a quick cheatsheet of i3 commands here

To quit/logout, Mod (alt or windows-key) + Shift + E

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment