(This’ll probably not help anybody, but just wanted to get this out there)
Contents
Intro — Brainwashing you into reading this
Key Points when Installing — How to enter a window manager and some basics of them.
i3 — Guide to installing i3, bindings, and videos that could help you
bspwm — Guide to installing bspwm, how to make it usable, bindings, and videos to help you.
hyprland — Not much here, as hyprland is so feature-rich. Includes how to install and some resources.
Any Other Window Manager — Some crucial packages for any window manager, and advice.
Generally Switching to Window Managers — Advice on getting used to a window manager and stabilizing the learning curve.
Intro
Alright, lets just say you just switched to linux (any archlinux based distro like the lovely endeavour OS) and you, like many users, decided to use KDE or some DE. So… what now? After some time using Linux like this you may be starting to feel dull. Where’s the “ricing” at? After all, you may feel that customizing KDE of Gnome feels too easy or too streamlined, or just not your style. You may be opting for a WM, or a Window Manager. You install the window manager (be it i3, bspwm, berry, etc.). Now what? How do I customize this? This is what this tutorial/guide is about.
Key Points when Installing
After you have installed a window manager, log out for your desktop environment and select the settings icon, or the text that says your desktop environment, like this:
(ON GNOME)
(ON KDE PLASMA)
After you click on that, select the name of your window manager, and you will enter it.
Some window managers require additional packages to work properly (some more than others). Here is a list of my recommended packages for a few window managers. You MUST have xorg
(for X11 window managers) or xorg-xwayland
(for Wayland window managers). (terminal)
means your desired terminal.
i3
Run:
sudo pacman -S i3-wm dunst picom nitrogen (terminal) dmenu neovim polybar
Package break-down
i3-wm
The i3 window manager
dunst
For notifications
picom
For window blurring and transparency
nitrogen
GUI wallpaper setter
(terminal)
Your terminal of choice
dmenu
App launcher (can be replaced with rofi later)
neovim
TUI text editor (can be replaced by any editor)
polybar
Highly customizable bar for X11
Additional Instructions for i3
For ease of use, don’t copy the configuration file immediately. Once you start i3, a config wizard will appear and ask you some questions including your desired Mod key. (Alt or Super).
If you have used Swaywm before, you can safely copy your config almost word-for-word to i3. They use the same syntax.
(Bindings)
Terminal = Alt+Enter
(Mod key can be changed in config)
Dmenu = Alt+D
Restart i3 = Alt+Shift+R
Quit i3 = Alt+Shift+E
Tile next window vertically = Alt+V
Tile next window horizontally = Alt+H
Close window = Alt+Shift+Q
Switch to desktop = Alt+{1-10}
Move window to desktop = Alt+Shift+{1-10}
Float a window = Alt+Shift+Space
(Grab titlebar and drag to move)
Fullscreen a window = Alt+F
These are the key keybindings. You will most likely be able to run anything (dmenu) and customize anything (your terminal) using these bindings.
Links:
i3 docs
Linux cast video (pretty old, be warned)
typecraft video on i3
Customizing polybar
bspwm
Run:
sudo pacman -S bspwm sxhkd nitrogen picom dunst neovim dmenu polybar
Package Breakdown
bspwm
The BSPWM window manager
sxhkd
For keyboard shortcuts
nitrogen
GUI wallpaper setter
picom
Compositor for window blur, transparency and more
dunst
For notifications
neovim
TUI text editor (can be replaced by any text editor of your choice)
dmenu
App launcher (can be replaced with rofi later)
polybar
Highly customizable bar for X11
Additional Instructions for BSPWM
After you install these, please copy: /usr/share/doc/bspwm/examples/bspwmrc
to .config/bspwm/
(create it if necessary)
THEN,
Copy: /usr/share/doc/bspwm/examples/sxhkdrc
to .config/sxhkd/
(create if necessary)
Additionally, replace “urxvt” in the default .config/sxhkd/sxhkdrc
to your terminal.
Search for:
super + Return
urxvt
and replace it with:
super + Return
(your terminal here)
(Bindings)
Terminal = Super+Enter
Dmenu = Super+Space
Close window = Super+Shift+W
Restart bspwm = Super+Alt+R
Quit bspwm = Super+Alt+Q
Float a window = Super+S
on desired window
Tile a window = Super+T
on desired window
Fullscreen a window = Super+F
on desired window
Resize a window (floating) = Super+LeftClickDrag
on desired window
Move a window (floating) = Super+RightClickDrag
on desired window
Move window to desired desktop = Super+Shift+{1-10}
on window
Switch to desktop = Super+{1-10}
IMPORTANT!
PLEASE check that your bspwmrc and sxhkdrc are EXECUTABLE. To do this, use
chmod +x .config/bspwm/bspwmrc
chmod +x .config/sxhkd/sxhkdrc
Links:
ArchWiki entry
Check this channel out. Really in-depth tutorials of bspwm.
My bspwm config
Customizing polybar
i3 and bspwm are the most popular in the X11 realm. For hyprland, I recommend these packages:
hyprland
Run:
sudo pacman -S hyprland waybar swww kitty
Package Breakdown
hyprland
Hyprland window manager. (comes with compositor)
waybar
Top bar for Wayland window managers.
swww
Wallpaper setter with animation support. (Wayland ONLY)
kitty
Default terminal for Hyprland. (can be replaced after)
I don’t really use Wayland, but here are some Github repos and a video on ricing hyprland.
Links:
Hyprland Ricing Series
JaKooLit’s Hyprland Dotfiles
Catppucccin Hyprland
sane1090x’s everforest Hyprland
How to customize waybar in general
ANY OTHER WINDOW MANAGER
For any other window manager, you must do your research on the Internet to find a tutorial or video that will help grasp the idea of a window manager and how to install and use it. I just listed a small guide for a few of the most popular ones. You may be wondering, what about the packages? Well, for all window managers you will need these packages (additionally to the actual window manager)
(terminal)
Any terminal
dunst
For notifications
nitrogen
GUI wallpaper setter
(app launcher)
An app launcher. Usually rofi or dmenu
(text editor)
Any text editor (vim, neovim, nano, emacs, etc.)
picom
Really, even though you can use a window manager without picom, you can’t really make your desktop look beautiful without this.
GENERALLY SWITCHING TO WINDOW MANAGERS
This is the final part of this guide thing. You may be overwhelmed by all these instructions or even the thought of using a window manager. But, think of a window manager like this: it is like a desktop environment, just you’ll be in the terminal more for around a few weeks until you finish customizing. Still not convinced? Well, you don’t have to be using your window manager all the time. Use your desktop environment and window manager in interchanging manner. Maybe set a goal (e.g. “Today, I want to finish configuring my picom”) and complete that and the next day, use your desktop environment. Customizing a window manager, or Linux in general is not a fast or easy task at all. It takes perseverance and responsibility to document your problems and get them fixed and just keep customizing in general. This guide is NOT a full guide, but a small resource to kickstart you. GitHub is a great platform to find dotfiles or software that may help you make the ricing experience more accessible. YouTube is also a very good place to learn and do with endless tutorials that go more in-depth on how to use window managers. After this guide, I will be uploading a video on my channel about this guide (that will go more in depth). This took a lot of time to write, and I hope someone (or maybe you!) can grab something out of this. Chao!
Matias Marino