Live data from Hacker News

i3 4.18

i3wm.org

91–100 of 188 posts

Re: i3 4.18

#91
I have been using i3 for a long time and here are some advanced features that I'd love it to have.

1) Workspaces of workspaces

Let's say I'm working on five projects at the same time. Each project usually has totally different workspace configurations.

For example:

Project1 might have workspaces 1: dev, 2: mail, 3: tail -f access.log

Project2 might have workspaces 1: photoshop, 2: mypaint, 3: shell

Project3 might have workspaces 1: trello, 2: research

...

This is like tmux sessions. I can have multiple sessions, each session has multiple windows and panes. In tmux this works very well but in i3 you can'd do that.

I'm currently emulating this by running five independent i3 copies on five displays :1, :2, :3, :4, :5 and I switch between displays to switch to another project.

2) Static tiling

I3 is a dynamic tiling manager, which means it uses the entire screen. However, once you establish your workflow, you often have windows that take 1/3 of the screen and are 1/3 off the top, etc. and you don't really want them to take the entire screen because it makes you less productive and it feels weird. Also, once you establish your workflow, you don't want the workspace to change or resize. You just know where everything is and don't want a slightest disturbance in your workflow.

This is often hard to do in i3 and you need to use tricks such as vertical and horizontal splits of empty terminals to put the app where you need it to be. And it's extremely easy to mess this up, if you accidentally open a new terminal. Then your app resizes and shifts, and when you close the accidental terminal, it's no longer where it was because of many vertical and horizontal splits.

I found Notion window manager that is static tiling but I haven't tried it. It can also have tabs inside static tiles, which makes it very interesting.

3) Run or raise

Run or raise starts a program if it's not running, focuses it if it's running, and hides it when no longer needed.

For example, pressing alt+n starts and shows a notepad if it's not yet running. If it's running, it focuses the notepad and pressing alt+n again hides it.

I3 doesn't have this feature but it can be emulated via xdotool and scratchpads.

4) Using fzf instead of dmenu

Dmenu is nice but you need to type too much. The solution is to use fzf instead of dmenu.

I'm currently displaying a floating sticky terminal window that runs fzf, gets my input, performs the action, and disappears. It's so much faster than dmenu.

5) Using fzf to switch apps, workspaces, workspaces-of-workspaces

Often, when you're working on project2, you remember you had similar idea/code/notes in project4. You then have to switch to display :4, then switch to correct workspace and find the info.

This could be simplified by using fzf and just instantly switching where you need.

6) Using alt-tab to switch back to previous place you were.

Let's say you switched from appx in project2 on display :2 to appy in project4 on display :4, and now you have to cycle between them. You can't do that right now so the workflow isn't perfect and there's a lot of drag.

Re: i3 4.18

#92

I've been using i3 for a few months and can never see myself going back to working without it now. I must say that I think it makes most sense when you have multiple monitors though.

For me it makes sense on my single monitor as well. Couldn’t go back indeed. I still wonder why Windows is called Windows, but actually very bad at handling windows if you compare it to i3.

Re: i3 4.18

#93
post #77

For anyone here who loves i3, but has always had trouble getting full integration to work on their laptop ( sleep, screen brightness, etc. ), check out the Regolith project[0] It's a curation of several tools combined with i3 that gives a pretty fantastic gnome/i3 experience. Similar to spacemacs and emacs. [0] https://regolith-linux.org/

This is really nice. The key bindings out of the box are really useful.

Re: i3 4.18

#95
post #73
post #50

If you're looking to switch from X11 to Wayland, you should definitely check out Sway[1]. It's all the greatness of i3 rebuilt on top of a cleaner, leaner, meaner tech stack! [1]: https://swaywm.org/

>> cleaner, leaner, meaner tech stack! What does that mean? Sway is a great project, but I would be careful of using Wayland, as lots of minor issues came up last time I was using it ( death by a thousand papercuts ). For example, if you rely on years of small x scripts ( xrandr, etc. ), be prepared to rewrite all of them for wayland. Last time I used Sway/Wayland, I couldn't find a good alternative to redshift. Whil…

There's a patched redshift for wlroots compositors (sway is the most prominent one) on AUR, works perfectly in my machine.

Re: i3 4.18

#96

I guess tiling window managers should be considered more of a specialized niche tool, and in that it is commendable that i3 does such a good job of it. I do really admire it for being so light-weight on resources compared to a lot of the other more popular WMs. I say a niche tool because I've never really understood why someone would prefer a Window Manager that places a lot of constraints than one that lets you cont…

The exact scenario you're describing is a great use case for tiling WMs. I couldn't imagine doing it with windows that occlude each other. In fact, I've been using tiling WMs for over a decade now, and I find my colleagues' use of stacked windows gives me anxiety. You never know where anything is, and they have to constantly alt-tab to find it, or hunt for it with their mouse. The key to effective use of tiling windo…

> You never know where anything is, and they have to constantly alt-tab to find it, or hunt for it with their mouse.

Ctrl + UP or "swipe up with three fingers" gesture on Apple Magic Trackpad will reveal all the active open windows and show a thumbnail of all the active workspaces (virtual desktop). It's much, much faster than alt / cmd + tab.

> The key to effective use of tiling window management is the use of virtual desktops. The two go hand in hand. That's why Windows and Mac OS don't have it.

MacOS certainly has virtual desktops and calls it "Spaces" ( https://support.apple.com/guide/mac-help/work-in-multiple-sp... ).

(But yeah, you are right in that some users may not be using it - I don't use it at all. I prefer to use tabbed windows, only have a single monitor and when the number of open applications or windows overwhelms me, I just close many of them.)

Re: i3 4.18

#98
post #79

Earlier quoted context omitted.

> Even Microsoft switched from a tiling WM from Windows 2.0 on wards and has stuck to it (Source: https://en.wikipedia.org/wiki/Tiling_window_manager ). MS recently added snap abilities with Windows 10 that lets you split / orient 2 windows and control them with hotkeys. This isn't quite a tiled window manager but it is going out of their way to introduce a lighter form of dealing with a tiled interface. They also re…

True. The original point still stands though - both Apple and Microsoft have found that the majority prefer stacking windows as it is easier to learn and use.

> both Apple and Microsoft have found that the majority prefer stacking windows as it is easier to learn and use.

Yes but Microsoft also found that a majority of folks want a tabbed terminal interface and icon emojis before being able to select text with a mouse in a terminal.

So I'm not sure how much credit you can give them for knowing what people really want in the end.

Also, I've spent some amount of time teaching old people how to use computers (ie. teaching my dad how to use Windows better so he can day trade). One of the most confusing concepts to him is how windows can just disappear or "get lost". Stacked windows that can be behind other windows or get minimized by pressing the wrong icon by accident is a lot more confusing than having a 2D plane of existence where you can see everything at once because the only way you end up hiding them is by explicitly doing things to move them into different work spaces.

Re: i3 4.18

#99

I guess tiling window managers should be considered more of a specialized niche tool, and in that it is commendable that i3 does such a good job of it. I do really admire it for being so light-weight on resources compared to a lot of the other more popular WMs. I say a niche tool because I've never really understood why someone would prefer a Window Manager that places a lot of constraints than one that lets you cont…

I suspect a lot of the appeal is to people who prefer to keep their hands on the keyboard as much as possible. Being able to precisely position a window on the screen is possible to do without touching the mouse, but in practice doing so is very clumsy. By removing the "freedom" to precisely position windows and replacing it with a limited number of slots a window can go into, a tiling manager is more keyboard-friend…

You make a good point - I am sure there are many keyboard warriors that love controlling their windows with a keyboard only. When I learnt the keyboard short-cuts for Photoshop, I certainly could use it a lot faster. I guess that's also one of the reasons why Tiling WM aren't as popular - there's a learning curve.

Re: i3 4.18

#100

Earlier quoted context omitted.

On my personal machine, I use i3wm, and on my work machine I use OSX with Spectacle (a window tiler). For me, the killer feature of i3wm is not how it lets me arrange windows on my screen, but how it lets me switch between them. With OSX, I have to maintain a mental stack of recently-used applications: If I'm in my terminal and I want to get to firefox, I have to hit cmd-tab, or maybe cmd-tab-tab, or maybe cmd-tab-ta…

Do you manually move certain apps to certain workspaces, or do you have configurations to do it automatically? I've tried setting up the config to always have Firefox on workspace 3 and Slack on 4, but it doesn't work. I can do it with terminal, though. I've also done the xprop command to find the WM_CLASS property, but still no luck

See my dotfiles: https://github.com/Kubuxu/dotfiles/blob/master/i3/config.bas...

'assign' allows you make so if window opens, it opens on given screen Lower, you can see me switch to given workspace before autostarting apps.

Post reply on HN