2020-05-05-my-journey-through-desktop-environments.md (7531B) - raw


      1 <!-- title: My journey through desktop environments -->
      2 <!-- slug: my-journey-through-desktop-environments -->
      3 <!-- categories: FOSS, Miscellany -->
      4 <!-- date: 2020-05-05T19:26:00Z -->
      5 <!-- lastmod: 2020-05-06T07:52:00Z -->
      6 
      7 My first experience with GNU/Linux was with KDE. It is the desktop environment
      8 used on my college computers, and it was more or less the only experience I had
      9 with the GNU/Linux operative system, so it was the desktop environment I
     10 installed at home (at that point I don't think I knew the difference between a
     11 distribution and a desktop environment). After some time, I got comfortable with
     12 the new OS and learned that distributions and desktop environments were
     13 completely different things, so I started to look around for other DEs and
     14 decided to go with GNOME. It was a weird choice, as I had only read—and
     15 heard—bad things about GNOME, but I was reading a lot about the GNU project and
     16 decided to go with the DE that was part of the project, just to try it out.
     17 
     18 Well, GNOME is great. I love GNOME! I am glad I wanted to try it (for a more or
     19 less stupid reason) against what people were writing/saying. It works great out
     20 of the box, it has programs for everything I needed and can easily be configured
     21 to fit your needs[^detail]. With Debian 10, the dark theme is great, and other
     22 apps like firefox also go dark with it[^not-gnome]. It was a bit confusing the
     23 first couple of days, but it was easy to get used to. GNOME has worked great for
     24 me (and still does). With the lack of a bar with all the open windows (like on
     25 KDE), I have gotten more used to moving around with the keyboard. I also made a
     26 conscious effort to use the keyboard more, as I had seen many people move around
     27 faster and more naturally when they weren't using the mouse. So, after gaining
     28 confidence with the keyboard, I decided to finally give i3 a *real* shot a
     29 couple of weeks ago.
     30 
     31 [^detail]: A very simple example is setting up "natural scroll" for the
     32   trackpad, which I had a couple of issues the first time I tried with some DEs.
     33   But there are many things.
     34 
     35 [^not-gnome]: I know this feature is not exclusive for GNOME (indeed, I
     36   configured i3 to act like this), but it works out of the box, which is the
     37   point I am making.
     38 
     39 [i3][i3] is a tiling window manager, which means that it is a window manager
     40 that arranges windows in a way that they don't overlap. A window manager is the
     41 software that manages your windows (resize, move, close, etc.). The difference
     42 with desktop environments is that the latter come with a window manager, but
     43 also many more programs (like a terminal emulator or a text editor) as well as
     44 panels, system menus, and other features. These normally all look alike and work
     45 well together.
     46 
     47 I say I decided to give it a *real* shot because I have tried i3 multiple times
     48 before: mainly logging in, seeing how ugly everything looks, logging
     49 out[^hidpi]. This time it was different: I had time to figure everything out, so
     50 I decided to push through the first days (when everything is to be configured"),
     51 and then decide. I installed it, tweaked it a little, didn't like some things,
     52 installed [sway][sway], it fixed some things but messed up others, I also
     53 considered other tiling window managers like [dwm][dwm], and went back and forth
     54 a couple of times (all in one day). Eventually, I decided sway had one problem I
     55 couldn't cope with[^sway] and decided to stick with i3. I made a list of
     56 everything that was missing (or "wrong") and went to bed.
     57 
     58 [^hidpi]: I have a HiDPI screen which made everything look super tiny. I had
     59   some issues with HiDPI screens with KDE (there was always a weird app that
     60   didn't work well with it). This got solved (out of the box!) with GNOME, and
     61   after all the frustration I had in the past, seeing it back was a nightmare.
     62   This was finally solved pretty easily, although the solution is a little hacky
     63   so I can also plug my computer into non-HiDPI screens.
     64 
     65 [^sway]: The problem is that applications using Xwayland are blurry on HiDPI
     66   screens, and that wasn't solvable as far as I could tell. They also had no
     67   plans to solve it anytime soon (according to sway developers, it is an
     68   Xwayland problem, and it's on them to fix it, which is a fair point).
     69 
     70 The next day, I grabbed the list and started working on the items. Some of them
     71 were very easy to fix, like make the sound buttons work. Some others were a
     72 little harder, like mounting USB automatically. I even had to reinstall i3—a
     73 fork of i3 actually—so I could have gaps between windows (yes! I needed those!).
     74 I also added more items to the "problems-to-fix" list as I kept using i3. After
     75 about a week, I had fixed everything on the list!
     76 
     77 This process of going through a lot of minor things made me realize how awesome
     78 GNOME is. It has so many features, without a need for the user to spend hours
     79 and hours making everything work. KDE probably also goes into this category, but
     80 I haven't used it as much so I can't say. Other DEs that I have tried have given
     81 me some problems here or there, nothing major, but it isn't the out-of-the-box
     82 experience I appreciate in GNOME.
     83 
     84 Some people quickly disregard these DEs because they are "bloated". In my
     85 opinion, it is true. They have an absurd number of features, but for myself,
     86 when I simply need everything to work without any tweaking, this is great. As a
     87 new GNU/Linux user, I wanted my computer to work without much configuration,
     88 while still being able to be "picky" about some stuff. Even as a
     89 moderately-confident user, I didn't have a week to spend making i3 look and act
     90 as I wanted. For all my little things to be included, there are probably many
     91 more that I don't want, and are also included (and other people want). I am fine
     92 with my desktop environment being bloated. That changes for pretty much any
     93 other software I run on my computer, I like simple things, but I also don't have
     94 unlimited time. Indeed, my initial reason to switch to i3 (or a tiling window
     95 manager) wasn't "less bloat" or simplicity[^less-bloat] (I find GNOME very
     96 distraction-free, and it has a good performance on my computer). I switched
     97 because I was tired of overlapping windows and I wanted to make more use of my
     98 keyboard for managing everything.
     99 
    100 [^less-bloat]: Now that I have tried it and feel comfortable, my next
    101   installation might come without GNOME and probably have much less bloat, which
    102   I will appreciate for sure. It simply hasn't been a priority so far.
    103 
    104 With all the changes, I am very satisfied with i3, and haven't gone back to
    105 GNOME for a week. It did take a lot of time to figure everything out (and
    106 configure it), but it was something I had wanted to do for a long time (that's
    107 why the many attempts) and I finally had extra time to do it. It was definitely
    108 worth it!
    109 
    110 ## Final note
    111 
    112 I think one of the major issues I had on my previous attempts was the `$mod` key
    113 used for all i3 shortcuts. It is so hard to reach the `Super` key! I had already
    114 switched the mapping of `Caps lock` and `Escape` (which improved my vim
    115 experience drastically), so I knew `Caps lock` was the key I needed for my
    116 shortcuts (it is so easy to reach!). I have now mapped `Caps lock` to act as
    117 `Escape` if I tap it, and as `Super` if I hold down. With this little trick, i3
    118 becomes a lot nicer, but without damaging vim's experience. If you are
    119 considering using a tiling manager, think about it! Also recommended if you use
    120 vim!
    121 
    122 
    123 [i3]: <https://i3wm.org/> "i3"
    124 [sway]: <https://swaywm.org/> "Sway"
    125 [dwm]: <https://dwm.suckless.org/> "dwm"