We are still actively working on the spam issue.

Difference between revisions of "GNU/Linux ricing"

From InstallGentoo Wiki
Jump to: navigation, search
(Moved the "What does /g/ use" section to the top of the page, and reordered some of the recommendations to fit better with what /g/ actually uses)
(Add sxiv, nnn, and maim.)
Line 7: Line 7:
 
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.
 
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.
  
* Distro: [[Arch]] (but sometimes [[Gentoo]]/Funtoo, [https://voidlinux.org/ Void Linux], [[Debian]] GNU/Linux, [[FreeBSD]], or even [[OpenBSD]]);
+
*Distro: [[Arch]] (but sometimes [[Gentoo]]/Funtoo, [https://voidlinux.org/ Void Linux], [[Debian]] GNU/Linux, [[FreeBSD]], or even [[OpenBSD]]);
* Window Manager: [http://i3wm.org/ i3], [https://swaywm.org/ Sway], [http://awesome.naquadah.org/download/ Awesome], or [https://dwm.suckless.org/ dwm];
+
*Window Manager: [http://i3wm.org/ i3], [https://swaywm.org/ Sway], [http://awesome.naquadah.org/download/ Awesome], or [https://dwm.suckless.org/ dwm];
* Login/Display manager: [https://wiki.archlinux.org/index.php/Xinit#Autostart_X_at_login Usually none];
+
*Login/Display manager: [https://wiki.archlinux.org/index.php/Xinit#Autostart_X_at_login Usually none];
* File Manager: [http://ranger.nongnu.org/download.html ranger], [https://www.midnight-commander.org/ mc], or none;
+
*File Manager: [http://ranger.nongnu.org/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];
+
*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;
+
*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/dylanaraps/neofetch Neofetch], [https://github.com/KittyKatt/screenFetch Screenfetch] or [https://github.com/djmelik/archey Archey];
+
*OS information: [https://github.com/dylanaraps/neofetch Neofetch], [https://github.com/KittyKatt/screenFetch Screenfetch] or [https://github.com/djmelik/archey Archey];
* font: [http://dejavu-fonts.org/wiki/Download DejaVu], [http://levien.com/type/myfonts/inconsolata.html Inconsolata], [http://terminus-font.sourceforge.net/ terminus], or [https://github.com/lucy/tewi-font Tewi];
+
*font: [http://dejavu-fonts.org/wiki/Download 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];
+
*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];
+
*Video player: [http://mpv.io/ mpv];
* IRC client: [http://www.weechat.org/download/ weechat] or [http://www.irssi.org/download irssi];
+
*IRC client: [http://www.weechat.org/download/ weechat] or [http://www.irssi.org/download irssi];
* Screen capture (screenshot): [http://scrot.sourcearchive.com/ scrot] or [http://www.imagemagick.org/script/install-source.php#unix import] (part of imagemagick);
+
*Screen capture (screenshot): [http://scrot.sourcearchive.com/ scrot], [https://github.com/naelstrof/maim maim], or [http://www.imagemagick.org/script/install-source.php#unix import] (part of imagemagick);
* Image viewer/desktop wallpaper display: [http://feh.finalrewind.org/ feh];
+
*Image viewer/desktop wallpaper display: [http://feh.finalrewind.org/ feh], [https://github.com/muennich/sxiv sxiv];
* Screen recorder: see below (some casuals also use [https://git.gnome.org/browse/byzanz/ Byzanz]);
+
*Screen recorder: see below (some casuals also use [https://git.gnome.org/browse/byzanz/ Byzanz]);
* Streaming: [http://www.ffmpeg.org/ FFmpeg] (which includes FFserver if you want to host the stream);
+
*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);
+
*Video conversion: [http://www.ffmpeg.org/ FFmpeg] (including [[WebM]] or GIF creation);
* Text editor: [http://www.vim.org/ Vim] (or [https://neovim.io/ Neovim]), [https://www.gnu.org/software/emacs/ Emacs], [http://www.nano-editor.org/ Nano], or [http://www.sublimetext.com/ Sublime Text].
+
*Text editor: [http://www.vim.org/ Vim] (or [https://neovim.io/ Neovim]), [https://www.gnu.org/software/emacs/ Emacs], [http://www.nano-editor.org/ Nano], or [http://www.sublimetext.com/ Sublime Text].
  
 
==Desktop Environments==
 
==Desktop Environments==
Line 30: Line 30:
  
 
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). 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.
 
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). 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.
 +
 
*'''[https://www.kde.org/workspaces/plasmadesktop/ KDE Plasma 5]'''
 
*'''[https://www.kde.org/workspaces/plasmadesktop/ KDE Plasma 5]'''
 +
 
:Plasma is more resource intensive, but if you want something with a bit more features, eyecandy, and stabilizability, this may be for you. Can also be made lighter and quite fast by disabling Nepomuk desktop search and/or compositing effects.
 
:Plasma is more resource intensive, but if you want something with a bit more features, eyecandy, and stabilizability, this may be for you. Can also be made lighter and quite fast by disabling Nepomuk desktop search and/or compositing effects.
 +
 
*'''[https://www.gnome.org/gnome-3/ GNOME 3]'''
 
*'''[https://www.gnome.org/gnome-3/ GNOME 3]'''
 +
 
:GNOME is extremely polarizing. If you like the Windows 8 Start Screen and similar touch interfaces, try it out. Else, stay clear.
 
:GNOME is extremely polarizing. If you like the Windows 8 Start Screen and similar touch interfaces, try it out. Else, stay clear.
 +
 
*'''[http://developer.linuxmint.com/projects.html Cinnamon]'''
 
*'''[http://developer.linuxmint.com/projects.html Cinnamon]'''
 +
 
:Nearly as lightweight as Xfce, GNOME fork with a traditional desktop. Very customiseable and featureful.
 
:Nearly as lightweight as Xfce, GNOME fork with a traditional desktop. Very customiseable and featureful.
 +
 
*'''[https://www.xfce.org/ Xfce]'''
 
*'''[https://www.xfce.org/ Xfce]'''
 +
 
:XFCE is a less resource-intensive DE. If you want something that runs fast and allows for lots of customization without giving up too many features, this DE is for you.
 
:XFCE is a less resource-intensive DE. If you want something that runs fast and allows for lots of customization without giving up too many features, this DE is for you.
 +
 
*'''[http://lxde.org/ LXDE]'''
 
*'''[http://lxde.org/ LXDE]'''
 +
 
:LXDE is the most minimal DE around. If you are running on a toaster supercluster or just need the most battery life out of your freedom device, and are too lazy/dumb to setup a WM, LXDE is the only correct choice.
 
:LXDE is the most minimal DE around. If you are running on a toaster supercluster or just need the most battery life out of your freedom device, and are too lazy/dumb to setup a WM, LXDE is the only correct choice.
 +
 
*'''[https://lxqt.org/ LXQT]'''
 
*'''[https://lxqt.org/ LXQT]'''
 +
 
:A fork of LXDE that uses the QT framework, however more heavy on system resources than LXDE and XFCE.
 
:A fork of LXDE that uses the QT framework, however more heavy on system resources than LXDE and XFCE.
 +
 
*'''[https://www.enlightenment.org/ Enlightenment]'''
 
*'''[https://www.enlightenment.org/ Enlightenment]'''
 
**Crazy eye candy. Light on system resources.
 
**Crazy eye candy. Light on system resources.
 
*'''[https://mate-desktop.org/ MATE]'''
 
*'''[https://mate-desktop.org/ MATE]'''
 +
 
:Fork and continuation of GNOME 2 for those who prefer it.
 
:Fork and continuation of GNOME 2 for those who prefer it.
  
 
==Display Managers==
 
==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.
 
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.
* LightDM
+
 
* SLiM - The SliM project has been abandoned, and is not fully compatible with systemd, including logind sessions. Consider using a different Display manager.
+
*LightDM
* KDM - Display manager used in KDE.
+
*SLiM - The SliM project has been abandoned, and is not fully compatible with systemd, including logind sessions. Consider using a different Display manager.
* GDM - Display manager used in GNOME.
+
*KDM - Display manager used in KDE.
* LXDM - Works with almost all window managers.
+
*GDM - Display manager used in GNOME.
 +
*LXDM - Works with almost all window managers.
  
 
==Window Managers==
 
==Window Managers==
Line 59: Line 74:
  
 
Window managers can be divided into these three categories:
 
Window managers can be divided into these three categories:
 +
 
*Stacking - They allow windows to draw their contents one on top of another on the desktop, starting with the one on the bottom and going up in the "Z order".
 
*Stacking - They allow windows to draw their contents one on top of another on the desktop, starting with the one on the bottom 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 manager allows use of semitransparent windows.
 
*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 - The windows do not overlap.
 
*Tiling - The windows do not overlap.
 +
 
[[File:Screen16.png|thumb|Compiz's expo plugin. As most window managers, it allows for multiple workspaces, as seen here.]]
 
[[File:Screen16.png|thumb|Compiz's expo plugin. As most window managers, it allows for multiple workspaces, as seen here.]]
 +
 
**Static tiling WMs such as ratpoison always use a set number of equal size tiles, and the tiles do not move
 
**Static tiling WMs such as ratpoison always 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.
 
**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.
 +
 
Many WMs contain both stacking and tiling modes, and the behavior can be switched by the user.
 
Many WMs contain both stacking and tiling modes, and the behavior can be switched by the user.
  
Line 74: Line 93:
  
 
'''Dynamic'''
 
'''Dynamic'''
 +
 
*'''[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://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://dwm.suckless.org/ dwm]''' - Doesn't come with a simple configuration file; instead, you're supposed to edit config.h and recompile dwm yourself. At least they make an effort to keep the code well-commented and under 2000 SLOC. Not for beginners as they themselves claim to want to "keep the userbase small and elitist", though you might want to give this a shot if you know C and you're willing to hack into the source code.
 
*'''[http://dwm.suckless.org/ dwm]''' - Doesn't come with a simple configuration file; instead, you're supposed to edit config.h and recompile dwm yourself. At least they make an effort to keep the code well-commented and under 2000 SLOC. Not for beginners as they themselves claim to want to "keep the userbase small and elitist", though you might want to give this a shot if you know C and you're willing to hack into the source code.
 
*'''[http://i3wm.org/ i3]''' - One of the most popular window managers around, i3 is a fork of wmii that strives to fix the latter's convoluted code and documentation problems. 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.
 
*'''[http://i3wm.org/ i3]''' - One of the most popular window managers around, i3 is a fork of wmii that strives to fix the latter's convoluted code and documentation problems. 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.
 
*'''[https://github.com/c00kiemon5ter/monsterwm monsterwm]''' - Tiny but monstrous! Currently under 700 lines of code including the configuration file.
 
*'''[https://github.com/c00kiemon5ter/monsterwm monsterwm]''' - Tiny but monstrous! Currently under 700 lines of code including the configuration file.
 +
 
'''Tiling'''
 
'''Tiling'''
 +
 
*'''[https://nongnu.org/ratpoison/ ratpoison]''' - Minimal WM without the need of a mouse.
 
*'''[https://nongnu.org/ratpoison/ ratpoison]''' - Minimal WM without the need of a mouse.
 
*'''[https://github.com/baskerville/bspwm bspwm]'''
 
*'''[https://github.com/baskerville/bspwm bspwm]'''
 
*'''[http://xmonad.org/ xmonad]''' - A minimal window manager written and configured in Haskell.
 
*'''[http://xmonad.org/ xmonad]''' - A minimal window manager written and configured in Haskell.
 
*'''[http://wmfs.info/ WMFS2]'''
 
*'''[http://wmfs.info/ WMFS2]'''
 +
 
'''Compositing'''
 
'''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://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://techbase.kde.org/Projects/KWin KWin]''' - A compositing WM used in KDE. It's comparable in feature set to compiz.
 
*'''[http://git.gnome.org/browse/mutter/ Mutter]''' - The default window manager for GNOME.
 
*'''[http://git.gnome.org/browse/mutter/ Mutter]''' - The default window manager for GNOME.
 
*'''[http://docs.xfce.org/xfce/xfwm4/start Xfwm]''' - The default window manager for XFCE.
 
*'''[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.]]
 
'''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]'''
 
*'''[http://www.fluxbox.org/ Fluxbox]'''
 
*'''[http://blackboxwm.sourceforge.net/ Blackbox]'''
 
*'''[http://blackboxwm.sourceforge.net/ Blackbox]'''
 
*'''[http://windowmaker.org/ Windowmaker]''' - No-frills, very lightweight, fast. Makes your computer look like a mid-90s NeXTSTEP workstation.
 
*'''[http://windowmaker.org/ Windowmaker]''' - No-frills, very lightweight, fast. Makes your computer look like a mid-90s NeXTSTEP workstation.
 +
 
'''Compositing tools (for stacking/tiling WMs)'''
 
'''Compositing tools (for stacking/tiling WMs)'''
* '''[http://cgit.freedesktop.org/xorg/app/xcompmgr/ Xcompmgr]'''
+
 
* '''[https://github.com/chjj/compton Compton]''' - Forked of Xcompmgr
+
*'''[http://cgit.freedesktop.org/xorg/app/xcompmgr/ Xcompmgr]'''
 +
*'''[https://github.com/chjj/compton Compton]''' - Forked of Xcompmgr
 +
 
 
'''Tiling tools (for non-tiling WMs)'''
 
'''Tiling tools (for non-tiling WMs)'''
* '''[https://wiki.archlinux.org/index.php/Tile-windows Tile-windows]'''
+
 
* '''[https://wiki.archlinux.org/index.php/PyTyle PyTyle]'''
+
*'''[https://wiki.archlinux.org/index.php/Tile-windows Tile-windows]'''
* '''[http://kde-look.org/content/show.php/Tiling?content=161151 Tiling]''' (Kwin)
+
*'''[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].
  
Line 105: Line 136:
 
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 KDE based distros, that's Qt. For everything else, that's GTK.
 
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 KDE based distros, that's Qt. For everything else, that's GTK.
  
=== GTK Themes ===
+
===GTK Themes===
 
There are a number of great themes. All of these are GTK3 compatible. To apply them, see [[GTK Theming]].
 
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.  
+
*'''[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]'''
Line 120: Line 153:
 
*'''[https://github.com/horst3180/Arc-theme Arc]''' - Another popular theme.
 
*'''[https://github.com/horst3180/Arc-theme Arc]''' - Another popular theme.
  
=== Qt Themes ===
+
===Qt Themes===
 
Set Qt themes with the qtconfig tool.
 
Set Qt themes with the qtconfig tool.
* GTK+ - Builtin. Adapts the to theme that GTK is using.
 
  
== KDE ==
+
*GTK+ - Builtin. Adapts the to 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.
 
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 ===
+
===Icons===
 +
 
 
*'''[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/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/?content=159872 Oxyfaenza]''' - An elegant modification of Faenza.
Line 133: Line 168:
 
*'''[http://kde-look.org/content/show.php/kAwOken?content=143865 kAwOken]''' - Nice light/dark gray icon theme.
 
*'''[http://kde-look.org/content/show.php/kAwOken?content=143865 kAwOken]''' - Nice light/dark gray icon theme.
  
=== Styles ===
+
===Styles===
 +
 
 
*'''[http://kde-look.org/content/show.php?content=40492 QtCurve]''' - Another KDE theme.
 
*'''[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]]
 
[[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.
 
*'''[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.
 
*'''[http://kde-look.org/content/show.php/oxygen-transparent?content=127752 Oxygen-trasparent]''' - Oxygen, but with transparency.
  
=== Plasma themes ===
+
===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/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/Caledonia?content=142424 Caledonia]''' - Dark "flat" suite, include a Plasma theme, icons and custom colors.
Line 145: Line 184:
 
*'''[http://kde-look.org/content/show.php/Produkt?content=124213 Produkt]''' - A dark, flat theme with minimal transparency and nice custom tray icons.
 
*'''[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 ===
+
===Window Decorations===
 +
 
 
*'''[http://kde-look.org/content/show.php/Diamond?content=156078 Diamond]''' - Match the Diamond Plasma theme.
 
*'''[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]
 
*'''[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==
 
==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://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.
 
*'''[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.
  
== Tweaking ==
+
==Tweaking==
 
Article [[Tweaking Linux]].
 
Article [[Tweaking Linux]].
  
== Screensavers ==
+
==Screensavers==
 
See: [[Screensavers]]
 
See: [[Screensavers]]
  

Revision as of 20:06, 30 July 2019

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?

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

See also: Desktop environment

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). 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.

Plasma is more resource intensive, but if you want something with a bit more features, eyecandy, and stabilizability, this may be for you. Can also be made lighter and quite fast by disabling Nepomuk desktop search and/or compositing effects.
GNOME is extremely polarizing. If you like the Windows 8 Start Screen and similar touch interfaces, try it out. Else, stay clear.
Nearly as lightweight as Xfce, GNOME fork with a traditional desktop. Very customiseable and featureful.
XFCE is a less resource-intensive DE. If you want something that runs fast and allows for lots of customization without giving up too many features, this DE is for you.
LXDE is the most minimal DE around. If you are running on a toaster supercluster or just need the most battery life out of your freedom device, and are too lazy/dumb to setup a WM, LXDE is the only correct choice.
A fork of LXDE that uses the QT framework, however more heavy on system resources than LXDE and XFCE.
Fork and continuation of GNOME 2 for those who prefer it.

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.

  • LightDM
  • SLiM - The SliM project has been abandoned, and is not fully compatible with systemd, including logind sessions. Consider using a different Display manager.
  • KDM - Display manager used in KDE.
  • GDM - Display manager used in GNOME.
  • LXDM - Works with almost all window managers.

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:

  • Stacking - They allow windows to draw their contents one on top of another on the desktop, starting with the one on the bottom 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 manager allows use of semitransparent windows.
  • Tiling - The windows do not overlap.
Compiz's expo plugin. As most window managers, it allows for multiple workspaces, as seen here.
    • Static tiling WMs such as ratpoison always 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.

Many WMs contain both stacking and tiling modes, and the behavior 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 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 in Arch Wiki

Dynamic

  • 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.
  • dwm - Doesn't come with a simple configuration file; instead, you're supposed to edit config.h and recompile dwm yourself. At least they make an effort to keep the code well-commented and under 2000 SLOC. Not for beginners as they themselves claim to want to "keep the userbase small and elitist", though you might want to give this a shot if you know C and you're willing to hack into the source code.
  • i3 - One of the most popular window managers around, i3 is a fork of wmii that strives to fix the latter's convoluted code and documentation problems. 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.
  • monsterwm - Tiny but monstrous! Currently under 700 lines of code including the configuration file.

Tiling

  • ratpoison - Minimal WM without the need of a mouse.
  • bspwm
  • xmonad - A minimal window manager written and configured in Haskell.
  • WMFS2

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.
  • Mutter - The default window manager for GNOME.
  • Xfwm - The default window manager for XFCE.

Stacking

PyTyle used together with Compiz, tiling 5 terminal windows.

Compositing tools (for stacking/tiling WMs)

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 KDE based distros, that's Qt. For everything else, that's GTK.

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 the to 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.

Tweaking

Article Tweaking Linux.

Screensavers

See: Screensavers

External Resources

Ricing guide by z3bra

Nanami's Win7 & Firefox List

Dotshare.it (Contains many helpful terminal application configurations)

Funroll loops