dotfiles

Flammie's settings and etc data


Project maintained by flammie Hosted on GitHub Pages — Theme by mattgraham

I3 dotfiles

I3 is the windowing manager I use, it’s tiling (occupies whole screen), so unusable for average windows / mac user. It has lot of nice configurable shortcuts, the main idea here seems to be that we’ve taken over the Mod4 key that is in contemporary keyborads marked by a broken window sign on the keycap. The default config is mostly good, few changes I’ve made:

# Font
font pango:Terminus 10

The default font is some ugly monospace, I use terminus everywhere.

# named workspaces
bindsym $mod+1 workspace 1: 🌐
bindsym $mod+2 workspace 2: ✉
bindsym $mod+3 workspace 3: 🗪
bindsym $mod+4 workspace 4: 🖖
bindsym $mod+5 workspace 5: ✎
bindsym $mod+6 workspace 6: 🐀
bindsym $mod+7 workspace 7: 🗁
bindsym $mod+8 workspace 8: 🎵
bindsym $mod+9 workspace 9: ⚙
bindsym $mod+0 workspace 10: 📃
bindsym $mod+Shift+1 move container to workspace 1: 🌐
bindsym $mod+Shift+2 move container to workspace 2: ✉
bindsym $mod+Shift+3 move container to workspace 3: 🗪
bindsym $mod+Shift+4 move container to workspace 4: 🖖
bindsym $mod+Shift+5 move container to workspace 5: ✎
bindsym $mod+Shift+6 move container to workspace 6: 🐀
bindsym $mod+Shift+7 move container to workspace 7: 🗁
bindsym $mod+Shift+8 move container to workspace 8: 🎵
bindsym $mod+Shift+9 move container to workspace 9: ⚙
bindsym $mod+Shift+0 move container to workspace 10: 📃

By default the workspaces I think are only numbered, I’ve added nice symbols that hint how I organise the workspaces, it’s possible to use names as well but these take up a lot of space in the switcher.

# multimedia keys
bindsym XF86MonBrightnessUp exec xbacklight -inc 7
bindsym XF86MonBrightnessDown exec xbacklight -dec 7
bindsym XF86AudioMute exec amixer -D pulse sset Master toggle -q
bindsym XF86AudioLowerVolume exec amixer -D pulse sset Master 1%- unmute -q
bindsym XF86AudioRaiseVolume exec amixer -D pulse sset Master 1%+ unmute -q

So the weird extra keys in some semi-old laptops can be made useful too, I’m pretty sure they are gone in modern laptops and keyboards again so this won’t be of any interest.

# passmenu
bindsym $mod+p exec passmenu

I use pass to store my password and it uses dmenu just like i3 so it goes perfectly to bind it to key combo as well.

# keyboard changer (buggy)
bindsym $mod+y exec "setxkbmap -layout ru -variant phonetic"
bindsym $mod+Shift+y exec "setxkbmap -layout fi"

Since there’s no satisfactory keyboard switcher applet that would last for more than 2 years in the linux world, we have another key binding for i3 to change the keyboard layout (because also the X version of shift-tab doesn’t always work).

# quick pause all noise
bindsym $mod+Shift+p exec "clementine --play-pause"

Finally, a boss key for all your open office needs.

i3bar and i3status

I3’s native bar solution and status bar are small enough that I haven’t bothered to write a separate page for them. Mostly also works out of the box, one thing I have needed to google is all of the non-standard locations stuff in i3status config, e.g. temperature is read from /sys/ but it’s a different place for every system, the standard is /sys/devices/platform/coretemp.0/temp1_input I have yet to see a system where it exists. On this laptop I have /sys/devices/platform/coretemp.0/hwmon/hwmon5/temp?_input one per every CPU core. So:

cpu_temperature 0 {
        format = "🌡%degrees °C"
        path = "/sys/devices/platform/coretemp.0/hwmon/hwmon*/temp2_input"
}

At the moment the number after hwmon changes depending on the mood of the kernel but * is supported so it kind of works out since only the CPU monitor has temp2 upwards. Originally found the solution on i3 reddit.

For everything else, since many of my laptops are mini or rasbpi, I also condensed a lot of text to unicode emoji or - instead of long words.