OK, complete noob question, but I don't care...what actually is i3? I hear a lot of people raving about it, but I don't really understand what it is.
Is it a full DE, like Gnome or KDE? Or does it sit on top of a DE?
What is i3 and what does it do? TIA.
@matt OK, so it's a full DE of sorts then, but what _is_ a "tiling window manager"?
I can snap windows in MATE to each corner, same with KDE. Is that not tiling windows?
(not trying to be awkward by the way, I literally don't get it. Sorry)
I'd look at the i3 website and also on YouTube for examples. Also look up xmonad, dwm and other tiling window mangers (wikipedia has a list).
With a tiling window managers, windows don't overlap by default. Overlapping windows have been the worst UI decision ever (thanks Xerox!) and they just lead to clutter and losing windows.
Before you start a new app, you can hit a hot key to indicate, "I want this app to be to the right of my current window .. or under it".
And there is a learning curve to i3 (or other tiling window managers). It's like learning stuff on the command line initially, but once you get use to it, and reconfigure the key bindings the way you want, you'll wonder how you've ever lived without it.
@kev @matt tiling WMs (of which there are a bunch, but i've mostly used: awesome, i3, xmonad) take those features to a deliberate extreme. windows tile by default, there's usually a hot key to cycle through different layouts, workspaces are heavily used to organize things.
it's not for everybody, but if it really clicks it can be pretty frustrating to go back to manual window management. it just kind of automates something you didn't previously realize was eating up brain capacity.
Tiling WMs are more than just snapping windows to corners etc. They handle the placement of every window that opens, arranging them in a predetermined pattern (which can be configured). They also handle rearranging those windows as needed via keyboard shortcuts.
If you're into it the benefit is almost never needing to move a hand to the mouse and saving screen real estate and time manually moving windows around.
@kev While MATE, Plasma, Gnome, etc tile windows on command, Tiling WMs like i3 do this by default. They manage resizing existing windows automagically when a new window is opened or closed
i3 in particular is designed such that you do everything using the keyboard, with almost no need for the mouse. By everything I mean: launch apps, move windows around, switch active window, resize windows, and so on.
@kev what people like about i3 is it's VERY low memory usage (even less than XFCE or LXDE), and it's rediculously high level of configurability.
@codesections @matt @kev dwm is a very minimal and basic tiling window manager with a weird UNIX hipster attitude to it. i3 features a lot of features without being bloated in any way. I'm using it on my multi monitor setup and it uses about 3MB or RAM for me, I'm sure dwm is even more extreme, but I prefer to have actual features and being able to use it in a efficient way as a power user with 3 monitors and ≈9999 clients (aka windows).
Interesting to hear that the memory usage for i3 is only ~3MB. How are you measuring that? I checked the memory usage for dwm with `pmap -x [PID]`, and it looked like it was clocking in at ~48MB. If there really is an order of magnitude difference, I might consider checking out i3. But I wouldn't have thought the gap would be that large—maybe we're measuring differently?
The "Unix hipster" dig is definitely a fair point, even if I'm in that group half the time myself!
@codesections It might calculate it differntly? If it's something I've learned with Linux is that there's always 10 different ways of doing one thing. :)
Interesting. I guess that's from https://l3net.wordpress.com/2013/03/17/a-memory-comparison-of-light-linux-desktops/ (reverse image searches are amazing…) Assuming that's right, it's from 2013, so things might have changed a bit.
Also, it's worth emphasizing that all of these numbers are *really small*. Also from ps_mem, slack is idling at 651, firefox is at 306, qutebrowser is at 578, and chrome is at 3,100. So 3 vs 6 is likely not the thing that will push me over the edge :D
@hund @matt @kev
Any WM will probably be light enough.... the important part is how the tiling happens and if it has the features you like. The other tools like what panel, compositor, terminal e.t.c.. all impact on the total usage.
bspwm (532.5 KiB) but it needs sxhkd (415.5 KiB) and a bunch of other programs to function normal. All-n-all it probably totals in on about 2-3 MiB.. with all my custom scripts and so on. My compton uses 4.9 MiB and dzen2 is at ~70 MiB..
You are all doing minimal window managers wrong! 😀 Expand for a tinywm Show more
Following up on on conversation the other day: I just rebooted my computer, and it looks like dwm with two screens and 6 active desktops is clocking in at 1.6 MB. That's much less than it was after extended use, so either there's a memory leak (unlikely) or it's caching something in RAM over time.
@codesections Oh, noes! You won! :D
@codesections And I lied, it was 4MB. :P
dwm is a minimal dynamic window manager by the suckless folks. https://dwm.suckless.org/ Like most suckless projects, it's extremely simple: the source code is very readable C, and it has minimal configuration. It's keyboard-focused (though it has a bit of mouse support) lets you configure just about everything about your workflow. It also is build to work well with dmenu, another suckless tool. It's not for everyone, but I like it a lot.
Yeah, like I said, it's not for everyone.
That said, setting the config files at build time might be less of a big deal than you think: it takes well under a second to build, so it's easy to change settings. And it simplifies the code to not need to parse a file after compilation. But yeah, that's a common objection.
So like, imagine you have two windows, side by side, then add a third. But instead of floating above all the other windows, it intelligently resizes the others and now you have one window taking up half the screen, and the other half is shared equally by two windows. Then you add a fourth window, and the right half now has three windows. All without you doing anything.
It takes more up front config, but can be useful in certain situations. 1/
Most tiling window managers can handle floating windows, too, and are smart enough to know that, for example, that dialog box should float instead of being tiled. They can also be configured such that all Firefox (or whatever) windows always float.
It's weird, but cool. It's not for me but I understand why people like it. 2/2
@kev @matt All DE's have a window manager included. KDE has kwin and Gnome has Mutter. As the name sounds it is the part of the DE that handles windows. Another part is compositing which handles the looks.. like transparency. A WM are usually used with a compositor like Compton.
A window manager is when you remove everything and only have the managing of windows left. This is typically done by keyboard rather than mouse... although many WMs do have support for both.
@kev @matt A DE is the full environment... everything from the WM to the apps and graphical toolkits. KDE has Qt and Gnome GTK. A WM don't really care about those things... it is something you have to add yourself.
So tl;dr ... A WM is something you build depending on needs. You pick every part to fit your needs. Most want minimalism. In the end they usually are just as capable or even more capable than a regular DE. No one looks like the other and are fitted exactly after the users need.
@kev It's a window manager that doesn't require a DE, but can be used in conjunction with a DE. I used to use it with XFCE, but now I just run it alone. I installed Debian with no DE (headless), then I installed the i3wm and xorg packages and everything was ready to go (it installs lightdm for login). I installed PCManFM for a file manager GUI, but I just manage all settings through config files.
@kev i3 and dwm and the like are windows managers: https://wiki.archlinux.org/index.php/window_manager
As that link explains, there are a *lot* of WMs out there. They can be part of a full DE, but they can also be used standalone. I use dwm without a full DE and haven't missed any of the features of a full DE.
@kev a DE comes with a lot of infrastructure ie. many software working together that includes a Window Manager. Nowdays, DE's window manager support some tilling WM features but unlike DE's WM, pure tilling WM are mostly controllable by the keyboard. Tilling window manager are more light weight. Previously the hype was about https://awesomewm.org/.
@kev When you know the bindings of a tilling window manager you feel less need for an extra monitor. I used to use qtile and i3wm but nowdays I mostly GNOME, that said I like i3wm... HTH
@kev it's just a wm, tilling, stacking, tabbing wm
Pretty neat and simple to use
Few minutes of learning would suffice
But I've always found awesomewm nicer, although I spent like 2 weeks configuring its lua file...
@kev FWIW, with i3wm (and the like) I bind qwer and asdf to virtual dekstops that way I can ALT+letter to quickly switch to htop console for instance. Or ALT+SHIFT+letter to move the current window to another desktop. The default behavior is to use number to switch virtual desktop, which is not helpful for me since I am mostly left-hand on the keyboard.
@kev because my right hand is on the mouse 😜
@kev it’s a window manager with awesome tiling capabilities. as it’s very lightweight, one usually want to use it with some other lightweight tooling around it (dmenu for example), but you can also use it as replacement window manager in GNOME or KDE. is that helpful? 😅
@kev It’s a tiling manager?
@kev i3 is my favorite. It's a tiled windows manager. Very light, very fast. Takes a while to get used to, but once you do, wow. Manjaro i3 is an amazing, fleshed-out implementation of it.
Fosstodon is a Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.