Jorisvandijk.com

Living on Linux

My i3 config: Part four - Picom

So I have a decently interesting looking system right now. At least, according to people that see it. Granted though, most of them do not use Linux, so anything other than a bar with icons underneath a big field of more icons and a trash bin, looks interesting to them.

Previous website

A big part of the look would undoubtedly be the transparency and the rounded corners. I've written about the window manager I use, which is the i3 window manager. You'd think that's the most important part of the look of my system, but you'd be wrong. Looks-wise i3 only adds the battery notification, clock and system tray at the bottom. Everything else is done by Picom, my compositor. The flavor of Picom I use is a fork of it made by ibhagwan. This version allows the rounded corners and "dual_kawase blur", which I fully use.

My current configuration file I've added below this post, so if you're interested in making your system look like mine, you could. To get my current one, have a look at my dotfiles. Most of the configuration is decently self-explanatory, but if you have any questions, feel free to ask me.

# This needs the following version of picom to work:
# https://github.com/ibhagwan/picom

# set backend
backend = "glx"

# blur settings
blur: {
method = "dual_kawase";
strength = 15;
background = false
background-frame = false;
background-fixed = false;
}

# apps to exclude
blur-background-exclude = [
"class_g = 'Firefox'",
"class_g = 'i3bar'",
];

# opacity per app
opacity-rule = [
"65:class_g = 'Thunar'",
"85:class_g = 'Ferdi'",
"85:class_g = 'jetbrains-rider'",
"75:class_g = 'libreoffice-writer'",
"75:class_g = 'secrets'",
"75:class_g = 'obsidian'",
"75:class_g = 'Blueberry.py'",
"75:class_g = 'Geary'",
"75:class_g = 'Spotify'",
"70:class_g = 'Rofi'",
"75:class_g = 'File-roller'",
];

# rounded corners
corner-radius = 20

# apps to exclude
rounded-corners-exclude = [
"class_g = 'i3bar'",
];

# shadow
shadow = true;
shadow-radius = 20;
shadow-offset-x = -10;
shadow-offset-y = -10;
shadow-opacity = 0.45;

# apps to exclude
shadow-exclude = [
"class_g = 'i3bar'",
];

# Disable on fullscreen
unredir-if-possible = false;

# Fucking Matt is awesome. This will negate the need for borders
inactive-dim = 0.2