Live data from Hacker News

I3: Improved Tiling Window Manager

i3wm.org

341–350 of 454 posts

Re: I3: Improved Tiling Window Manager

#342

One of my favorite things about i3 is that it doesn't force itself on you when it's not needed. You can keep it "in the background" in tabbed mode, effectively using it like a non-tiling WM, as long as you want. Just let your windows pile up and switch between them with fuzzy search (rofi/Switcheroo). Then, once usage patterns emerge, you can tile to take advantage of spatial memory. Example: - Start i3 in tabbed mod…

This is why I can never switch off i3 (well, Sway). I just use tabs too much. I even hacked Firefox to hide the tab bar and open every "tab" in a new window so I could use Sway tabs for browsing. BSPWM/DWM/etc all look cool, but no built-in tabs.

Re: I3: Improved Tiling Window Manager

#343

Earlier quoted context omitted.

I dont like Microsoft operating systems and wanted to try something different. I installed Linux. The installation process was very painful. Getting it to cooperate with the hardware was worse, and of course there is no real support. I finally got it halfway working. At that point, I found it was hard to learn, harder to get used to, and hardest to do anything useful since none of the programs were familiar. Two days…

Wow, this is great copypasta. The only other place I can find this is here: https://groups.google.com/g/alt.linux/c/g0DSYFSUXAA?pli=1

[deleted]

Re: I3: Improved Tiling Window Manager

#344
post #319

Earlier quoted context omitted.

Aren't tiling window managers the traditional ones? The ability for one window to float over another was a later innovation and is of course more difficult to implement. The earliest versions of Windows were also tiling only, which is thus the traditional way.

> The ability for one window to float over another was a later innovation and is of course more difficult to implement. I find it funny, because I would say I have seen more floating window manager, when I was browsing GitHub, so I assume it is also quite easy to create a new one from scratch. Such floating VMs usually have 200-1000 LOC and die after 1 month after initial commit. Recently, xwm has been on HN [0] and…

> I find it funny, because I would say I have seen more floating window manager, when I was browsing GitHub, so I assume it is also quite easy to create a new one from scratch. Such floating VMs usually have 200-1000 LOC and die after 1 month after initial commit. Recently, xwm has been on HN [0] and it is small in terms of SLOC. There is smaller one called tinywm[1]. When we would compare them to i3[2] and sway, we can see they have thousand times larger codebase but they also bring a lot more features.

That is because the X11 server handles the drawing of windows over each other.

Older display protocols simply had no support for it.

Re: I3: Improved Tiling Window Manager

#345
post #166
post #66

I used to be all in on Apple. On macOS I had a little program called Magnet to snap windows to sides and corners, and on my iPad (with external keyboard) I SSH’d into a VPS to write and run code there. I used Alfred and had all kinds of workflows in there. I thought it was great. But then during my AI studies I wanted some beefier hardware, which was just not affordable for me within Apple’s ecosystem, plus they only…

i3 aside, the continuation to your story for me is, use Linux machine, be decently productive but nothing works quite the way it should. Change your keyboard layout to one of your own? Eh maybe Xmodmaps, oh but then it gets reset every so often because $HISTORICAL_ARTIFACT. You have to change the actual xkb mapping, which is very much not a “happy path” in any DE. The only graphical e-mail client that actually seems…

What's wrong with Thunderbird's built-in calendar?

Re: I3: Improved Tiling Window Manager

#346
post #218

Those that love using i3/tiling managers - what does your workflow look like? I used Amethyst https://github.com/ianyh/Amethyst an auto-tiler on the mac for quite some time but finally gave it up recently. I loved the auto-sizing but there were little niggles on the Mac e.g. some windows really needed to be floating and layout oddities when certain windows expected more width. I tended to find I was mostly just using…

I use bspwm, which is similar to i3.

I mostly put 1-3 windows per workspace, and generally use one workspace per task. My "main" browser window is always workspace 1. My todo lists are always workspace 2.

I then have one workspace set up to default to floating windows for apps that tends to go crazy with them, like e.g. gimp.

The other workspaces are usually split into 2 or 3 windows, usually two columns with one window taking a whole column by itself and the other column split in two "half-height". E.g. if I'm working on a web app, the browser will typically take up the biggest window. But I also have keybindings set up to let me easily move the active window left/right/up/down (it will swap places with the displaced window). I tend to move windows into a bigger space more often than I resize them.

Getting windows in the same space is easy for the most part - windows open on the space I have active, but I have keybindings set up to move the active window to a specific workspace, and you can also define rules for bspwm that sets up predefined slots for windows that "swallow" windows that match certain criteria, if there are certain apps you always want on certain workspace for example.

Switching windows to floating if the wm doesn't get it right is also just a keypress away.

bspwm can be fully controlled with a command line tool, so I also have scripts that will read a JSON file specifying a layout and recreate it and start the appropriate shells, browsers etc. I use the same plus an alias to change the name of the workspace based on the "nearest" project file working up from the last change of working directory on a given workspace. It's not perfect, but it means that e.g. if I "cd" into a project, the workspace name changes to reflect the project name, which does tend to make it easier to keep track of what I've put on which workspace.

Re: I3: Improved Tiling Window Manager

#347

For folks new to i3, some popular programs commonly used with it are: - rofi: dynamic menu replacement for dmenu [though dmenu is suckless ( https://suckless.org/ )] - picom: compositor - feh or nitrogen: wallpaper management, nitrogen is gui-based - i3-gaps: add spaces between windows, I believe it's an entire package that replaces normal i3 - i3blocks or polybar: customize the status bar Hope everyone has fun with…

Want to add one: just started setting up i3 again after about an 8 year break from it, and found i3status-rs to be very pretty and functional: https://github.com/greshake/i3status-rust

Re: I3: Improved Tiling Window Manager

#348
post #333

Earlier quoted context omitted.

I'm jealous of you and others in this thread that shared this path. I've unfortunately been dragged in the other direction: I was a happy i3/Linux user and now I'm coping with a multi-monitor Mac setup which stubbornly refuses to support workflows which I find to be very fast and efficient. There are some tools (all $$) for Mac which attempt to replicate a tiling WM but Apple's support for it is extremely poor, affec…

This is the danger of tiling window managers :( I now fear one day I will work at a company that won't let me use Linux. But on the flip side, it's a great testament to the power of tiling. You'll have to claw i3 out of my cold dead hands :)

If I was forced to work on a non-Linux box now, I'd most likely end up running a Linux VM and do most things within the VM.

Re: I3: Improved Tiling Window Manager

#349
post #66

I used to be all in on Apple. On macOS I had a little program called Magnet to snap windows to sides and corners, and on my iPad (with external keyboard) I SSH’d into a VPS to write and run code there. I used Alfred and had all kinds of workflows in there. I thought it was great. But then during my AI studies I wanted some beefier hardware, which was just not affordable for me within Apple’s ecosystem, plus they only…

I am still on macOS but I totally agree with your post. macOS and iOS are seriously locked down and it can be very frustrating.

Like you I used Magnet but wanting to get something more tiling window manager-like I switched to Amethyst[1] which while not as powerful is pretty good for what it is.

Sadly macOS has frustratingly laggy window resizing for a lot of things. Finder and Safari are usually fine but pretty much everything else feels laggy to resize and generally macOS just has absolutely terrible window manager so a tiling window manager is a god send.

I mostly use macOS because I have been doing iOS and macOS development and so what else you gonna use but I have to admit I want to move away from the platform. It is all 'very exciting' right now with all the Apple Silicon hype and yeah it genuinely is impressive but for me I kinda want to get back to something more open even if it doesn't have a lovely highly efficient and performant custom SoC driving it.

I am like 90% there in convincing myself to build a nice AMD desktop next year and moving away from macOS as my main OS. Luckily I am not dependent on any Apple services so switching shouldn't be that bad.

[1] https://github.com/ianyh/Amethyst

Re: I3: Improved Tiling Window Manager

#350

My brand new laptop was stolen while I was in school and I had to finish the year with a used 10-inch netbook I borrowed from a friend. Because of the tiny display and underpowered processor I had to get creative, I installed Arch plus i3 and it worked like a charm. In fact, I noticed my productivity actually went up. Eventually I got a new laptop, I switched off Arch to Ubuntu but I've been using i3 ever since. If y…

The default dmenu is very, very powerful though back when I first wanted to I could never figure out how to use the damn thing. Then I saw one of Luke Smith's videos using it [0] and all of a sudden it all clicked for me. Plus you can configure it pretty easily too so long as you can read C code [1].

If you wanna have a rofi-like interface (with it showing rows of results) you could use -l [lines] to show dmenu in vertical rows rather than in one row with many entries.

Just a PSA; your use case is very well suited to rofi and if I had that workflow I'd have a hard time translating that to dmenu.

[0]: https://www.youtube.com/watch?v=8E8sUNHdzG8

[1]: https://github.com/devenblake/dotfiles/blob/main/src/dmenu/c...

Post reply on HN