5 ms·
Re: i3wm I installed it a couple years ago, went whole hog, down the rabbit hole, but realized a couple of things. 1. I rarely ever use anything more than a
by wing-_-nuts 6y ago
Re: i3wm
I installed it a couple years ago, went whole hog, down the rabbit hole, but realized a couple of things.
1. I rarely ever use anything more than a simple L/R split.
2. When I do use something more complex, it's almost always in the terminal, in which case why not use tmux?
These days I'm back to using gnome because ubuntu switched to it over unity (which had a weird multitouch bug that drove me crazy).
What do you get out of i3 beyond a simple L/R split supported by simpler wms and how often do you use it?
- deleted 6y ago[deleted]
- siddboots 6y agoI depart from that L/R split pretty regularly, especially when coding. I frequently have a single large window taking up half of my screen, and several smaller windows stacked vertically on the other half. The big window is usually the editor, but sometimes the browser if doing web development, or possibly a pdf or something like that. The little windows might be the editor, or a browser, or general command line work, or the stdout of a server or other daemon that I'm working with. I sometimes do move to more of a tmux split workflow, especially if I'm working on remote machines, but it's just much nicer to have the same keyboard commands for all of my windows.
- 3131s 6y agoI always have at least 4 windows open in a project workspace, those being a text editor, a file browser, a terminal, and a web browser. Currently I use i3 with packages pulled in from XFCE to handle sessions and power management, plus xfce4-appfinder and xfce4-panel (started and killed with MOD keys of course) because I wanted something beyond d-menu / b-menu. It all works very well and was easy to configure.
- Fellshard 6y agoI've got a portrait monitor connected to a laptop, so I end up splitting the monitor's pane vertically. I treat each workspace as dedicated for a specific purpose - Dev, Browsing, Chat, etc. That gives me quick mnemonics to hop to each space: MOD+1, MOD+2, MOD+3, ... Within my Dev workspace, I use a tabbed pane for top-level organization: browsers (stacked), IDE, terminal, Emacs (magit + org), etc. This keeps my focus on that space when doing dev, and away from the laptop monitor, which is only occasionally useful as a reference. I'll occasionally stack a terminal beneath my IDE if the current task requires it, e.g. to test a deployment or a project task.
- nsilvestri 6y agoWorking on high resolution monitors allows me to do LLRR splits. Also the couple second I save from not moving my mouse I think is a worthwhile tradeoff. i3wm's floating mode doesn't really make me _lose_ anything, either. All upsides.
- nickysielicki 6y agoI agree wholeheartedly. Especially when most of the work I do is on a remote server anyway, so I'm already in tmux. I still use i3wm on older laptops just for the battery life gains, but 95% of what I do is Firefox + Terminal emulator, and alt-tab is just as fast. My main workstation is just gnome and it's fine. (Sidenote: is there any sort of linux libvte-based terminal emulator that has tmux integration a-la iTerm2? For when I do use i3, it would be really nice if I could spawn a new terminal on a remote server, attaching through an existing tmux session.)
- boogies 6y agoRe. Sidenote: It doesn't look like there are many terminal emulators with tmux built in¹, but you can bind a keyboard shortcut to `xterm -e tmux attach'. (rxvt[-unicode] and st also support the -e flag, to run a given command instead of the default shell). 1: https://unix.stackexchange.com/questions/189805/what-terminal-emulators-support-tmux-control-mode https://unix.stackexchange.com/questions/189805/what-termina...
- nickysielicki 6y agoThat would work if I was running tmux locally, but what about when I’m running tmux on a remote server?
- boogies 6y agoMaybe use `xterm -e remote-tmux' where `remote-tmux' is a small script in your $PATH similar to https://stackoverflow.com/questions/27613209/how-to-automatically-start-tmux-on-ssh-session#27614878 https://stackoverflow.com/questions/27613209/how-to-automati... ?
- aggronn 6y agoMy typical setup is that I have a single desktop for each project I'm working in. Web projects split into 4 panes. Top left, browsers (different chrome profiles running in different i3 tabs), bottom left dev console (same), top right vscode, bottom right, i3 tabs for all the consoles I have open (`npm run`s, git, etc). For go projects I have full left split IDE, ssh in to vagrant top right, bottom right are local consoles (tabbed) for building/running tests/etc. This would not be possibly if I wasn't using 4k monitors. That was a big shift for me, because now I think of each 4k monitor as 4 1080p displays.
- srich36 6y agoWhile I do use i3 for more than L/R splits with stacking etc. the largest benefit I get from it is workspace management. I use i3 with polybar and have dedicated workspace icons (web browser, terminal, editor, to-do, email, music, etc) for quick navigation between different applications. Over time I’ve built up muscle memory (i.e $Mod+3 will bring me to my editor) that has significantly sped up my development process. While you could use another window manager for a similar purpose, I find the relatively minimalist approach of i3 + polybar in my case to be fast and highly configurable.
- hashhar 6y agoI can echo this! This is exactly how I feel too - the muscle memory around workspace management and the scratch windows (floating windows that you can toggle in/out of visibility based on a single keystroke) are the real boosters for me rather than splits. Splits are useful but the most common use I've seen myself do is to have a browser and a terminal / editor in splits.
- Bnshsysjab 6y ago> T he scratch windows (floating windows that you can toggle in/out of visibility based on a single keystroke Us the toggle an i3 concept? I’m interested in it, can you give me the function name so I can look up doco? :)
- OJFord 6y agoNot GP but I think it's `scratchpad toggle` - scratchpad is the keyword to lookup anyway.
- Bnshsysjab 6y agoThanks, interesting concept that has some valid applications :)
- Novukus 6y agoI moved to awesomewm a few years back and I absolutely love it. I can open half a dozen terminals at once and they'll all automatically be ordered in a way that's immediately useful to me, where all the terminals are visible and (largely, depending on the automatic layout set) equally sized. And if I want another layout, I just press one combination to cycle through all the layouts I've configured. tmux doesn't give me that kind of flexibility. It doesn't feel anywhere as fluid or seamless to switch between half a dozen (or more) terminals. It means I can have an overview of a bunch of different things and keep terminals context-specific (1 terminal for htop, 1 for docker, 1 for whatever remote test environment, 1 for project A, 1 for project B, 1 for some other remote host I need for some reason, etc.) If I want to do a new task unrelated to anything I'm doing before, I don't need to break the context of an existing terminal, I just press Alt+Enter, it's automatically slotted into a place where it's completely visible and usable and I can do that task quickly. When I'm done, I can close it, again, without disturbing the context of all the other terminals. It's just incredibly freeing to have that and I feel it frees a lot of cognitive load by being able to go back to a terminal for a certain task and immediately see exactly where I was and what I did last. Also, much like the other comments, I use task-specific virtual desktops all the time. First desktop is for all the terminals. Second is for browser/communication. Third is for project A. Fourth is documentation related to projA. Fifth is projB. Sixth can be more documentation. I often have 10 virtual desktops for different things. I don't want to imagine what it'd look like if I had it all on one desktop.
- Kaze404 6y agoSorry to hijack your comment, but do you know of resources I can read to write my own custom layouts using awesomewm? I have a 21:9 monitor, and would like to write a layout where I can have a game running in 1080p + some windows on the side. Currently I do this just fine with floating windows, but surely there must be a way to use the tiling system.
- Novukus 6y agoHah, it's probably possible, but awesomewm's documentation for this kind of thing isn't great. I've looked into it but was put off by the complexity since I don't have that much time to spend on that kind of thing. I did find a couple of links that might be helpful as a jumping off point? https://stackoverflow.com/questions/5120399/setting-windows-layout-for-a-specific-application-in-awesome-wm https://stackoverflow.com/questions/5120399/setting-windows-... https://stackoverflow.com/questions/45411844/before-diving-in-is-this-possible-with-awesome-wm https://stackoverflow.com/questions/45411844/before-diving-i...
- jsf01 6y agoOff the top of my head, things I use most beyond L/R split include: 1. Workspaces. Not at all unique to i3 but I’ve kept mine themed and automatically load certain apps into the same workspaces—all things i3 makes easy to do. 2. Floating scratchpad for media player. Nice to have my music controls always accessible but only visible when I unhide them. 3. Vertical split beneath my editor with a terminal. Just my personal preference, but I typically have L/R with code/browser and then split the code half vertically. Being able to move windows across displays and workspaces quickly are other pluses, but again, not at all i3 exclusive.