1. 29
  1.  

  2. 8

    I really like tilling window managers and I used to use them exclusively in my younger days, but now I find I don’t have the time or energy to spend fiddling with their configuration and set up. I’d really love it if there were a desktop environment that has all the richness and integration of Gnome/KDE but with forced tilling. I’ve tried various tilling extensions for Gnome and they’re all kludgey and don’t work well, especially with multiple monitors. Sway looks great but I don’t want to have to mess with manually installing and configuring notifications, launchers, menu bars, etc.

    1. 7

      I installed sway and used it in its default configuration, except for arranging my monitors, which you have to do in any WM because there’s no way it can know the physical layout of your monitors. I’ve added a couple of keybindings for stuff like taking screenshots, but again, nothing tiling wm-specific there.

      You can customise it if you want to, but you don’t need to. It works fine out of the box.

      1. 4

        there’s no way it can know the physical layout of your monitors

        I’ve wondered about this; back in the day of CRTs if your system switched off and on your display and used a stereo mic, it could determine which side each display was on. It seems that nowadays modern LCD screens are relatively silent, but I’m also sure my ears aren’t as sensitive as my laptop’s mic.

        1. 3

          I’ve wondered about this; back in the day of CRTs if your system switched off and on your display and used a stereo mic, it could determine which side each display was on.

          Huh. Was this actually a feature that was used in practice?

          1. 3

            Nah, just some random idea I came up with. Never heard of it being implemented.

      2. 2

        Seconded. I’ve tried Sway and like it, but I wish it were a little more batteries-included. I already have to train my fingers to use splitscreen windowing shortcuts in tmux and vim, dealing with yet another model just isn’t much fun.

        1. 2

          I really wish vim were set up so different vim windows could be connected to the same vim ‘server’ like you can do with Emacs. It would mean one less layer of tiling window managers.

          Even just different ‘client’ sessions with some really strict requirement like ‘always looking at a different tab’ would be fine with me.

          1. 7

            I really wish vim were set up so different vim windows could be connected to the same vim ‘server’ like you can do with Emacs. It would mean one less layer of tiling window managers.

            Neovim intensifies

            1. 9

              :) that link is actually the legacy Vim remote interface. But Neovim is indeed working on Emacs-like frame capability, which requires a few different components:

              1. client-server capability: multiple UIs to connect
              • Nvim supports this since ~2015, but the same layout is shown on all clients
              1. “multigrid” feature: logical separation of layouts internally (no, Vim didn’t have this: instead it sprinkles calls carefully across the codebase to build a unstructured cell map)
              • Nvim 0.4.3+
              1. “tabgrid” feature: allows connecting to different tabpages from each client, so clients can see different layouts of the same server.

              By the way, even Emacs does not have Nvim’s decoupled UI architecture. Emacs renders a TUI server-side and sends it to dumb clients. Whereas Nvim sends structured data to clients which then decide how to render it.

      3. 4

        That “Preserve working directory in new terminal instances” script is neat!

        Also I can recommend waybar as a statusbar application. It’s easy to configure and has lots of neat features.

        1. 4

          The default application launcher to be used is dmenu (from suckless-tools). While it works okayish, I don’t particularly like it. In my eyes, it looks rather old-fashioned, and even worse, it doesn’t seem to have support for freedesktop.org desktop entries.

          dmenu just displays and lets you pick from a list of things. If you tell it to list .desktop entries in ~/Desktop then you can choose one, and pass the result to xdg-open.

          1. 2

            dmenu and rofi are also X11-based, and need xwayland to run. I prefer just using a terminal with FZF, so I glued together some code I found online to make term-dmenu (GitHub mirror). Another alternative is sway-launcher-desktop.

            1. 4

              bemenu is an acceptable replacement for dmenu, and it natively supports wayland compositors. I use j4-dmenu-desktop to iterate .desktop files and pass them to bemenu. I’ve thought about simplifying and using a term + fzf (since I already use fzf for many other things), I’ll take a look at what you have, thanks for sharing!

              1. 1

                The term-dmenu repo contains several scripts that work with dmenu/term-dmenu/rofi. One of them is app-launcher, which uses j4-dmenu-desktop like you describe. It also contains scripts for window switching/filtering and runnung executables found in $PATH.

          2. 3

            I’ve been using Sway as my desktop for a few months, and haven’t looked back. I don’t understand how I ever used a computer without having a sophisticated WM manage windows for me. Dotfiles.

            1. 3

              Tiling WMs never appealed to me for one simple, shallow reason: I like seeing nice decorations on my windows. Having windows overlap doesn’t bother me. Indeed, I occasionally arrange them that way on purpose. I have 11 virtual desktops (KDE), and I map my numpad keys to them, so every desktop is a single keystroke away (modifier keys are not even needed). I can have 30+ windows, many of those having several tabs (web browser, terminal), and everything’s within reach via numpad, Alt-Tab and Ctrl-Tab. This setup has worked very well for me for many years. (Not to be construed as me saying that nobody should use tiling WMs.)

              1. 3

                My (tiling) window borders are a single pixel wide; just enough to highlight the focused window in blue, with unfocused in grey. I also don’t see my desktop background much, since windows are arranged to cover the whole screen (usually just one fullscreen window at a time, in my case).

              2. 2

                How does a tiling wm work for me? It’s my understanding that I have to set it up “my way”, according to each task in my daily flow. Whatif I don’t have a flow?

                My usual gnome flow on my desktop is just meta key to find an app and launch it, alt tabbing my way to an open one, and meta+arrow to move my current app to this or that corner. When I hook my windows laptop from work, I might also need to move my thing to another window, ctrl-meta-arrow does it. I usually open terminator where I split it up with term panes with ctrl-e or ctrl-o and then with arrows, as by default I just split it in two panes. I open IntelliJ, and there I sometimes want to fiddle with its panes with a mouse, same with Firefox or Chrome dev tools. Occasionally mail app is open, and a comms like slack or teams.

                Sometimes I need to adjust the width of the window manually, with the mouse, because I’m really interested in those logs, or that image. Or open an unusual app like calc or excel or whatnot.

                Luckily, gnome and apps remember where they’ve been last, usually.

                What would a tiling wm bring me? How would my flow look like? Do I have to setup config for each window?

                What benefits would I see? Would it bring me discipline? How much work to set up initially and how much work later on? What happens when I open a new app?

                I can’t find this information online. Anybody has a video or article or presentation at hand to share?

                1. 3

                  How does a tiling wm work for me? It’s my understanding that I have to set it up “my way”, according to each task in my daily flow. Whatif I don’t have a flow?

                  If you don’t have a particular flow, you can use whatever is the tiling window manager does by default. Usually new programs will open full screen. If there is already a window open, it will split the screen either vertically or horizontally. And so on. Some tiling WMs let you configure how this splitting happens.

                  What would a tiling wm bring me? How would my flow look like? Do I have to setup config for each window?

                  A tiling WM would probably help you spend less time moving windows around. In your case, if you need to look at lots of terminals, or have an IDE + terminal + browser open all at once, you can do that in a way that uses all the screen estate without having to manually drag and resize windows.

                  I don’t know what your flow would look like. Personally I usually have an Emacs window and a terminal or browser open side by side on one workspace. This lets me look at my code and documentation at once easily. On another I will have my chat apps, usually Slack and FB Messenger open side by side, maybe Hangouts too. That way I can see all new messages at a glance. I find this is more useful when plugged into a larger monitor where I have more screen real estate than on my laptop.

                  You don’t have to set up a config at the beginning. You can use it purely interactively and if you find yourself using certain layouts all the time, your WM probably gives you a way of setting up layouts and restoring them or binding them to keybindings.

                  What benefits would I see? Would it bring me discipline? How much work to set up initially and how much work later on? What happens when I open a new app?

                  You will spend less time manually moving windows around and once you find layouts you like, you can save and restore them. I don’t know if it would bring you discipline (I don’t know what you mean by that). You should be able to get set up running without doing any configuration.

                  A few days ago there was a post here about Regolith which is an Ubuntu spin with a beginner friendly tiling setup that you can use to see if you like tiling. If you use macOS I recommend Moom.

                  1. 1

                    Thanks. I might try it sometime, but I’m not convinced. I don’t hear a “killer app” for me.

                    It may be “the dishwasher effect”. Before I had one (grew up without, then went on living without), I never thought it’s a big deal. Once I’ve bought one, I never think I’d go back.

                    But from my safe “defaults only on everything” perspective, I don’t see the incentive.

                    1. 2

                      That’s totally fine. If you are fine using the defaults on whatever system you have and that works for you, then you don’t need to be bothered. Tiling window managers (more specifically, the automated window management they allow) is attractive to me, but it doesn’t have to be for you.

                  2. 3

                    I’ve seen a couple of comments talking about configuration paralysis, but I haven’t really experienced that. I just have everything full-screen all the time; I only switch to a “proper” tiling arrangement occasionally, e.g. if I’ve opened the GIMP; then switch back. Note that this isn’t per-app or configuration-dependent, it just rearranges whatever windows happen to be open on the current desktop.

                    In general, I quickly stopped caring about the size and shape of windows. The only per-app configuration I have is which virtual desktop my auto-start programs appear on, which is the same as I had on floating WMs.

                    1. 2

                      》What would a tiling wm bring me? How would my flow look like

                      Nothing. You would need arrange every window at your desired size and move them cross the workareas spending lot of time learning new keystrokes. This every time you need two new different applications working at the same sight.

                      1. 2

                        Not certain if this is a disgruntled or a troll reply :)

                        1. 2

                          sorry, not intended trolling. Its my opinion based in three years using i3. Sure I’m wrong.

                    2. 2

                      I miss the redshift feature of gnome 3. redshift itself doesn’t support wayland yet. There’s a fork with wayland support, but I didn’t find time to look into it yet.

                      Yep, the fork works very well. I hope it gets merged into upstream.

                      I’ll probably switch from i3status to py3status soon as it’s list of modules looks really promising.

                      py3status is really cool and the amount of modules is staggering.

                      1. 2

                        I’ll probably switch from i3status to py3status soon as it’s list of modules looks really promising.

                        I’m curious why though, since you can basically implement any arbitrary module in i3status (just write a script or app in whatever language you want and have i3status call it)..

                        1. 1

                          Yes, but the advantage is that I don’t have to implement everything because it’s already implemented. The time savings are the main benefit.