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"