hello friends! new(ish)!

GNU/Linux ricing: Difference between revisions

From InstallGentoo Wiki v2
Jump to navigation Jump to search
>Shodan
No edit summary
(added fvwm)
 
(119 intermediate revisions by 59 users not shown)
Line 1: Line 1:
GNU/Linux distributions are well known for their ability to customize the way they work to a large degree. The purpose of this page is to give the reader some ideas on what can be customized and how.  
[[File:Ricing at its finest.jpg|thumb|At first you'd think it was Windows XP, but look closer.... This is the power of customization that the GNU/Linux system provides. ([[KDE]] on [[OpenSUSE]])]]
[[GNU/Linux]] distributions are well known for their ability to customize the way they work to a large degree. The purpose of this page is to give the reader some ideas on what can be customized and how.


==Window managers==
==What does /g/ use?==
Currently most GNU/Linux distributions use X.org for drawing the desktop (with wayland being planned to replace it later). X.org is designed to be modular and highly customizable. One of the results of this design are that X.org doesn't manage windows, instead depending on a special client application called a window manager. Said window manager (WM in short) moves and resizes windows, among other things, often in response to user input. Window managers also do many more, like automatic windows layout, compositing, drawing decorations, drawing panels, providing multiple workspaces etc.
{{Main article|Babbies First Linux}}
Let's be honest: this is why you're really here.


Windows managers can be divided into these three categories:
A common ricing configuration which can be seen among /g/ users in desktop threads usually features some of the software below. All of these can be installed from a repository via your package manager, be it your distro's main one or a user one (the AUR in Arch), or built from source. Do a little searching to find out.
*Stacking - they allow windows to draw their contents one after another on the desktop, starting with the one which is the most obscured one and going up in the "Z order".
*Compositing - provide a buffer for each window to draw on and then compose those buffers together creating the desktop image. This type of window managers allows to use semitransparent windows.
*Tiling - The windows do not overlap.
**Static tiling WMs such as ratpoison alwas use a set number of equal size tiles, and the tiles do not move
**Dynamic tiling WMs such as awesome allow you to change the layout of the tiles, the number of tiles onscreen, and other things. it should be noted that awesome also has a stacking mode in addition to many tiling configurations.
It should be added that many WMs are stacking and tiling at the same time, and the behaviour can be switched by the user.


It's also possible, for WMs that don't tile windows, to use a separate application that works together with the main windows manager and tiles windows (for example: '''pytyle''').
*Window Manager: [https://swaywm.org/ Sway], [http://awesome.naquadah.org/download/ Awesome], [[fvwm]] or [https://dwm.suckless.org/ dwm];
*Login/Display manager: [https://wiki.archlinux.org/index.php/Xinit#Autostart_X_at_login Usually none];
*File Manager: [https://ranger.github.io/download.html ranger], [https://www.midnight-commander.org/ mc], [https://github.com/jarun/nnn nnn], or none;
*Terminal Emulator: [http://software.schmorp.de/pkg/rxvt-unicode.html rxvt-unicode] or [https://st.suckless.org/ st];
*Shell: [http://www.zsh.org/ zsh] + [https://github.com/robbyrussell/oh-my-zsh oh-my-zsh], [http://fishshell.com/ fish], or bash;
*OS information: [https://github.com/fastfetch-cli/fastfetch fastfetch]
*Font: [https://dejavu-fonts.github.io/Download.html DejaVu], [http://levien.com/type/myfonts/inconsolata.html Inconsolata], [http://terminus-font.sourceforge.net/ terminus], or [https://github.com/lucy/tewi-font Tewi];
*Music player: [http://www.musicpd.org/download.html mpd] + [http://rybczak.net/ncmpcpp/installation/ ncmpcpp] or [https://musicpd.org/clients/ncmpc/ ncmpc], or [https://cmus.github.io/ cmus];
*Video player: [http://mpv.io/ mpv];
*IRC client: [http://www.weechat.org/download/ weechat] or [http://www.irssi.org/download irssi];
*Screen capture (screenshot): [https://sr.ht/~emersion/grim/ grim] or [https://github.com/naelstrof/maim maim]
*Image viewer/desktop wallpaper display: [http://feh.finalrewind.org/ feh];
*Screen recorder: see below (some casuals also use their DE default);
*Streaming: [http://www.ffmpeg.org/ FFMPEG] (which includes FFServer if you want to host the stream);
*Video conversion: [http://www.ffmpeg.org/ FFMPEG] (including [[WebM]] or GIF creation);
*Text editor: [https://neovim.io/ Neovim], [https://www.gnu.org/software/emacs/ Emacs], or [https://code.visualstudio.com/ Visual Studio Code].


Finally, there exists programs such as '''xcompmgr''', that work together with a non-compositing WM making it compose windows, allowing for effects such as transparency.
==Desktop Environments==
 
A '''desktop environment''' is a complete suite of software designed to maintain a certain experience in a Linux environment. It will contain a [[GNU/Linux_Ricing#Display_Managers|display manager]], [[GNU/Linux_Ricing#Window_Managers|window manager]], session manager, [[List_of_recommended_GNU/Linux_software#File_Managers|file manager]], and various other default applications that a user may find useful ([[Browsers|web browser]], [[List_of_recommended_GNU/Linux_software#Music_Players|audio player]], etc). Good DEs are modular and will allow the users to mix and match and switch any of their modules with another of their choice. Running multiple Desktop Environments without uninstalling others is one mere file edit away.
 
Primarily, what a DE means to ''you'' is how you interact with the desktop. Systems such as [[Windows]] and [[MacOS|Mac]] only have one user interface to use, however [[GNU/Linux]] systems have many User Interfaces to choose from.
 
Despite the many options, a desktop environment is not a required part of a Linux experience, although most Linux distributions will include one by default. It is entirely possible to have a working graphical environment without installing a desktop environment, instead opting to only use a window manager and utilities that you require, and many users choose to do this.
 
[[File:Gnome47.jpg|thumb|The GNOME desktop environment]]
*'''[https://www.gnome.org/gnome-3/ GNOME]'''
 
:GNOME is the most popular Linux desktop environment. It uses it's own desktop metaphor and design language, and as such it is extremely polarising. GNOME is also known for [https://blogs.gnome.org/benzea/2019/10/01/gnome-3-34-is-now-managed-using-systemd/ requiring systemd], [https://stopthemingmy.app/ unfriendly to app developers] and being [https://lunduke.locals.com/post/5855674/gnomes-shaman-departs-as-executive-director-after-9-months-on-the-job managed by a shaman.]
:*'''[http://developer.linuxmint.com/projects.html Cinnamon]'''
::Cinnamon is a GNOME 3 fork with a more traditional desktop, akin to KDE. [[File:Cinnamon6.jpg|thumb|The Cinnamon desktop environment]]
:*'''[https://mate-desktop.org/ MATE]'''
::A fork of GNOME 2 for those who prefer it. You can also use [https://wiki.gnome.org/Projects/GnomeFlashback GNOME Flashback]
[[File:Plasma 6 Desktop.png|thumb|The KDE Plasma desktop environment]]
 
* '''[https://www.kde.org/workspaces/plasmadesktop/ KDE Plasma]'''
:A Windows-esque desktop environment with first-class support for quality-of-life features such as fractional scaling and variable refresh rate. It is also used as the default desktop environment in Valve's Steam OS.
 
::
[[File:LXQt.png|thumb|The LXQt desktop environment]]
*'''[https://www.xfce.org/ XFCE]'''
 
:XFCE is a simple, stable desktop. Development is extremely slow and the feature set is incredibly barebones but it doesn't tend to crash.
 
*'''[https://lxqt.org/ LXQt]'''
 
:The direct descendant of the LXDE project, LXQt is designed for use on low-power machines and netbooks. If you want something that runs fast and allows for lots of customization without giving up too many features, this DE is for you
 
==Display Managers==
A '''display manager''' is what might typically be thought of as a "login screen". It will prompt you to choose a user to log in as, as well as specify a session to be used, which allows you to switch between desktop environments easily. The most popular are <code>gdm</code> and LightDM, which are used by GNOME and KDE respectively
 
==Window Managers==
Currently most GNU/Linux distributions use the X Window System for drawing the desktop (with Wayland being planned to replace it later). The X.org Server is the most common implementation of the X Window System. It is designed to be modular and highly customizable. One of the results of this design is that X.org doesn't manage windows. Instead it depends on a special client application called a '''window manager'''. The window manager (WM in short) moves and resizes windows, among other things, often in response to user input. Window managers also do much more, like automatic window layout, compositing, drawing decorations, drawing panels, providing multiple workspaces, and so on.
 
Window managers can be divided into these three categories:
 
[[File:Screen16.png|thumb|Compiz's expo plugin. As most window managers, it allows for multiple workspaces, as seen here.]]
 
*'''Stacking''' - Provides the traditional desktop metaphor used in commercial operating systems like Windows and macOS. Windows act like pieces of paper on a desk, and can be stacked on top of each other.
*'''Compositing''' - Provide a buffer for each window to draw on and then compose those buffers together creating the desktop image. This type of window manager allows use of semitransparent windows.
*'''Tiling''' - These "tile" the windows side-by-side so that none are overlapping. They usually make very extensive use of key-bindings and have less (or no) reliance on the mouse. Tiling window managers may be manual, offer predefined layouts, or both.
 
Many WMs contain both stacking and tiling modes, and the behavior can be switched by the user. This is sometimes known as a "dynamic" wm (not to be confused with dynamic tiling)
 
It's also possible for WMs that don't tile windows to use a separate application that works together with the main window manager to automatically tiles windows (for example: '''pytyle''').
 
Finally, there are also composite managers such as '''xcompmgr''' that work together with a non-compositing WM making it compose windows, allowing for effects such as transparency and drop shadows.
===List of window managers and similar tools===
===List of window managers and similar tools===
Tiling:
[https://wiki.archlinux.org/index.php/Category:Window_managers List of window managers on the Arch Wiki]
*'''[http://awesome.naquadah.org/ Awesome]'''
 
*'''[http://xmonad.org/ Xmonad]'''
'''Dynamic'''
*'''[http://dwm.suckless.org/ Dwm]'''
 
*'''[http://i3wm.org/ i3]'''
* '''[https://swaywm.org/ Sway]''' - One of the most popular window managers around, Sway is a spiritual successor to i3wm that strives to provide 1:1 compatibility and a host of other new features. Looks good out of the box and the configuration is simple and intuitive. It also provides a great amount of documentation on the webpage. Good for beginners and developers/hackers alike.
[[File:Screen16.png|thumb|Compiz's expo plugin. As most window managers, it allows for multiple workspaces, as seen here.]]
 
Compositing:
*'''[http://awesome.naquadah.org/ Awesome]''' - Despite looking pretty bad of the box, it's a very popular tiling window manager. It is completely scriptable in Lua, which makes it one of the most powerful and customizable window managers once you get around to programming the configuration file.
*'''[http://www.compiz.org/ Compiz]''' - is a compositing WM being developed since 2006. It uses OpenGL (AIGLX). It is know for having a lot functionality and providing many interesting effects. However, it can cause problems if the graphic are faulty.
*'''[https://github.com/c00kiemon5ter/monsterwm monsterwm]''' - Tiny but monstrous! Currently under 700 lines of code including the configuration file.
*'''[http://techbase.kde.org/Projects/KWin KWin]''' - is a compositing WM used in KDE. It's comparable in feature set to compiz.
 
*'''[http://git.gnome.org/browse/mutter/ Mutter]''' - the default windows manager for GNOME.
'''Tiling'''
*'''[http://docs.xfce.org/xfce/xfwm4/start Xfwm]''' - the default WM for XFCE.
 
Stacking:
*'''[https://github.com/baskerville/bspwm bspwm]'''
*'''[http://xmonad.org/ xmonad]''' - A minimal window manager written and configured in Haskell.
*'''[https://herbstluftwm.org/ herbstluftwm]''' - A manual tiling window manager.
 
'''Compositing'''
 
*'''[http://www.compiz.org/ Compiz]''' - A compositing WM being developed since 2006. It uses OpenGL (AIGLX). It is know for having a lot functionality and providing many interesting effects. However, it can cause problems if the graphics are faulty.
*'''[http://techbase.kde.org/Projects/KWin KWin]''' - A compositing WM used in KDE. It's comparable in feature set to Compiz.
*'''[http://docs.xfce.org/xfce/xfwm4/start Xfwm]''' - The default window manager for XFCE.
 
'''Stacking'''[[File:2012-12-26_05-26-02.png|thumb|PyTyle used together with Compiz, tiling 5 terminal windows.]]
 
*'''[http://openbox.org/wiki/Main_Page Openbox]'''
*'''[http://openbox.org/wiki/Main_Page Openbox]'''
*'''[http://www.fluxbox.org/ Fluxbox]'''[[File:2012-12-26_05-26-02.png|thumb|PyTyle used together with compiz, tiling 5 terminal windows.]]
*'''[http://www.fluxbox.org/ Fluxbox]'''
*'''[http://blackboxwm.sourceforge.net/ Blackbox]'''
*'''[http://blackboxwm.sourceforge.net/ Blackbox]'''
Compositing tools for stacking/tiling managers:
*'''[http://windowmaker.org/ Windowmaker]''' - No-frills, very lightweight, fast. Makes your computer look like a mid-90s NeXTSTEP workstation.
* '''[http://cgit.freedesktop.org/xorg/app/xcompmgr/ Xcompmgr]'''
 
* '''[https://github.com/chjj/compton Compton]'''
'''Compositing tools (for stacking/tiling WMs)'''
Tiling tools for non-tiling WMs:
 
* '''[https://wiki.archlinux.org/index.php/PyTyle PyTyle]'''
*'''[http://cgit.freedesktop.org/xorg/app/xcompmgr/ Xcompmgr]'''
*'''[https://github.com/chjj/compton Compton]''' - Forked of Xcompmgr
*'''[https://wiki.archlinux.org/title/Picom Picom]''' - picom is a compositor based on Dana Jansens' version of xcompmgr (which itself was written by Keith Packard). It includes some improvements over the original xcompmgr, like window frame opacity and inactive window transparency.
 
'''Tiling tools (for non-tiling WMs)'''
 
*'''[https://wiki.archlinux.org/index.php/Tile-windows Tile-windows]'''
*'''[https://wiki.archlinux.org/index.php/PyTyle PyTyle]'''
*'''[http://kde-look.org/content/show.php/Tiling?content=161151 Tiling]''' (Kwin)
 
For some more information on this topic, see: [https://wiki.archlinux.org/index.php/Window_Manager this page].
For some more information on this topic, see: [https://wiki.archlinux.org/index.php/Window_Manager this page].


==GTK Themes==
==Themes==
These are a couple of great themes. All of these are GTK3 compattible.
There are two main toolkits you need to concern yourself with styling: GTK and Qt. Luckily, there are themes for both that will adapt to the other. So find a theme for whichever toolkit your distro uses prominently. For distros with KDE or LXQt, that's Qt. For everything else, that's GTK. If your distro uses GNOME, you will not be able to use these themes.
*'''[http://www.deviantart.com/art/Numix-GTK3-theme-360223962 Numix]''' - A very popular theme.  
 
===GTK Themes===
There are a number of great themes. All of these are GTK3 compatible. To apply them, see [[GTK Theming]].
 
*'''[http://www.deviantart.com/art/Numix-GTK3-theme-360223962 Numix]''' - A very popular theme.
 
[[File:3oFOae1.png|thumb|The [http://www.deviantart.com/art/Numix-GTK3-theme-360223962 Numix] theme]]
[[File:3oFOae1.png|thumb|The [http://www.deviantart.com/art/Numix-GTK3-theme-360223962 Numix] theme]]
*'''[http://malisremac.deviantart.com/art/Numix-Arctic-429735750 Numix Arctic]'''
*'''[http://malisremac.deviantart.com/art/Numix-Arctic-429735750 Numix Arctic]'''
*'''[http://grvrulz.deviantart.com/art/Hope-gtk3-206207315 Hope]'''
*'''[http://grvrulz.deviantart.com/art/Hope-gtk3-206207315 Hope]'''
*'''[http://half-left.deviantart.com/art/Naos-GTK3-258074770 Naos]'''
*'''[http://half-left.deviantart.com/art/Naos-GTK3-258074770 Naos]'''
*'''[http://sixsixfive.deviantart.com/art/simpliX-Xfwm-Xfce-Notify-GTK2-GTK3-346404452 Simplix]''' - Supports Xfwm, Xfce-Notify, GTK2, GTK3
*'''[http://sixsixfive.deviantart.com/art/simpliX-Xfwm-Xfce-Notify-GTK2-GTK3-346404452 SimpliX]''' - Supports Xfwm, Xfce-Notify, GTK2, GTK3.
*'''[http://tista500.deviantart.com/art/Lazulum-Gtk3-424079349 Lazulum]'''
*'''[http://tista500.deviantart.com/art/Lazulum-Gtk3-424079349 Lazulum]'''
*'''[http://lassekongo83.deviantart.com/art/Zukiwi-313347909 Zukiwi]'''
*'''[http://lassekongo83.deviantart.com/art/Zukiwi-313347909 Zukiwi]'''
*'''[http://antteor.deviantart.com/art/XFlat-a-rat-427319410 Xflat a rat]''' - Minimalist looking
*'''[https://github.com/horst3180/Arc-theme Arc]''' - Another popular theme.
*'''[http://sonnhy96.deviantart.com/art/ElementaryLi-elementary-on-Ubuntu-12-04-Unity-302283439 ElementaryLi]''' - Make your distor look like a mac!
*'''[https://github.com/grassmunk/Chicago95 Chicago95]''' - Windows 95 theme for Xfce and GTK2/3
*'''[http://nekron29.deviantart.com/art/October-Screenshot-333043090 Greybird]''' - See above
 
===Qt Themes===
Set Qt themes with the qtconfig tool.
 
*GTK+ - Builtin. Adapts to the theme that GTK is using.


==KDE==
KDE allows you to download most of the following by simply going into the relative setting, press the "get new" button, and search for the name.
===Icons===


==Desktop Environments==
*'''[http://kde-look.org/content/show.php/KFaenza?content=143890 KFaenza]''' - Port of the famous Faenza theme to KDE.
*'''[http://kde-look.org/content/show.php/?content=159872 Oxyfaenza]''' - An elegant modification of Faenza.
*'''[http://kde-look.org/content/show.php/Nitrux+for+KDE?content=154498 Nitrux]'''
*'''[http://kde-look.org/content/show.php/FaenK+Folders?content=146511 FaenK]''' - Incomplete theme, needs KFaenza installed to display all the icons.
*'''[http://kde-look.org/content/show.php/kAwOken?content=143865 kAwOken]''' - Nice light/dark gray icon theme.
 
===Styles===
 
*'''[http://kde-look.org/content/show.php?content=40492 QtCurve]''' - Another KDE theme.
 
[[File:Qtcurve.gif|thumb|A gif of KDE with QtCurve theme, Numix Icons and Homerun launcher]]
 
*'''[https://code.google.com/p/fusion-qt4/ Fusion-qt4]''' - Port of the qt5 default style to qt4, needs compiling to install.
*'''[http://kde-look.org/content/show.php/oxygen-transparent?content=127752 Oxygen-trasparent]''' - Oxygen, but with transparency.
 
===Plasma themes===
 
*'''[http://kde-look.org/content/show.php/Diamond?content=153930 Diamond]''' - Transparency, almost unusable without composing turned off.
*'''[http://kde-look.org/content/show.php/Caledonia?content=142424 Caledonia]''' - Dark "flat" suite, include a Plasma theme, icons and custom colors.
*'''[http://kde-look.org/content/show.php/uniq?content=112688 uniq]''' - Another suite, includes a window decorator, a qtqurve theme and custom colors.
*'''[http://kde-look.org/content/show.php/Produkt?content=124213 Produkt]''' - A dark, flat theme with minimal transparency and nice custom tray icons.
 
===Window Decorations===
 
*'''[http://kde-look.org/content/show.php/Diamond?content=156078 Diamond]''' - Match the Diamond Plasma theme.
*'''[http://www.dedoimedo.com/images/computers_years/2014_1/netrunner-themes.jpg MetroDark]''' - Theme from NetRunner OS, [http://www.netrunnerlinux.com/files/Window-Decoration-Aurorae-MetroDark.zip Download]
 
==Fonts==
 
*'''[https://wiki.archlinux.org/index.php/Infinality Infinality]''' - This font patchset can give you some of the best font rendering there is (if not ''the'' best) on GNU/Linux. It comes with a gigantic set of patched fonts, many being optional.
*'''[https://github.com/bohoomil/fontconfig-ultimate fontconfig-ultimate]''' - fontconfig-ultimate is an aggregate of configuration files, patches, scripts and source packages, meant to add more presets to fontconfig and, in most cases, improve the existing font rendering. It is supposed to be used with freetype+infinality.
 
==Screensavers==
See: [[Screensavers]]
 
==External Resources==
 
[http://blog.z3bra.org/2013/10/home-sweet-home.html Ricing guide by z3bra]
 
[https://namazso.github.io/nanami-tan/ Nanami's Win7 & Firefox List]
 
[http://dotshare.it/ Dotshare.it (Contains many helpful terminal application configurations)]
 
[https://web.archive.org/web/20160430183339/http://funroll-loops.info/ Funroll loops]
 
[[Category:GNU/Linux]]
[[Category:Ricing]]
[[Category:Recommendations]]
[[Category:What does /g/ use?]]

Latest revision as of 14:30, 3 January 2025

At first you'd think it was Windows XP, but look closer.... This is the power of customization that the GNU/Linux system provides. (KDE on OpenSUSE)

GNU/Linux distributions are well known for their ability to customize the way they work to a large degree. The purpose of this page is to give the reader some ideas on what can be customized and how.

What does /g/ use?

Main article: Babbies First Linux Let's be honest: this is why you're really here.

A common ricing configuration which can be seen among /g/ users in desktop threads usually features some of the software below. All of these can be installed from a repository via your package manager, be it your distro's main one or a user one (the AUR in Arch), or built from source. Do a little searching to find out.

Desktop Environments

A desktop environment is a complete suite of software designed to maintain a certain experience in a Linux environment. It will contain a display manager, window manager, session manager, file manager, and various other default applications that a user may find useful (web browser, audio player, etc). Good DEs are modular and will allow the users to mix and match and switch any of their modules with another of their choice. Running multiple Desktop Environments without uninstalling others is one mere file edit away.

Primarily, what a DE means to you is how you interact with the desktop. Systems such as Windows and Mac only have one user interface to use, however GNU/Linux systems have many User Interfaces to choose from.

Despite the many options, a desktop environment is not a required part of a Linux experience, although most Linux distributions will include one by default. It is entirely possible to have a working graphical environment without installing a desktop environment, instead opting to only use a window manager and utilities that you require, and many users choose to do this.

The GNOME desktop environment
GNOME is the most popular Linux desktop environment. It uses it's own desktop metaphor and design language, and as such it is extremely polarising. GNOME is also known for requiring systemd, unfriendly to app developers and being managed by a shaman.
Cinnamon is a GNOME 3 fork with a more traditional desktop, akin to KDE.
The Cinnamon desktop environment
A fork of GNOME 2 for those who prefer it. You can also use GNOME Flashback
The KDE Plasma desktop environment
A Windows-esque desktop environment with first-class support for quality-of-life features such as fractional scaling and variable refresh rate. It is also used as the default desktop environment in Valve's Steam OS.
The LXQt desktop environment
XFCE is a simple, stable desktop. Development is extremely slow and the feature set is incredibly barebones but it doesn't tend to crash.
The direct descendant of the LXDE project, LXQt is designed for use on low-power machines and netbooks. If you want something that runs fast and allows for lots of customization without giving up too many features, this DE is for you

Display Managers

A display manager is what might typically be thought of as a "login screen". It will prompt you to choose a user to log in as, as well as specify a session to be used, which allows you to switch between desktop environments easily. The most popular are gdm and LightDM, which are used by GNOME and KDE respectively

Window Managers

Currently most GNU/Linux distributions use the X Window System for drawing the desktop (with Wayland being planned to replace it later). The X.org Server is the most common implementation of the X Window System. It is designed to be modular and highly customizable. One of the results of this design is that X.org doesn't manage windows. Instead it depends on a special client application called a window manager. The window manager (WM in short) moves and resizes windows, among other things, often in response to user input. Window managers also do much more, like automatic window layout, compositing, drawing decorations, drawing panels, providing multiple workspaces, and so on.

Window managers can be divided into these three categories:

Compiz's expo plugin. As most window managers, it allows for multiple workspaces, as seen here.
  • Stacking - Provides the traditional desktop metaphor used in commercial operating systems like Windows and macOS. Windows act like pieces of paper on a desk, and can be stacked on top of each other.
  • Compositing - Provide a buffer for each window to draw on and then compose those buffers together creating the desktop image. This type of window manager allows use of semitransparent windows.
  • Tiling - These "tile" the windows side-by-side so that none are overlapping. They usually make very extensive use of key-bindings and have less (or no) reliance on the mouse. Tiling window managers may be manual, offer predefined layouts, or both.

Many WMs contain both stacking and tiling modes, and the behavior can be switched by the user. This is sometimes known as a "dynamic" wm (not to be confused with dynamic tiling)

It's also possible for WMs that don't tile windows to use a separate application that works together with the main window manager to automatically tiles windows (for example: pytyle).

Finally, there are also composite managers such as xcompmgr that work together with a non-compositing WM making it compose windows, allowing for effects such as transparency and drop shadows.

List of window managers and similar tools

List of window managers on the Arch Wiki

Dynamic

  • Sway - One of the most popular window managers around, Sway is a spiritual successor to i3wm that strives to provide 1:1 compatibility and a host of other new features. Looks good out of the box and the configuration is simple and intuitive. It also provides a great amount of documentation on the webpage. Good for beginners and developers/hackers alike.
  • Awesome - Despite looking pretty bad of the box, it's a very popular tiling window manager. It is completely scriptable in Lua, which makes it one of the most powerful and customizable window managers once you get around to programming the configuration file.
  • monsterwm - Tiny but monstrous! Currently under 700 lines of code including the configuration file.

Tiling

  • bspwm
  • xmonad - A minimal window manager written and configured in Haskell.
  • herbstluftwm - A manual tiling window manager.

Compositing

  • Compiz - A compositing WM being developed since 2006. It uses OpenGL (AIGLX). It is know for having a lot functionality and providing many interesting effects. However, it can cause problems if the graphics are faulty.
  • KWin - A compositing WM used in KDE. It's comparable in feature set to Compiz.
  • Xfwm - The default window manager for XFCE.

Stacking

PyTyle used together with Compiz, tiling 5 terminal windows.

Compositing tools (for stacking/tiling WMs)

  • Xcompmgr
  • Compton - Forked of Xcompmgr
  • Picom - picom is a compositor based on Dana Jansens' version of xcompmgr (which itself was written by Keith Packard). It includes some improvements over the original xcompmgr, like window frame opacity and inactive window transparency.

Tiling tools (for non-tiling WMs)

For some more information on this topic, see: this page.

Themes

There are two main toolkits you need to concern yourself with styling: GTK and Qt. Luckily, there are themes for both that will adapt to the other. So find a theme for whichever toolkit your distro uses prominently. For distros with KDE or LXQt, that's Qt. For everything else, that's GTK. If your distro uses GNOME, you will not be able to use these themes.

GTK Themes

There are a number of great themes. All of these are GTK3 compatible. To apply them, see GTK Theming.

  • Numix - A very popular theme.
The Numix theme

Qt Themes

Set Qt themes with the qtconfig tool.

  • GTK+ - Builtin. Adapts to the theme that GTK is using.

KDE

KDE allows you to download most of the following by simply going into the relative setting, press the "get new" button, and search for the name.

Icons

  • KFaenza - Port of the famous Faenza theme to KDE.
  • Oxyfaenza - An elegant modification of Faenza.
  • Nitrux
  • FaenK - Incomplete theme, needs KFaenza installed to display all the icons.
  • kAwOken - Nice light/dark gray icon theme.

Styles

A gif of KDE with QtCurve theme, Numix Icons and Homerun launcher

Plasma themes

  • Diamond - Transparency, almost unusable without composing turned off.
  • Caledonia - Dark "flat" suite, include a Plasma theme, icons and custom colors.
  • uniq - Another suite, includes a window decorator, a qtqurve theme and custom colors.
  • Produkt - A dark, flat theme with minimal transparency and nice custom tray icons.

Window Decorations

Fonts

  • Infinality - This font patchset can give you some of the best font rendering there is (if not the best) on GNU/Linux. It comes with a gigantic set of patched fonts, many being optional.
  • fontconfig-ultimate - fontconfig-ultimate is an aggregate of configuration files, patches, scripts and source packages, meant to add more presets to fontconfig and, in most cases, improve the existing font rendering. It is supposed to be used with freetype+infinality.

Screensavers

See: Screensavers

External Resources

Ricing guide by z3bra

Nanami's Win7 & Firefox List

Dotshare.it (Contains many helpful terminal application configurations)

Funroll loops