I love tiling and stacking on Linux, and Pop!_OS makes that so easy.
Let me explain.
Greetings, and welcome to another exciting episode of Veronica Explains.
I'm Veronica, and I'd like to take a moment and talk about window management on Linux,
why I love Pop!_OS, and how you can implement some neat tiling and stacking on GNOME-based
distros.
I'm assuming you know what a window is, but just in case you don't, it's that rectangular
thing that shows a program on your computer screen.
I'm probably inside one right now!
A window manager is the program that decides where all those windows go on your desktop.
And while Windows and Mac each ship with just one window manager, Linux has a variety of
options here, and that's a good thing!
If you've been around Linux for a minute or two, you might have heard of something called a "desktop environment".
Well, your desktop environment is pretty much, in its heart of hearts, a window manager with
some added "default programs" for managing configurations, files, and other important
bits.
The window manager does a lot of work in making your computer a usable tool.
You can use some window managers by themselves, without any desktop environment, if you really
want to.
Some fantastic examples of standalone window managers are Openbox, dwm, and i3.
Let me know if you want me to do a video about these, because they are super fun, and great
for low spec machines.
Like I said, window managers are everywhere, including in a bigger desktop environment.
If you're on KDE Plasma, you're probably using KWin as a window manager.
And if you're using GNOME, you're probably using Mutter.
It's the latter desktop environment that I want to talk about today.
I loved GNOME when I first started using Linux back in 2005.
These were the GNOME 2 days, and compared with Windows XP, GNOME felt super snappy,
fresh, and exciting.
When GNOME 3 came around and changed the design a bit, I started bopping around into different
desktop environments, eventually settling on KDE Plasma for a number of years.
Plasma was a great desktop environment!
It was super flexible, and I could pretty easily bend it to whatever workflow I fancied
at the moment.
But in 2020, I bought my first System76 computer, the venerable Galago Pro!
It came with Pop!_OS, and Pop Shell made me fall in love with GNOME all over again.
Pop!_OS introduced me to my perfect workflow: window stacking and tiling.
See, in Pop!_OS, you get this fantastic icon to enable window tiling and stacking, and
folks: it's changed my life.
"Tiling" automatically tiles your windows to take the maximum amount of space right
next to each other.
Each time I open a new window, Pop!_OS intelligently places it somewhere on the screen, and then
rearranges the screen to efficiently distribute the space.
Then, I can navigate between each screen with the super key and arrows.
Or, super key and the vim shortcuts, because vim has totally broken my brain.
I can move my windows around at will with the mouse, or use the handy-dandy keyboard
cheat sheet and manage the whole thing with my keyboard.
It's way more advanced than the typical "one window next to each other" thing you see by
default in many window managers or desktop environments.
Stacking adds a third dimension to this whole exercise.
Using super and S enables a stack, and now, I can open a new window right in front of
the existing window, without rearranging my tiling.
This is **fantastic** on a laptop.
Navigating between windows in the stack is just like navigating between tiles: super
and the arrow keys.
I can configure very complex layouts for whatever task I'm working on, and reduce my dependency
on multiple screens to get work done.
Pop!_OS comes with all of this by default, as well as dynamic vertical workspaces, which
Pop!_OS makes this super easy, and it comes with the installation.
So for that reason, it's become my default distribution for the last couple of years.
But maybe for whatever reason, you don't want to use Pop!_OS and give that a try...
Maybe you have a dependency on something that's in the AUR, or perhaps something in Fedora.
Maybe you really want to use Wayland.
If you want to try these options on your existing GNOME desktop, you're not out of luck.
The fantastic folks at System76 have packages for Fedora, Gentoo, openSUSE, and Arch.
And you can install it from source.
So, of course, we're gonna try it on Arch!
Last week, I installed Arch on this classy-looking Thinkpad, and configured vanilla GNOME on
it.
I did a video on it, and I'll leave a card wherever cards go.
Make sure to leave a comment if you want to see more Arch content.
Anyway, in case you're wondering, I'm testing this on my ThinkPad E490, using Arch with
Wayland, running GNOME 41.5.
All of that is current, at the time I'm recording this video.
To get started, you'll need to follow the instructions at support.system76.com/articles/pop-shell.
I'll wait while you open that up in another tab.
(singing) Don't forget to subscribe!
Anyway, you can see that the good people at System76 suggest building the plugins from
source in order for keyboard shortcuts to work on Arch.
As an unabashed fan of keyboard shortcuts, I couldn't agree more.
In Arch, we'll need to install the packages for git, typescript, and make.
After this, we'll need to clone the repo, enter the directory, and `make local-install`.
After running that, it'll ask to override the default shortcuts, and we should say "yes".
Now, I get an error saying it couldn't activate the session, but a quick log-out and log-in
fixed it right up. After logging back in,
I was able to go into the Extensions program and enable it right in there.
Hi, it's me while editing!
I feel like I should have made it more obvious where that little icon is that switches to tiling mode.
It's right here.
When I hit it, the windows automatically go to tiling. Super neat!
Anyway, on with the show!
One thing that I use all-the-time is the Super-plus-T to open the terminal.
I'm pretty sure I've been using this combination in one way or another for many years now,
and in Pop, it's built right in.
Installing the Pop shell extension didn't automatically enable that shortcut, so I'll do it manually.
I just hop into the settings app, and using the search icon, I look for "keyboard".
Then, I can click on the bottom at "View and Customize Shortcuts".
From here, I can scroll down to the bottom where it says "Custom Shortcuts".
And I can add a new custom shortcut to launch `gnome-terminal`.
I set it as super-T, and that's it!
Now, when I hit Super-T, it launches a brand new terminal.
Magic!
Another thing I like about Pop!_OS is the vertical workspaces.
Now, I know that some of you like the horizontal thing, and that's great- you do you.
Now, I tend to like my workspaces vertical, because sometimes, I use multiple computers
on the same desk...
...and the horizontal workspaces thing kinda throws that off, because I'm expecting the
one screen to move over to the other screen.
And when it doesn't do that, it weirds me out.
Anyway, to each their own.
I installed the extension based on the instructions at the Pop!_OS COSMIC workspaces GitHub.
Same as before- git, cd, make, and then a quick logout and login.
Opened up the Extensions app and there it was.
Ticked the little ticker and boom!
I had my vertical workspaces back, with the hotkeys I'm used to: Ctrl-Super-Up to up,
and Ctrl-Super-Down to go down.
Now, my Arch laptop running GNOME on Wayland has the tiling and shortcuts I've come to
expect from my super fancy COSMIC desktop here on Pop!_OS.
From here, I can add additional customizations as I want, such as a dock or a darker theme,
but for now, I'm going to leave this as-is...
...reasonably uncluttered and ready for some Linux shenanigans.
I think the folks at System76 have really done a fantastic job of creating a top-notch
workflow for me, and perhaps for you too.
It's nice to know that with only a little bit of work, I could get it running on Arch.
Of course, running non-standard GNOME extensions will certainly have some complications down
the road- packages will get updated, which might introduce breakage in the Pop!_OS-designed
extensions.
That's why I'm so eager to try out what the team at System76 is planning for their own
COSMIC desktop.
If you haven't heard- they're hard at work on a brand new desktop environment all their
own, as in "not based on GNOME".
Let me know if you want me to give that a try as they get further down the road.
In any case, it's neat to know that these extensions can be added to GNOME today, regardless
of whether-or-not you're using Pop!_OS.
One of my favorite things about the Linux ecosystem is that different projects can share
different pieces with each other.
I don't think that should surprise anyone, though, because Linux is awesome!
And so are you.
Thank you so much for watching!
I am so grateful to the folks who've supported this channel on Patreon, and you can too at
patreon.com/veronicaexplains.
You can also support the channel by picking up a nerdy t-shirt like this one, at vkc.sh/merch.
And, if there's something you'd like to see me cover in a future video, please leave me
a comment.
Thank you SO MUCH!