30 ms·
I3: Improved Tiling Window Manager
- makepanic 6y agoSadly it's bound to X11. The alternative for me was to migrate to sway[1] to have a similar environment in wayland. [1] - https://github.com/swaywm/sway/ https://github.com/swaywm/sway/
- q3k 6y agoSadly Sway is bound to wayland.
- Foxboron 6y agoIt greatly annoys me that wayland still doesn't have any solutions for synergy/barrier type software. I depend on it daily for using my desktop and laptop and it's tedious to make the switch as it currently is.
- SubGenius 6y agoI've been meaning to try out barrier. How do you like it? Is it responsive/fast? I had synergy running across linux/mac machines a number of years ago and it wasn't super reliable back then..
- Foxboron 6y agoI have been using synergy for 6 or 7 years. Barrier the past year. It works reliably, more so then synergy, and I'm typing this reply through barrier right now :) It also fixes a few quirks I had like xorg screen changes wasn't reflected in synergy and it would start having weird boundaries.
- SubGenius 6y agoAh good. Thanks, I'll give it a go today!
- trefil 6y agoI made a program called rkvm which works on a level below display servers (works with uinput directly) and thus doesn't suffer from these problems. Currently, it only supports Linux and Windows, where only client support is implemented on Windows, but it works well for my use case. https://github.com/htrefil/rkvm https://github.com/htrefil/rkvm
- Foxboron 6y agoNeed server on windows and client on linux so this won't work properly yet for me.
- emptyparadise 6y agoWayland has a bad case of security at the cost of usability. They've been adding protocols here and there but there are still obvious things missing. Last time I checked it wasn't even possible to create something like xdotool without relying on some nasty hacks.
- Blikkentrekker 6y agoAnd on top of that the “security” is useless because any software that runs as one's user account can simply do things such as ptrace the compositor or override the compositor in the PATH with a malicious one or LD_PRELOAD the compositor. As soon as malicious software run as one's own user, then that is that and it can do anything that the user can do. The argument raised against this is that it should be used in conjunction with some measure of a sandboxing technique, and that X11 is “impossible to sandbox”, but X11 sandboxes exist: how they work is a proxy server that sits in between the sandboxed application and the real server that determines what to let through and what not, the sandboxed application thus believes it is the only thing running inside of it's own X11 server, which maps it onto the bigger one. Then the counter argument is that that “doesn't count” and isn't “true sandboxing”, but that is the exact same technique that sandboxes that use Wayland use for say DBus, or PulseAudio, and has always been the standard way of sandboxing such daemons and servers. That's always the highly theoretical argument that comes in to defend these promises that are false on a practical level “it doesn't count”, even though the practical result is the same. All the ways to circumvent Wayland's security “don't count” even though they can all the same be used to compromise it. I am quite convinced after having spoken with many a Wayland developer that nigh none of them actually care about the “security” they so often talk about: they care about a certain theoretical elegance of a “secure system" that only exists in theory but exists in no reality as something that actually has been practically realized. All the actual, effective, real world ways to pierce it are wished away with that they “don't count” as they don't exist in their theoretical dream world.
- jchw 6y agoYou are forgetting that you actually can sandbox and contain apps. Under X11, doing that and then giving the app access to the display is dangerous. Under Wayland it is not. This matters for Flatpak, Snap, firejail, etc. I have seen multiple such arguments that you can “sandbox” X11 access, with no proof or really bad compromises; I don’t believe it.
- k323r 6y agoThanks!
- gkbrk 6y agoIf the submission was for Sway, it would be equally sad that it was bound to Wayland. I think projects like this should link each other as alternatives though, to aid in discovery. Since they are for different protocols, I don't think they will lose anything by linking their "competitor". I can see that sway mentions and links to i3, but I can't see anything similar from i3. Not sure if they haven't noticed it or if they are not fond of it.
- globular-toast 6y agoYep. I've been using sway for a year now and I like it more than i3. When I switched to wayland I also dumped nvidia which has generally been great, but I have had several problems with the Intel drivers, unfortunately. I run the stable kernel.org kernel and currently need to patch it so it works. But I'd rather run a system that I can fix then one I can't.
- ddalex 6y agosince sway and i3 are pretty much interoperable, I see no problems there.
- ageofwant 6y agoUnless you like your steam accelerated on your Nvidia card. Granted, this was ~9 months ago, would be pleased if this changed in the mean time.
- ageofwant 6y agoAnd sway does not do Nvidia.
- solarkraft 6y agoWhile I think the decision is unfortunate this might help understanding it: https://drewdevault.com/2017/10/26/Fuck-you-nvidia.html https://drewdevault.com/2017/10/26/Fuck-you-nvidia.html
- ageofwant 6y agoOh I'm a born again disciple of the Church of 'Fuck you Nvidia', brother. But no miracle has changed my 1.5k card into a AMD, yet.
- gkbrk 6y agoSway works with any GPU that implements the proper API on Linux. Nvidia has a bad case of NIH syndrome and does their own thing independent from other GPU manufacturers. So it would be more accurate to say Nvidia does not do sway.
- ageofwant 6y agoYes, that's true. But something worth noting for chumps, like me, that gave good money to Nvidia in good faith.
- DyslexicAtheist 6y agoI boot straight into the console and then have a setup where I either run startx or start_sway. I love i3 and it was my first experience with tiling WM years ago. It is absolutely a radical break for me from all other WM's since tiling allows me to work in deep focus many desktops, 1 desktop per activity/task and my focus always on one thing not many. Also wanting not to miss out on the future I moved to sway in parallel. I am literally in sway 90% of the time. The only difference is if I have to use video / webRTC screensharing or similar (usually in the browser), in which case sway will not work. This is why I maintain a dual system of both i3/sway. Also I trust i3 to be more stable for when I am standing in front of a crowd or have to connect my system to a variety of different external beamers, monitors etc. It sounds nuts to "maintain" 2 WM's but my configuration and workflow never deviates no matter which system I use even across upgrades of i3/sway. When I plug in a new freshly installed machine I just fetch my dotfiles and have both i3/sway in exactly the same way as I'm used to ... It's incredibly easy keeping both around if one has to (or wants to). Bonus of sway is also that it has gaps support (which is cool on bigger screens, less important on laptops). edit: both sway / i3 gave me no problems at all running them under restrictive environments such as LD_PRELOAD=libhardened_malloc.so (from GrapheneOS) and also work with under firejail without problems. I'll stop since it's anyway clear I am a big fan of both :)
- Arnavion 6y ago>The only difference is if I have to use video / webRTC screensharing or similar (usually in the browser), in which case sway will not work. Screensharing under sway works fine with firefox and chromium through xdpw.
- DyslexicAtheist 6y agothanks for the pointer, haven't tried this yet. cool!
- grep_name 6y ago> I boot straight into the console and then have a setup where I either run startx or start_sway Interesting, I do the same thing but just use startx. I find it hard to find convincing reasons to move from X apart from it 'being dead,' which isn't very convincing to me. What benefits to you get from sway in your setup? Is it compatible with things like ssh X forwarding?
- jeromenerf 6y agoSway is nice. Mostly a better i3, with great mouse support, easy multiple keyboard config, some aesthetic features, ... even the small tools around like swayidle, swaylock are fine. The most difficult part was to find a good wayland terminal and I recommend “foot”, https://codeberg.org/dnkl/foot https://codeberg.org/dnkl/foot
- SubGenius 6y agoi3 along with a few floating terminals with hotkeys is a dream setup for me. I have hotkeys for Guake, Terminator and Tilda and they position differently. I use the i3 scratchpad a lot too. My current dev machine has been running ArchLinux + i3-gaps for a couple of years now. Very solid, and not a single update screwup so far.
- whimsica1 6y agoWhy do you need so many drop-down terms? iirc Terminator/Guaka supports either multiple drop-down or tabbed mode in drop-down right?
- RMPR 6y agoI usually keep Emacs opened on one general-purpose org file in the scratchpad, if I want to take a quick note or whatever. Works like a charm
- noodlesUK 6y agoI love i3 (though would switch to sway in a heartbeat if they sorted hidpi and xwayland together). Its only major flaw in my mind is that you will never be able to use someone else’s computer without feeling a seething frustration that it isn’t running i3 with your config...
- RMPR 6y ago> you will never be able to use someone else’s computer without feeling a seething frustration that it isn’t running i3 with your config... That's why I try my best to cope with the defaults and change when absolutely necessary. It spares a lot of frustration when you use another config since you can always go vanilla. Edit: quoting
- solarkraft 6y ago> Though would switch to sway in a heartbeat if they sorted hidpi and xwayland together Do you mean that XWayland doesn't support HiDPI yet? I'm told it's coming ... some day (in a few months). Meanwhile even Chromium got Wayland support so the last laggards on my machine are the JetBrains IDEs.
- gspr 6y ago> Do you mean that XWayland doesn't support HiDPI yet? Correct. Emacs is my last regularly-in-use X program under Sway, and my god does it look horrid on a large HiDPI screen :-( > I'm told it's coming ... some day (in a few months). I remember reading that it's complicated and extremely un-sexy (because it's essential X work).
- theelous3 6y agoI'll never understand why every dev doesn't use tiling wms. Such a free productivity and happiness win.
- im3w1l 6y agoI used to use a tiling wm but now that everything supports dragging windows into a side of the screen to make them take up half the screen, I find that my main usecase of tiling wm's: side-by-side windows, is handled well enough that I don't want to put up with the occasional annoyances. The main pain point of stock ubuntu gnome for me right now is that when I open too many windows, my alt-tab becomes too cluttered, and it would be cool if there was a way to designate windows as background somehow (but not different workspace, I don't like workspaces), so that it would not show up in alt-tab. Ideally I would be able to have like 40 open windows of which just a handful are "active". EDIT: The side bar could be used for bringing up windows if it didn't combine windows from the same program into one icon - a feature I absolutely loathe - seriously, I have a lot of empty screen real estate but instead you want to hide my windows behind a second click?
- RMPR 6y agoYou might be interested by this Gnome extension http://gfxmonk.net/shellshape/ http://gfxmonk.net/shellshape/
- im3w1l 6y agoSo this made me look into extensions more generally, and I ended up getting dash-to-panel which solves my grouping issue!
- globuous 6y agoyeah, alt tab with many windows is a pain, but I've gotten use to just pressing alt tab, hovering my mouse over an app and releasing alt tab, I don't recall having to click. It's been great !
- fileeditview 6y ago
- bartvk 6y agoIf you really dig tiling window managers but you're running on macOS, check out Amethyst. https://github.com/ianyh/Amethyst https://github.com/ianyh/Amethyst
- firloop 6y agoyabai is another option worth considering as well https://github.com/koekeishiya/yabai https://github.com/koekeishiya/yabai
- zabil 6y ago+1 to the Amethyst and the Xmonad style tiling with where the focus is on a main area and there are options to switch windows to main aread and cycle layouts.
- cmauniada 6y agoIf anyone’s looking to replicate this on OSX, check out yabai[0]. I have also been using skhrdc (same maintainer I believe) for key bindings and it’s an absolute blast. [0]: https://github.com/koekeishiya/yabai https://github.com/koekeishiya/yabai
- kache_ 6y agoI used i3wm for years at a previous job, and my new job's policy is Mac OS only (everyone has a price). I use yabai as a replacement but it really is a hack. It works great, and I much prefer it over the suboptimal window management shortcuts/techniques that macos provides. However, it is much slower than i3wm, which is a lot more native than yabai which is a scripting layer over window management. I really wish MacOS would just open up.
- cmauniada 6y agoSame here. What are the specs on your machine? I realized that yabai ran like crap on my older macbook retina 15" but on my current macbook 16" it works great. Same amount of ram 16gb but a better graphics chip.
- Viruptc 6y agohttps://regolith-linux.org https://regolith-linux.org for Ubuntu based on i3 is fantastic
- RMPR 6y agoIn the same vein Fedora has a SIG for i3[0] and Manjaro[1] had it for a long time 0: https://docs.fedoraproject.org/en-US/i3/ https://docs.fedoraproject.org/en-US/i3/ 1: https://manjaro.org/downloads/community/i3/ https://manjaro.org/downloads/community/i3/
- clarkevans 6y agoFor those that wish to have access with the control panel and other standard Gnome features under Ubuntu, Regolith is a godsend. It solves integration challenges in a smooth way without detracting from i3's strengths.
- deleted 6y ago[deleted]
- new23d 6y ago> Implement multi-monitor correctly, that is by assigning each workspace to a virtual screen. Especially make sure that attaching and detaching new monitors like video projectors works during operation and does the right thing. Also provide support for rotated monitors. My wishlist would be to have this go further and be aware of inter-monitor, relative positioning as well. For example, I use the ⊢ layout (one rotated monitor on the left, one straight monitor right in front) and it's usually an unsatisfactory experience tiling windows for productivity. Things I do on the vertically oriented monitor on the left are mostly reading documents or watching logs.
- chrismorgan 6y agoWhat you’re asking for feels like the antithesis of each workspace being assigned to a virtual screen, which says “these are physically disjoint spaces”. You seem to be seeking a move command that’s willing to violate this abstraction, penetrating workspace boundaries. (Or if not, I’m not sure what you could mean; floating windows are the only other case I can think of that could be affected in any way.) The only principled way I can see it working would be if you defined another nesting level above workspaces, so that screens were rigid splits on the greater part. This could probably work, but it doesn’t feel right to me. Certainly I never had the slightest desire for anything like this when I used two or mostly three monitors. I treated one as primary working space, one as secondary (mostly for communications), and one for things I might want to keep an eye on in the background from time to time. Occasionally I’d want to switch a window between the first two screens, but I would always want to use a workspace-shifting command for that; never (not once) would I have desired a move command. Very seldom indeed would windows shift to or from the third screen—they’d start there, live out their neglected lives there, and perish there at my pleasure. I’m interested to hear what you have in mind.
- new23d 6y agoYour assessment is accurate. I have realised I may be asking for something that is indeed the _antithesis_ for this project. For me though, the two monitors are just one screen which I should have total flexibility over. And workspaces are a way to switch context -- to a different set of tasks. The ⊢ shaped arrangement is the result of a tendency towards more squarish (than wide-screen) canvas. I still manage to find 16:10s (as opposed to 16:9s) in that vain.
- eeskildsen 6y agoOne 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 mode - Open a window for coding - Open a browser to search for some coding question. It opens in a new i3 tab, filling the screen like it would in a non-tiling WM - Open a terminal to try the sample code (new i3 tab) - Google the error message you get (new i3 tab) - Use rofi to search for "code" and press Enter. Your coding window tab is activated and the coding window fills the screen - Realizing the sample code you found would be useful here, along with the test terminal, tile those windows alongside your coding window. Now you can quickly refer to them and switch between them with spatial keybindings - Switch back to the error message browser using rofi to check something. It's not part of your core workflow right now, so don't worry about tiling it That's probably obvious to anyone who's used a tiling WM for any length of time, but tiling was daunting to me until it clicked. I spent too much time thinking about optimal window arrangements. Thinking of tiling as an optional finishing touch rather than a focal point made it much more useful/practical.
- adkadskhj 6y agoI completely agree about "spacial memory" - i use my non-i3 WM in the same way.. but i'm not a fan of tiling in most cases. Does i3 still have tools i might find useful? To further illustrate: I primarily have an open Terminal+Tmux for editing on my main monitor. On my side, i have spacial but overlapping windows. They stick out a bit, such that it's primarily four tabs - left,up,right,down. For example my Slack is on the left tab, and i can always see my contact list, people typing to me, etc. My Browser is usually on the Up tab, as it allows me to see the browsers tabs themselves. I do the same with Zoom on the bottom, such that my Mic (mute/unmute) is always visible. And etc. This arrangement perhaps isn't ideal, but it's better than a tile for me because in a tile, i lose so much real-estate that the window becomes near useless. I can't shrink Slack to 1/4 of my Monitor, it's got too many boarders/etc. Same goes for my Browser, most sites have non-collapsing sidebars and etc, a tiny 1/4 window is useless. This method of spacial layout obscures ~90% of my windows but leaves some of it always visible. In some cases that's very useful. But this is something i manage through the day, and a WM to automate this positioning would be amazing.
- nomoreusernames 6y agobeen using this since forever and gawd it makes me happy to use. any os i have i just install a vm and stick this on and im back to my tiling childhood.
- bitigchi 6y agoProbably an unpopular opinion here, but I do not understand why people prefer tiling window managers. I prefer to have lots of windows open, and being able to position them how I want with the size I want greatly increases my productivity. Tiling window managers makes you conform to their way of working.
- RMPR 6y agoImho the main advantage is the keyboard focused navigation Edit: it is also lightweight, with proper power management (think TLP/Powertop) you can vastly improve your battery life.
- dbrgn 6y agoMost if not all tiling window managers allow you to do that by switching to a floating mode.
- johannes1234321 6y agoThat i3 has a floating mode is good, however it's not a good floating mode for a floating-based workflow.
- nix23 6y ago>however it's not a good floating mode for a floating-based workflow. It's made for "tilling incompatible" applications or stuff you want always on top, it's not made for a floating workflow.
- mgreenleaf 6y agoFor some people, that _is_ their way of working, and it works very well for them. I think it is mainly the quick access with a regular, predictable arrangement completely driven by the keyboard. Low resource usage is a bonus. It is like having some of the benefits of the CLI but in graphical form.
- bitwize 6y agoSome people are more productive if they don't have to think about positioning, sizing, and switching between a bunch of overlapping windows. Tiling WMs generally let you set up and save a configuration so that all your programs always open in the same place.
- montebicyclelo 6y agoI switched to i3 a while ago, and haven't looked back since. Standard drag-based GUIs now seem clumsy and frustrating.
- lhoff 6y agoHint for Windows users that also want to have something like that: That closest you can probably get to that is with Powertoys FancyZones. Its not exactly a tiling windows manager but its close enough. https://github.com/microsoft/PowerToys/wiki/FancyZones-Overview https://github.com/microsoft/PowerToys/wiki/FancyZones-Overv...
- mtrycz2 6y agoOn Windows10 you get multiple desktops (all monitors are bound tho), and you can snap windows to left or right half of the screen (this is resizable), or alternatively to the four corners. It's no i3, but it covers a lot of usecases when I'm not on my linux box.
- Miner49er 6y agoI think I've tried almost all the "tiling windows manager" tools for Windows there is. The best I've found, for me anyway, is PyleWm: https://github.com/GGLucas/PyleWM https://github.com/GGLucas/PyleWM I use sway on Linux.
- jwr 6y agoi3 is great and makes Linux usable for me. Some people have asked here why people prefer tiling window managers. I don't — I'd much rather be able to position windows as I want them on the screen. But for some inexplicable reason the world has decided that computers can't be tasked with REMEMBERING where our windows were. This is particularly egregious on Linux, where every time you open an app (or the app opens a window), the first thing you have to do is resize the window. Given this failure (I still have no idea why we think our computers can't handle remembering where windows should be), it's better to have a tiling window manager, because at least one doesn't have to hunt for the window borders (which, in another failure of common sense, are becoming thinner and smaller every year) and resize the windows.
- veddox 6y agoI love the concept of tiling WMs, and wish mainstream WMs would adopt more of their features. But quite frankly, I just find all the tiling WMs I know just horribly ugly... (And I'm not quite sure why, but that is actually one of the biggest reasons why I don't use them anymore.)
- diffeomorphism 6y agoWhat do you even see of a tiling wm? They don't have window decorations, you can use any panel, so the "look" is a blank screen.
- jeromenerf 6y agoI3 actually has decorations, with a title bar and borders. Still it retains the pretty utilitarian aesthetics common to most twm. I don’t mind it but some might prefer gui to terms, docks to panels, desktop icons, wallpaper and widgets to a dense grid of windows. My wife tends to “shake” the windows she is unhappy with. The zoom client app mostly. I would not fare to suggest non shakable UI.
- sam_lowry_ 6y agoHow do you manage to see them? They are supposed to be mostly invisible. A thin border around windows? A status bar, eventually... and that s it.
- nix23 6y agoUgly? What do you mean with that? Sway on openSuse is quiet nice composed.
- veddox 6y agoSpecifically I meant the pixel-blue window borders on i3, coupled with the extremely bare-bones status bar. (Does it even allow for systray icons? That would be rather important for me.) Sway looks somewhat better, but I've been told it's still somewhat flaky.
- tazeg95 6y agoI switched to i3 from gnome. Now I don't waste time to resize, move, close, reduce windows with the mouse. Just learn a few keyboard shortcuts to do this, that you can set as you want. Moreover I was frustated about applets in the status bar, so I did it myself and it's easy with some bash and pyton : https://en.jeffprod.com/blog/2020/create-your-own-i3-sway-status-bar/ https://en.jeffprod.com/blog/2020/create-your-own-i3-sway-st...
- gradstudent 6y agoDo your keyboard media keys work? One of the biggest gripes I had with i3 is things like volume, brightness, mute and so on. It's possible to configure everything to work again of course, but very painful. Other system related things that exist in gnome (wifi, bluetooth, sound, microphone) are also a pain to do without. Again, lots of tinkering needed to get things working anew.
- tazeg95 6y agoMy keyboard volume keys up and down are working. But I did nothing about this in i3. I think this is related to the system. About my status bar when I click on the volume, I open "alsamixer" in a terminal. I also have, wifi, network, dropbox as tray icons. Wifi and Lan icons come from the package networkmanager.
- jeromenerf 6y agoYou can run gnome settings daemon “behind” i3 with i3-gnome and regolith. It will handle the media keys, locking, auto mount etc.
- marcus_holmes 6y agoI had to fix this - and fix VLC taking over my media keys if it ever started. I didn't find it too painful, but it's definitely annoying that I had to work this out myself.
- bjakubski 6y agoJust wanted to touch on media keys. I've recently discovered playerctl and that media players expose standard dbus interface for playerctl to use. In (bare) i3 I bind XF86AudioPlay to "exec playerctl play-pause" (etc.) and it seems to "just work", with spotify client, youtube, youtube music (both in firefox)
- stfwn 6y agoI 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 used AMD graphics cards. I built a desktop computer that outperformed the top of the line Mac Pro for a fraction of the cost and turned it into a Hackintosh. Two weeks later Mojave came out, and Apple never approved any Nvidia drivers from then on. My eyes opened to Linux and i3 in particular, which looked like Magnet taken to the extreme. What had taken me hours to install and configure on macOS (GPU-acceleration for PyTorch, for example) just worked with one package install on Linux. All my expensive apps were replaced with simple and free, much more configurable alternatives. At first I spent a day or two getting things just right. Since then not much has changed because not much needed changing, which I really like. Now I look at macOS and iOS and cringe how locked down it all is. Users are very creative in their workarounds to make it work, but it is ultimately quite silly that you need to use special URL schemes and workflows to open a text file across different apps. Thanks, i3!
- pimeys 6y agoAlmost like reading my story... I used to be all in on Apple, using their iMac G4 and later on the Intel iMacs at home, but needed a beefier machine. So when I started in a new job, instead of getting a macBook, I asked the company IT to build me a workstation (and been asking for it from the companies I worked for after that). Installed Arch Linux and i3 to it, and never looked back. Did run Linux and i3 in the macs I owned for a while, until I built myself a home desktop and replaced my laptop with a ThinkPad, all running Arch Linux and either i3 or sway as a window manager. This is the end game for me. Emacs, Alacritty and Firefox with a rolling release distribution. The same configuration with even the same wallpaper for the past 10 years that follows me from Gitlab. Thanks, i3 and sway!
- francis-io 6y agoThis is kind of my story too. I stick with ubuntu LTS just for an added level of confidence things are compatible, but Arch might be a good idea to look into. The arch packages are a big plus. Do you find many compatibility issues?
- RMPR 6y agoFor the Gnome users interested in tiling, Material Shell[0] seems very promising 0: https://github.com/material-shell/material-shell https://github.com/material-shell/material-shell
- flurdy 6y agoPop Shell is also great [1]. I use it with PopOS but you can use the tiling Shell with other distros, Manjaro etc. 1: https://github.com/pop-os/shell https://github.com/pop-os/shell
- ohlookabird 6y agoI have been using i3 now for many years now and like it a lot. Thank you developers! It's easy to configure and well documented, plus there are many nice extensions (like status bars). With tiling window managers, for me it really is the predictability of where things are (e.g. emails are always on desktop 2 for me, browser on 1, etc.), keyboard navigation and the ability to configure all window related things in a single place / config file. Not requiring to think much about how to organize windows to quickly have a useful view lowers the cognitive load for me (possibly not a problem for others). It also allows me to quickly build pseudo-IDEs, e.g. have a left pane with vim to edit a latex file while having a split pane on the right where in the top terminal I'd call "lualatex <file>" and have the evince/zathura output of the file visible below and live-update. Some random config details I use all the time: # Lock screen with Ctrl+meta x, have background image bindsym Control+$mod+x exec i3lock -i <path/to/image> # Show a floating calc terminal with Mod+c for_window [instance="termite" title="My Calculator"] floating enable bindsym $mod+c exec termite -t "My Calculator" -e calc # Show a floating units terminal with Mod+u for_window [instance="termite" title="My Units"] floating enable bindsym $mod+u exec termite -t "My Units" -e units # Allow quick back and forth (First Meta+Workspace-ID goes there, second goes back) workspace_auto_back_and_forth yes # Use rofi to launch programs and find windows bindsym $mod+d exec --no-startup-id i3-dmenu-desktop --dmenu='rofi -i -show run -dmenu' bindsym $mod+o exec --no-startup-id i3-dmenu-desktop --dmenu='rofi -i -show window' # switch between the current and the previously focused workspace bindsym $mod+b workspace back_and_forth bindsym $mod+Tab workspace back_and_forth # invert the screen with Mod+i bindsym $mod+i exec xrandr-invert-colors # toggle tiling / floating for window with Mod + Shift + Space bindsym $mod+Shift+space floating toggle # rename workspaces with Mod+t bindsym $mod+t exec i3-input -F 'rename workspace to %s' -P ' New name: ' -f '-*-*-*-*-*-*-28-*-*-*-*-*-*-*' # Gnome settings daemon helps us with keyrings and GTK themes exec --no-startup-id /usr/lib/gnome-settings-daemon/gnome-settings-daemon # calendar with Mod+p bindsym $mod+p workspace calendar; exec termite -e 'ikhal # Make the currently focused window a scratchpad (a hidden floating desktop) with Mod+Shift+Minus bindsym $mod+Shift+minus move scratchpad # Show the first scratchpad window (on any desktop show the first floating hidden window) with Mod+Minus # Normally there is a floating terminal with vimwiki in the scratchpad bindsym $mod+minus scratchpad show
- andy_threos_io 6y agoWith emacs split screen, elscreen, winner mode, you have tiling windows without os modification.
- majewsky 6y agoCan I put Firefox windows in it? LibreOffice Calc? Minecraft?
- diffeomorphism 6y agoYes.
- andy_threos_io 6y agoyeap. https://www.youtube.com/watch?v=MquoGuU8sHM&t=11m0s https://www.youtube.com/watch?v=MquoGuU8sHM&t=11m0s
- miguelmota 6y agoi3 is a great gateway drug into the tiling window manager world since it works well out of the box. I migrated from i3 to bspwm which is more configurable and prefer the fibonacci style partitioning. Bspwm also decouples window configuration from the hotkey daemon basically following the unix philosophy better. The ultimate trio for me is bspwm + sxhkd + polybar.
- beshrkayali 6y agoOne thing I noticed after switching from gnome (and osx) to i3 ~6 years ago is that I never felt the need for a second display since then. It's pretty satisfying to know that you're efficiently using every piece of your screen.
- sto_hristo 6y agoUsed i3 fulltime for more than a year. It's great for building extremely lightweight environments that will run on any machine. The productivity side of it is slightly exaggerated (in terms of tiling vs stacking manager), and i didn't find myself saving so much time. One thing i've always missed from the stacking manager is the window overlap - i do that quite often, especially when reading something while doing stuff on another window - most sites have side panels that don't react well to changing window sizes and with stacking window, you can just place them optimally and hide the stuff you don't want to see. The only issue i've had with it is how it handled popups. For example the andoid emulator window was a pain, also some dialog windows. I don't think i will be ever coming back to tiling WMs. It was nice infatuation.
- marcus_holmes 6y agoI use i3 and the productivity for coding-type tasks is great. Fiddling with my i3 config and i3bar is a favourite procrastination, and I can genuinely say it's changed the way I use my computer. But Zoom is a nightmare. It's clearly only designed to work with conventional windows. It opens new windows a lot, and each time it does that, i3 grabs the new window and puts it in whatever workspace my mouse is currently at. I'm constantly shifting Zoom windows between fullscreen and normal mode, and switching workspaces for them. Starting a breakout session immediately kills everything and I have to start moving everything around again. I get that Zoom isn't optimising their application for Linux, and especially not for i3. Fair enough, I'm in a tiny market segment here. But it's annoying enough that I want to warn people who want to try i3 that (no fault of i3) some applications really don't work well with it.
- 9HZZRfNlpR 6y agoYou can force these zoom windows by name / class / title to always open in specific workspace if it makes your life any easier. I haven't used zoom myself so difficult to tell.
- chrismorgan 6y agoA couple of possibilities for Zoom: • You could make Zoom windows float by default in your i3 config. I seem to recall there was some app I did that with on my old laptop where I used i3. • Judging by Windows behaviour (which may or may not be the same), it’s Zoom’s fullscreen mode that’s the real problem, most readily triggered by screen sharing. Settings → Share Screen → Window size when screen sharing lets you change it so that this doesn’t throw it into fullscreen mode. This may well improve things. (I know the fullscreen mode when sharing is awful on Windows, given that I’m doing that multiple times a day at present I’ve been meaning to write some AutoHotkey to open the desired things and lay my screen out the way I want it, rather than wasting ten or twenty seconds each time. On i3 I would have done the equivalent of this long ago.)
- kohlerm 6y agoi3 is amazing. Stable, consistent, fast, well designed.
- kesor 6y agoTried it, moved to dwm and never looked back.
- zarkov99 6y agoI love i3 and I have used it every day for years. Having just gotten a Mac though I have to say I miss the animations specially when changing workspaces. It's easy to get lost in i3 without them.
- ajbonkoski 6y agoI've used i3 for years. It's an absolute love affair. I used Xmonad and awesomewm before. I don't understand enough Haskell to configure Xmonad and awesomewm is a giant dependency mess (the irony being that it's a fork of dwm , the minimalist suckless wm) Anyways: i3 has struck the perfect balance for me. Written in C, easy to modify, configuration is intuitive and obvious (I have no interest in spending weeks learning how to configure it), and best of all super stable and bug free. Highly recommended! I started using WSL2 on my windows machines just to run i3 on windows. That works too! (Basically you vnc to WSL to get i3)
- patwolf 6y agoI've been using i3 exclusively for about 5 years. I pretty much only use a single tabbed-mode window because I prefer my apps to take up the whole screen. I also use workspaces to keep things organized (browser in one, IDE in another), and guake/kitti3 to quickly bring down a terminal whenever I need it. Screenshots typically show terminals and video players and IDEs all neatly arranged in tiny squares, but I've never found that type of arrangement productive.
- xwdv 6y agoIf you prefer less bloat than i3 I suggest dwm. I use it full time.
- __s 6y agoSee also https://swaywm.org https://swaywm.org which seeks to implement i3 for wayland > Sway is a tiling Wayland compositor and a drop-in replacement for the i3 window manager for X11. It works with your existing i3 configuration and supports most of i3's features, plus a few extras.
- cycomanic 6y agoI second sway! I have switched full-time from i3 sometime last year and haven't looked back. In my experience it's even more performant than i3 wayland has largely been a boon, except some odd programs that don't work even under x wayland (currently that's obs and meet.jit.si and zoom screen sharing) The only thing one needs to do is configure environment variables to start qt and gtk apps in wayland mode.
- wenngle 6y agoobs is a qt app. If you start it with -platform xcb it overrides the environment variable set to use wayland and uses x instead. It works fine for me with that change.
- cycomanic 6y agoYes, that's what I've been doing. However, somehow screen-recording and video overlays don't seem to work (I don't use it enough to really chase down what's going on).
- leshow 6y agoi3 is one of the reason I could never run macOS. It's so ingrained in my workflow... I even wrote custom firmware for my keyboard (built off QMK) that has keybindings specifically for use with i3.
- heipei 6y agoI somehow never warmed up to automatically tiling window managers, so I've been using notion (successor to ion3), a manual tiling / tabbing WM, for the past few years. For me this is peak productivity. I am on a MacBook Air on the go, but I wish I could get a tiling WM with focus-follows-mouse on that. Or, you know, Linux running on the MacBook Air M1 ;)
- MarcScott 6y agoI've been on I3 with nixOS (and emacs as my go to editor) for a few years now, and it's a dream. I can carry my configurations between machines with almost no setup. Every computer I use is the same. I find Windows and macOS painful to use. Constantly hunting around for applications I have open, that requires me to remove my fingers from my keyboard and play around with my mouse. I barely bother to use tabs for anything (terminal or browser), just switch to another workspace and pop up another instance of FireFox or a terminal. TWM do ruin you though. Once you're comfortable in them, you'll never want to go back and so using somebody else's computer just feels alien.
- ravi-delia 6y agoI have to wonder if its even worth it sometime. Not really, I feel comfortable on my setup, but it really is impossible to use other people's computer now. Kinda like the Thinkpad mouse nipple.
- siraben 6y agoOoh, another NixOS user! I'm curious about your setup; Do you use the same NixOS configuration across machines? Do you use i3 with another desktop environment or by itself?
- MarcScott 6y agoSame configuration across different machines (apart from hardware.nix). I have a configuration.nix, networking.nix and packages.nix that pretty much covers everything. Then there's my .emacs, bashrc and my i3/config files. There's probably a way to get those last three into my NixOS config, but I haven't really investigated that. I only use i3. Haven't found a reason to install another WM yet. I tend to use xrandr, pavucontrol and wpa_supplicant quite happily for most of the stuff people use a GUI WM for.
- onlydnaq 6y ago> There’s probably a way to get those last three into my NixOS config There is, it’s called home-manager [1] and it’s a pretty nice way to manage your config files and user packages even if you’re not on a NixOS system. [1]. https://github.com/nix-community/home-manager https://github.com/nix-community/home-manager
- hibbelig 6y agoI used to love tiling, but now I use lots of applications that are heavy-weight and graphical, and it seems more fitting to arrange the windows in such a way that strategic corners "peek out" behind the front-most application. For example, I run my IDE in full screen and the console/log is in the bottom part of the window. My browser partially covers the IDE by occupying the right 75% of the screen. Then I can follow the console/log of the IDE. Even though only the beginning of each line is visible, that's enough to tell me when it is time to switch back to the IDE. If I were to make the IDE window smaller, the console/log portion of it would be too tiny to see anything. If the text editor has no side bars (such as a directory tree), then it makes sense to have a full-height text editor on the left and maybe to half-height terminals on the right. But then I think that maybe some IDEs allow to pop out the console/log piece into a separate window, and perhaps that could work nicely with a tiling arrangement. I haven't tried. Thoughts?
- napsterbr 6y ago> Thoughts? Looks like a side monitor will work wonders for you. I have a setup with 3 monitors: My main 4k monitor is used for coding only. I can have 5 open buffers, side by side, with close to 120 lines being displayed in each one of them. I have a side monitor open with a terminal which shows me the logs of the running application, plus I can easily type any additional command there. On the other monitor I have the browser open, usually with the documentation or stack overflow tab. When I'm doing web development I have one monitor for the web app and another one for devtools. It's amazing. No more fighting with screen space. I highly recommend it.
- adkadskhj 6y agoIt's funny, i have three monitors and i still do what the GP mentioned. My side monitor is almost entirely a bunch of large-designed (aka big gutters/etc) GUI focused applications. Slack, etc. And i arrange the "peek outs" (as GP called them) by what makes sense to see about that window all the time. It works out really, really well and i'm super interested in finding a way to make that work with i3.
- __jem 6y ago
- wing-_-nuts 6y agoI used i3 for a while when unity had a really annoying multi-touch bug I could not work around. The thing is? I never used much more than a simple L/R split that was available in any OS / WM forever. If I wanted to split more, it was usually in the terminal, and done via tmux or the term app. Add to this, a full desktop environment will handle all sorts of things for you like brightness, volume controls, proper locking on sleep, a easily configurable toolbar, hot plugging an external display, etc. i3 handles none of these! It's left up to the user to google around and find a brightness command that actually works, or why pauctrl is muted on startup, or why the lock screen only locks on resume, not sleep, thus flashing your screen. It's death by a thousand cuts. I know i3 is a window manager, and it's 'not it's job' to handle this stuff, supposedly, but why could they not add the most common way people control brightness, volume, etc to the default config, and let people swap it all out if they wanted? It's a really frustrating experience. For myself, I've went back to gnome. If someday I get a really massive display that benefits from complex tiling, I'll revisit i3, but I'll probably wind up using that awesome material shell for gnome and calling it a day. https://old.reddit.com/r/unixporn/comments/c8le62/gnome_materialshell_beta/ https://old.reddit.com/r/unixporn/comments/c8le62/gnome_mate...
- dahfizz 6y agoFor a while, KDE supported using i3 as the window manager. So you got the whole "plasma desktop" for things like volume controls and locking, etc but then you get i3 for managing windows. That's the beauty of software with a focused scope. I haven't tried to set it up in a while, I'm sure you could get the same setup running with sway under wayland with some effort.
- hiq 6y agoThe easy answer to your second point and some integrated experience is the unix philosophy of 'do one thing but do it right'. I was also frustrated at the beginning, but I dealt with it and now I have i3 mappings to do most of what I used to do through GUIs. I can also do much more through scripting because I know which commands to use to handle clipboard, screens, etc. If you use your computer once a week to check your emails I understand that it's just a waste of time. If you do more, long-term investments such as these might be worth it. Now I agree that a more integrated experience out of the box would make the learning curve more gentle. Some have mentioned Regolith, it looks like it would be better for you than plain i3 (I haven't tried it personally so I can't judge): https://regolith-linux.org/ https://regolith-linux.org/
- jsilence 6y agoFor those wanting to try this without building a sane config from scratch regolith might be a nice option. Very easy install on Ubuntii, well thought out and built-in cheat sheet. https://regolith-linux.org/ https://regolith-linux.org/
- dugmartin 6y agoI've been using regolith for a year or so now on both my work laptop (Dell XPS 13) and personal dev box (System 76 Meerkat) hooked to the same 44" TV monitor. Overall it has been a good experience. Once you get muscle memory for the shortcuts to move between windows and workspaces, resize and toggle fullscreen windows you can start really flying. The built-in cheatsheet mentioned by the parent poster helps to get there. Bonus: when I'm sharing my desktop with a work colleague (they all use Macs) I often get asked how I'm doing what I'm doing so fast. I do sometimes still get a little frustrated when I want to reorder windows in a workspace. It can be done but feels a bit like solving a Rubik's Cube. It would be nice to be able to do things like: 1. Rotate the windows (either direction) that touch all the screen edges and then inherit the window size that the window moves into. 2. Be able to flip window sets that touch the side edges, eg swap all the windows on the left with the right.
- jsilence 6y agoTotally agreeing on the reordeing windows topic. Usually I keep my windows fulls screen and only have two windows side by side when copying stuff. In addition to that I have a semi transparent terminal and emacs in a floating window that I can move to the scratchpad with a global hotkey. This is much alike the visor console in Quake. Terminal has tmux. Very handy for a quick ping or htop without messing up the main window layout. i3 config snippet for reference: # Visor terminal exec "st -c visor" bindsym $mod+a [class="visor"] scratchpad show for_window [class="visor"] move scratchpad; for_window [class="visor"] scratchpad show; for_window [class="visor"] floating enable; for_window [class="visor"] resize set width 100 ppt; for_window [class="visor"] sticky enable for_window [class="visor"] move position center; for_window [class="visor"] scratchpad show; # Visor style emacs window toggled by Meta+ "less than key" exec emacs -name emacs-server bindsym $mod+less [instance="emacs-server"] scratchpad show for_window [instance="emacs-server"] move scratchpad for_window [instance="emacs-server"] floating enable for_window [instance="emacs-server"] move position 450px 0px for_window [instance="emacs-server"] sticky enable for_window [instance="emacs-server"] scratchpad show for_window [instance="emacs-server"] resize set 950 1055 for_window [instance="emacs-server"] scratchpad show
- armoredkitten 6y agoI've been using i3 for about six months or so now, and the biggest thing I've realized is that Alt+Tab as a way to switch between windows is such a frustrating approach to window management. Once you have more than two windows I need to switch between, I am constantly losing track of which one is next in the queue. i3 (and other tiling managers) let you more easily navigate between windows by using their location. I can switch to the window to the left, or to the right, or use i3's tabbed interface to navigate windows similar to a browser, or switch between workspaces. But the point is, the windows are always in the same order, in the same location (unless I move them), so I find it so much easier to quickly switch between them.
- nicolapcweek94 6y agoI never really understood TWMs. They look incredibly pretty after heavy configuration, and I get the appeal of that, but for daily use my workflow - on two 27' 4k monitor - is to keep a window maximized on each and alt-tab through them when I need something else, which will replace one of the two maximized windows with its own. Occasionally I "tile" two windows side by side for comparisons etc, but that is disappearing now that one of my maximized windows is Emacs and the other is Vivaldi, both of which offer window splitting features for this use case. Does everyone using these WMs usually keep 3-4+ windows side by side on the same monitor? Don't you find it incredibly distracting?
- doublepg23 6y agoWhen I was using i3 I heavily took advantage of the robust Workspace feature. I would keep max three windows open, minus dialogs, and switch between Workspaces instead. Each Workspace would be organized into a given task like writing, browsing, or programming. Luckily this workflow migrates very easily to GNOME 3 and I’m quite happy with it there now. I learned this workflow from ChrisLAS of Jupiter Broadcasting (highly recommended their shows!)
- dijit 6y agoIt's a bit like vim. There is a learning curve but once you've got it you feel like you can't go back.
- p2t2p 6y agoRight now I have two columns. Wide, left with Idea and right with 3 terminals vertically. I can switch to any terminal with single key press, without needing to look for it among other windows when alt-tabbin. I also have multiple tags and on other tag I have a similar arrangement for another project that I keep an eye on. On second monitor I have 3 fullscreen apps on separate tags - zoom, slack and spotify and each one of them has a dedicated shortcut. When I was using mac, I had similar setup using snap and keyboard maestro, only I had to ctr-tab in iterm like crazy if I had several projects. Not anymore. Overall I feel that I manage all of it way less and have to go through way less stuff to find what I need.
- kule 6y agoThose that love using i3/tiling managers - what does your workflow look like? I used Amethyst https://github.com/ianyh/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 spaces to keep apps I was interested full screen and using the occasional split. I was just cmd/alt-tab'ing between apps most of the time. When I did have content in multiple windows it was then a faff to try and get the two windows I wanted in the same space. I didn't feel like I was making the most of it. I've since gone back to SizeUp https://www.irradiatedsoftware.com/sizeup/ https://www.irradiatedsoftware.com/sizeup/ and manually move windows to where I want them. I feel like I wasn't and perhaps I'm still not using it as effectively as I could though hence the question.
- siraben 6y agoi3 has a great feature I use all the time--tabs. I don't use a lot of workspaces since that leads me to context-switch too much, but when I want everything visible on a single workspace, I use tabs. You can also select the parent group and move them around workspaces or displays as a single unit.
- vidarh 6y agoI 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.
- siraben 6y agoI've used i3 for several years[0], and it's one of my favorite window managers out there. I had a couple of failed attempts on Debian/Ubuntu but NixOS made it so easy to switch to i3 and use XFCE as the desktop environment, which is great when you want to use i3 but not worry about setting sleep settings/keybindings for volume and display, etc., so I recommend i3+xfce for anyone wanting to give i3 a try without investing too much time configuring. Also, i3/Sway handles external displays well, better than macOS IMO. When a display is disconnected, macOS merges the windows into the laptop display, but on tiling window managers they just stay in the same workspace number, which can be switched to on the laptop display, this is much more predictable and simpler. [0] I switched to Sway recently, the main reason being is that when you have an external display with a different DPI than your laptop display (which in my case is a HiDPI Retina Display), it's quite hacky to get it work under X, but it works flawlessly in Wayland. See my user config[1] for more, let me know of any questions regarding program compatibility under Wayland. The configuration syntax is essentially compatible with i3 as well. [1] https://github.com/siraben/dotfiles/blob/master/home-manager/.config/nixpkgs/home.nix https://github.com/siraben/dotfiles/blob/master/home-manager...
- activitypea 6y agoany tips on getting i3 and xfce to work together?
- siraben 6y agoFor NixOS it's just a matter of adding the following to your system configuration, I'm not sure about other distros. services.xserver = { enable = true; desktopManager = { default = "xfce"; xterm.enable = false; xfce = { enable = true; noDesktop = true; enableXfwm = false; }; }; windowManager.i3.enable = true; displayManager.defaultSession = "xfce+i3"; };
- skshetry 6y agoThis guide[1] is pretty extensive, a bit old but still works. [1] https://feeblenerd.blogspot.com/2015/11/pretty-i3-with-xfce.html https://feeblenerd.blogspot.com/2015/11/pretty-i3-with-xfce....
- ericzawo 6y agoRectangle (the spiritual successor to Spectacle) is a great MacOS window manager. Highly recommended. https://github.com/rxhanson/Rectangle https://github.com/rxhanson/Rectangle
- kmstout 6y agoI've been an i3 user for a few years. (I discovered Ratpoison many moons ago and found the tiled approach an efficient way to use a laptop.) My configuration is nothing special, but here are a couple things I've found helpful: 1. Opacity follows the focus (see compton's "-i" option). If I look at a window and see my wallpaper showing through, I know that whatever I type won't be going there. 2. A generously sized terminal window lives in the scratchpad. Since I'm on a laptop, I sometimes find myself bouncing among workspaces fairly often--yet the same terminal is always a keystroke away. Also, not i3-specific, but having a key binding for opening a specific notes file in an editor ensures that I make notes much more often.
- virtualwhys 6y agoCold dead hands...i3 has been at the core of my computing experience for 7 or 8 years now. Once you i3, you iFree -- ha, ha, ha, long live Linux.
- vngzs 6y agoI love i3, but I dislike manually positioning windows. I much prefer dwm[0], which will do window arrangements for you. The tagging features are also much more robust than virtual desktops ("mail folders" vs "gmail tags" is a perfect analogy - you can assign multiple tags to a window, and display any arbitrary combination of tags on the screen at a time). That said, in spite of my alignments with dwm's ui principles, for the last five years I've almost exclusively used i3. Unlike dwm, I don't have to modify C code in order to configure my window manager, and I don't have to pull in patches that haven't been upstreamed[1] in order to include basic features. I think there's room for a window manager with the ease of configurability found in i3, but the dynamic tiling (i3 is _static tiling_, which means the wm will not assist you in positioning windows) and tagging features of dwm. I would move to it in a heartbeat. [0]: https://dwm.suckless.org/ https://dwm.suckless.org/ [1]: https://dwm.suckless.org/patches/ https://dwm.suckless.org/patches/
- birriel 6y agoFor 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/ 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 i3!
- orthecreedence 6y agoWant 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 https://github.com/greshake/i3status-rust
- birriel 6y agoThis looks really neat, love the powerline look.
- b0rsuk 6y agoI used to like KDE and dislike Gnome, but by the time I switched to i3 I realized I don't care about traditional window managers. I used a lot of console anyway. Why wait for windows and icons to appear? I want animations and decorations to get out of the way. If I'm playing, it's usually fullscreen. When I'm working, I want to use as much screen as possible. i3 sounded radical at first, but when was the last time an animation or decoration helped you? I mean there are some rare cases, but it needs to be helpful for me to leave it enabled. I now honestly believe mouse interfaces are overrated. They have their place in games and graphical applications. Anything that does NOT require precision is better done with a keyboard. The exception is websites. Mouse is used because it has very low learning curve and you can just click on stuff that interests you without thinking how to reach it.
- edejong 6y agoWell, I browse a lot of the web using my keyboard using either Vimium or Tridactyl. Together with i3, it feels like a totally different and pleasant experience.
- shakezula 6y agoAgreed, between vimium, Vim, and a window manager, I almost never have to actually touch my mouse. Keeps me in the zone a lot more.
- scaladev 6y agoExcept for all the JS-heavy crap which refuses to work properly with keyboard navigation plugins. It's obviously an excellent idea to use a styled <div/> instead of a <button/>. For example, Grafana is nearly unusable without a mouse: try configuring a chart and see how far you'll get. These interfaces must present enormous problems for users who rely on accessibility features.
- shakezula 6y agoOh for sure, I get insanely annoyed when I run across sites that have unnecessarily complicated JS for stuff as mundane as buttons, but cutting 90% of my mouse usage still makes my computer use a lot better.
- danans 6y agoI have one i3 desktop per git workspace. All terminals and artifacts associated with that git workspace stay on the associated desktop. The only exception are windows that need the entire screen, which get their own adjacent desktops. But for these I use the same desktop number always so it's easy to find. This way I spend almost no time searching for stuff in i3. Switching between desktops is like doing a full screen grouped alt-tab. So much faster. In fact I do this even in non i3 desktop environments, but i3 makes it a lot easier. However, I don't do things like email or document reading in i3, since I find that the less constrained traditional window environment is better for that. The other great thing about i3 is that it's is fast over remote desktop sessions, because the ui itself is so minimal.
- abetlen 6y agoMy 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 you're an i3 user here are a couple cool things to check out: - scratchpad [1]: Little known i3 feature. Let's you put individual windows in a scratch workspace and then pull them up quickly over your regular workspaces. Really useful docs and things like that, I keep my time tracker in a scratch workspace. - rofi [2]: This is a dmenu replacement with a nicer interface that lets you combine lists of commands in a single search window. I have it configured so I can search through my open windows by title or run any program from the same interface. [1]: https://i3wm.org/docs/userguide.html#_scratchpad https://i3wm.org/docs/userguide.html#_scratchpad [2]: https://github.com/davatorium/rofi https://github.com/davatorium/rofi
- resoluteteeth 6y ago> If you're an i3 user here are a couple cool things to check out: > - scratchpad [1]: Little known i3 feature. Let's you put individual windows in a scratch workspace and then pull them up quickly over your regular workspaces. Really useful docs and things like that, I keep my time tracker in a scratch workspace. Ah, this is nice. I used to use a similar feature with ion before I switched to i3 but I didn't realize that i3 had the same functionality built in.
- devenblake 6y agoThe 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 https://www.youtube.com/watch?v=8E8sUNHdzG8 [1]: https://github.com/devenblake/dotfiles/blob/main/src/dmenu/config.h https://github.com/devenblake/dotfiles/blob/main/src/dmenu/c...
- djsumdog 6y agoI've been using i3 since 2012 and I love it. I've tried several different tiling window managers over the years, but I keep coming back to i3. I love the way it works, the configuration file makes sense and it's so much better than having overlapping windows.
- intrepidhero 6y agoI really like i3 and use it as a daily driver. It was easy to learn, keeps my hands on the keyboard, and usually does what I want out of the box. Added benefit, just switch to a blank workspace and it's like you've locked your computer. Nobody knows how to use it! ;-)
- anthk 6y agoI consider tiling useless. Once I set FVWM with custom geometry styles for applications, everything is just muscle memory and no terminal application get skewed or borked on an ncurses redisplay. Inb4 "you waste ScrEen SpAcE", FVWM has a lovely pager and the tradition here is to not close any crap and put different work activities between pages, saving opening time. RAM issues? ZRAM handles that fine, and most of the time I don't even run X, just Tmux.
- asveikau 6y agoI have a setup where I use a tiling wm on a laptop, and a non tiling WM on a desktop. So the screen space issue gets addressed when I have a smaller sceeen.
- hgodil 6y agoI used i3 for a bit, but in the end I had to ditch it because I kept getting confused. I already use tmux (since everything I do is on a remote machine) and vim for panes, and even with just two I get mixed up on which system is owning the pane that I want to switch to. Adding in the third system of i3 was really nifty, but lead to a lot of broken trains of thought. Does anyone have tmux+vim+i3? Should I just try to power through this awkward period?
- kazisvet6 6y agoAre you keeping the default configuration? What are your favourite hacks? The choice for jkl; for ←↑↓→ is quite unfortunate, since it is just off by one to the “standard” hjkl. Also many keyboard layouts have some other key on the place of “;”, so they have to reconfigure anyway.
- robotburrito 6y agoI really like i3. I wish that I could have something similar on Mac OS.
- warmwaffles 6y agobspwm master race checking in here. I love tiling window managers. Hands down has been the best development environment I've had the pleasure of working with.
- mraza007 6y agoi3 window manager was an eye opener for me. I was so surprised to see how we can control our windows just by using keyboard and this is why I love using linux and i3 was one of the major reason why I keep going back to linux
- jxy 6y ago> Furthermore, core functionality does not depend on a separate program, so that i3 runs faster, especially when your system is under load. Is this actually true?
- splittingTimes 6y agoI use and love DWM on my home Arch system. However, at work I am stuck with Win10. Are there any recommendations for a tilting window manager for Win10? Thanks!
- Miner49er 6y agoI've tried a bunch, and the best I've found is PyleWM: https://github.com/GGLucas/PyleWM https://github.com/GGLucas/PyleWM The author has recently added some nice features - a fuzzy search launcher and a fuzzy search for open windows. My only complaint is it only supports two workspaces per monitor (I think). There's some sort of temporary workspace, but I haven't really found a use for those and they aren't really documented. However, with the new fuzzy window finder, you can just minimize windows and than search to bring them up quickly and with minimal key strokes. Another thing: the readme hasn't been updated since the last big changes, so you'll find that you're gonna have to install more dependencies then it says.
- progre 6y agoI'm on i3 at home but stuck with win10 for work, same as you. I have found that I can mostly replicate my i3 habits on win10 without additional software. Tiling support is decent (win+arrowkey to snap apps) and careful management of the bar icons means I can switch to apps with win+[number] just as if they where on workspaces.
- tabtab 6y agoRe: [Uses] a tree as data structure. This allows for more flexible layouts than the column-based approach used by other window managers. I would say the best technique depends on the situation. Sometimes column-oriented setup is more convenient for a given task/screen, and other times a tree is better.
- arminiusreturns 6y agoFor those of you interested you might check out AwesomeWM also. It is gpl and based in lua, and is my favorite out of the tiling wms.
- cuddlybacon 6y agoI used i3 for about a year. Tiling wasn't for me. But what was for me where the docs. The docs for i3 are great. The read well linearly as you are learning the ropes, but were also very searchable once you mostly knew what you were doing.
- vicken 6y agoEver since installing Arch + i3 on my old Macbook Pro years ago, traditional window managers feel so inferior now. I've been on the hunt, since, to find anything as close to i3 for MacOS as possible. I did come close however...there's a hidden gem called Yabai[0] (formerly chunkwm) by koekeishiya on GitHub. For anyone looking for as close to i3 functionality as possible in MacOS, Yabai is definitely it. I'm really surprised I don't see more people recommend it as the developer has done an excellent job trying to bring the i3 experience to Mac. [0]: https://github.com/koekeishiya/yabai https://github.com/koekeishiya/yabai
- carlsverre 6y agoI have been a heavy user of i3 for the last 4 years and all in all I highly recommend it. That said - I encourage you to not jump on it just because it's the first tiling window manager that you try (like me). It turns out that a lot of what makes a tiling window manager good is how well it maps to your internal expectation of how things should be layed out. I encourage you to think about what window layout you want in each situation and figure out how much work it is to get the wm to do it. In my particular case I recently switched to https://www.herbstluftwm.org/ https://www.herbstluftwm.org/ and haven't looked back. HBWM allows me to provide more rigid control over my layouts and then tile my windows in. Since switching I have found myself spending a lot less time messing around with relative sizes and a lot more time getting work done. Just one opinion - but the point is that you should do your own research. If you are interested here is my current config https://github.com/carlsverre/config/tree/master/dotfiles/herbstluftwm https://github.com/carlsverre/config/tree/master/dotfiles/he... Visual: https://www.reddit.com/r/unixporn/comments/kcn16u/herbstluftwm_been_awhile_since_my_first_rice/ https://www.reddit.com/r/unixporn/comments/kcn16u/herbstluft... And here is my i3 config https://github.com/carlsverre/config/tree/9f953365481cb96bec78c5946fd33000c802aa4f/dotfiles/i3 https://github.com/carlsverre/config/tree/9f953365481cb96bec... If you do decide on using i3, I encourage you to check out i3-gaps which gives windows a bit of breathing room which some people fine visually pleasant. And don't forget to join the ricing community at https://www.reddit.com/r/unixporn https://www.reddit.com/r/unixporn
- qwerty456127 6y agoHow does i3 compare to Awesome, XMonad and other tiling WMs?
- yurlungur 6y agoBeen using it for more than two years at work via remote desktop but I'd still choose xmonad if I were to run one locally on a bigger display. Xmonad is really powerful in allowing you to reposition and resize multiple windows while i3 is more avaible and pain free to setup.
- nvarsj 6y agoI'm a huge fan of i3 and sway. I recently stopped using sway because these WMs don't work well on large screens or ultrawides. They are optimized for smaller screens, especially laptop screens. I swapped to a 48" OLED and the ideal model really is to center your active window if you can. I haven't yet found a WM that handles this as well as I'd like, although PaperWM is pretty close if a little clunky due to Gnome 3. The other issue w/ i3/sway is you have to spend a lot of time arranging your workspace. It gives you all the power and also all of the work. In comparison, layout based tiling WMs like bspwm, awesomeWM, and xmonad intelligently place your windows in a certain way rather than requiring the user to always decide where it goes. It's largely personal preference which you like. I think I prefer the layout based WMs but sway is the only real option for wayland as far as I know.
- scns 6y agoIn Cinnamon youn can bind 'center window' to a combbination, i chose super+c.