Skip to content
Commit 0cc77016 authored by Protesilaos Stavrou's avatar Protesilaos Stavrou
Browse files

BREAKING CHANGE Merge branch 'mateTerminalDefault'

This is a major review of my dotfiles.  It intends to replace my default
choice of terminal emulator.

Below is an excerpt of the commit message that signalled the start of
this process.

---

Context: after extensive testing, I have decided to change my default
choice of terminal emulator to MT.  The previous default was my custom
build of the Simple Terminal (ST), by the Suckless community. Here is
the reasoning, in outline form:

* MT is already installed on my system, because MATE is my fallback
  option for a fully fledged desktop environment.

* ST has build dependencies, meaning that a user of my dotfiles must
  first follow the instructions in the README that is bundled with ST's
  source code.  Without these dependencies, ST will fail to build when
  performing an environment theme update (using either my `tempusmenu`
  or `own_script_update_environment_theme`).

* ST needs to be recompiled for a theme change to occur.  MT updates
  faster (courtesy of `own_script_mate_terminal_setup`) and is less
  taxing on system resources in this specific instance (my laptop's fan
  is not activated).

* ST has major problems drawing box characters without extensive
  patching.  Only at specific point sizes, does the selected font draw
  continuous lines.  Whereas MT has no such issues.

* ST cannot draw emoji characters, while it requires an extra package
  for symbolic fonts (see its README) in order not to segfault when
  trying to display them.  MT supports emoji.  Now, it may seem
  superfluous to have such a feature, but it is important once you
  consider that people add emoji in emails or blog posts that can
  ultimately be read through the terminal (such as via `neomutt` and
  `newsboat` respectively).  While the font problems are not major, they
  do add up (terminals are all about text, after all).

* From an aesthetic perspective, ST is not very well suited to the
  dynamic size adjustments that happen in a tiling WM.  It tends to
  create an inner padding when set at specific window sizes.  This is
  most noticeable while running tmux (which I do all the time), where
  the status line will have a large distance from the bottom and right
  sides.  Admittedly, MT is not perfect in this regard, though it is
  better.

* MT does not expose its theming options via a typical dotfile, but
  still is easy to configure programmatically using dconf (what
  `own_script_mate_terminal_setup` does).

* Other terminals that use the VTE widget (this is actually the terminal
  emulator part, while MT is the implementation/framework) such as
  {GNOME,Xfce} Terminal and Tilix, would also have the same advantages
  as MT.  However, they are not installed by default, while Tilix has
  a ton of other features that I do not need (thanks to tmux).

* URxvt (Rxvt-Unicode), which is a popular choice for minimalist window
  managers, exhibits similar problems to ST when it comes to font
  drawing.  It also is not installed by default.  Furthermore, I am not
  sure whether it is still maintained or not as version 9.22 is the one
  available across Stretch, Buster, Sid.

* Konsole on its own is an excellent choice, but not for my particular
  use case.  It pulls in what seems like half the KDE-related package
  list.

* I am writing a book on how anyone can reproduce my custom desktop
  session on Debian 10 'buster' (planned for publication in late April,
  early May 2019).  Any kind of friction, is a hit on usability.
parents 717d3746 ad9a27df
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment