You need to use dwm

Dwm is a dynamic window manager for X11. Developed by suckless. It is designed as a lightweight and minimal window manager for X11. A ‘dynamic window manager’ essentially means that whenever you open a window it is dynamically positioned according to a layout scheme. The default layout in dwm is the tile layout. Dwm uses the master and stack to order currently opened windows. The master window is usually the most recently opened window or one that has been “zoomed” to the master position, the master window usually takes up the greatest space on the screen as the main focus of the user. The stack is made up of unused windows. Furthermore, dwm uses “tags” which allow you to separate different collections of windows on different tags. For example you may have some terminals open on tag 1 and your browser on tag 2. Tags are different to workspaces in other WMs because you can open multiple tags at once, so you could view tags 1 and 2 to see your terminals and browser then go back to only viewing the browser tag.

Why should you use dwm?

You should use dwm because it is simple. Simplicity gains a lot for dwm: 1 - Stability, the smaller codebase means that dwm will compile the same across almost any system configuration. 2 - Fewer bugs + better security, dwm is fairly small and loads no external configuration files which just means there is less opportunity to make dwm start doing something it shouldn’t be. 3 - Resources, dwm is extremely lightweight. Therefore dwm can run comfortably on weaker or old machines. It can also perform very well on more powerful machines making it perfect for anyone willing to try it out. 4 - Lacking features, this might sound absurd however it allows the user to decide what they want out of their window manger. You are encouraged to browse the dwm patches and find things that you might want to add into dwm. That is a positive thing because it prevents “feature creep” from the base dwm where unnecessary things are added for no reason. The user is fully in control of how dwm will look and function once it is compiled. 5 - The configuration is good. Unlike other window managers using custom languages or anyting else, dwm uses pure C in its configuration meaning it is standard and easy to understand with some time.

config.h

The main reason you don’t see most people blabbering about dwm the same way you see people worshipping something like Hyprland (That is very popular these days) is because of how dwm is installed and configured. Dwm is unlike most window managers where there is no dwm.conf file to reload, to configure dwm, you must edit the config.h or config.def.h file and recompile dwm. This means dwm lacks the live-reload feature to quickly change something without restarting the window manager with a keybind or command for the change to take effect. In dwm its not that simple, for a change to take effect you must recompile and restart dwm. Now this can scare off a people who may feel it is too scary or difficult to edit and compile a C program from scratch. This is partly due to a false believe that C is difficult, perhaps it is but it is not a problem for dwm. The config.h file is very simple to edit even for a beginner, adding a new keybind is simple! Just copy one that’s already there and swap out what you want. The configuration takes a little more time and effort but it is truly worth it once you are up and running.

The typical code for a keybind is as follows:

/* define the application name and what binary to run */
static const char *APPNAME[]  = { "THEBINARY", NULL };
 
/* Specify the keys to use */
static const Key keys[] = {
    /* modifier                     key        function        argument */
    { MODKEY,                       XK_c,      spawn,          {.v = APPNAME } },

Italics text, fancy or emphasis

This is bold not bald, there is a difference

Too many stars for this one

http link to click with your pointing device or other

Cool image