Hacker News new | ask | show | jobs
by mmsnberbar66 1116 days ago
Is it possible to have an i3-like experience on a modern GNOME desktop? I just really like the keyboard-based and predictable navigation between windows (no alt-tab hell). What can I do here?

I am pretty used to Debian+i3 minimal installs (arandr, pavucontrol, etc) but some things will always be a pain in the ass

6 comments

> Is it possible to have an i3-like experience on a modern GNOME desktop?

Unfortunately GNOME doesn't care about customisability or power user needs. They meticulously remove features they deem unnecessary, while actual people who rely on those features kick and scream "no".

In the old days, you used to be able to use a different window manager with your desktop environment, which meant you could just substitute Metacity for the actual i3. I think it's (maybe) still possible with X11/Mutter, but most likely no chance under Wayland, as the compositor combines several other roles in the stack, and the resulting desktop is much less modular.

If you're used to i3, stick to i3 (or Sway). If you need bits and pieces of another desktop environment, you can probably run GNOME or KDE apps just fine; or maybe you can try running the XFCE panel or similar. Also have a look at XFCE, LXQt or Lumina. They all start off with an integrated UX, but should be easier to replace whichever bits you don't like.

Something like Regolith perhaps?

https://regolith-linux.org/

Or did you mean just GNOME but with more keyboard driven window management? If so there is tiling assistant extension for GNOME that isn’t bad from what I’ve heard.

One of my best friends uses the Pop Shell [1] GNOME extension to bring in an i3-like experience. It seems to lag behind a few GNOME versions, but system76 has instructions on how to use it on other distributions if you don't want to use Pop!_OS [2]

[1] - https://github.com/pop-os/shell [2] - https://support.system76.com/articles/pop-shell/

> I am pretty used to Debian+i3 minimal installs (arandr, pavucontrol, etc) but some things will always be a pain in the ass

Things like ? I might've baked some fixes for few issues that bothered me...

- I recently bought a monitor and plugged it in. Sound stopped working until I rebooted. Figured it out easily with pavucontrol of course (just toggling things) but only after reboot. Annoying but fair enough.

- Connecting/disconnecting monitors is flaky, sometimes it requires a few toggles in arandr (which already helps a lot). Maybe there is a better tool I could use?

- Some wifi networks sometimes dont' work out of the box even though I'm just using the easy nm-applet.

  - Like one friend's hotspot that I needed to use one time, didn't work and I gave up

  - Some "exotic" public wifi networks like libraries require more effort.

  - or even simple public wifi networks that simply require a web portal login (I've learned to just open nmcheck.gnome.org to access the portal easily, since accessing the default gateway IP address doesn't always work)
Obviously it's all a question of how much effort you put into it. I try to keep things as simple as possible to avoid spending time on this stuff. Would love to get any suggestions or ideas :)
Well I kinda asked about i3 related problems not just generic linux desktop voes but I'll try my best.

> - I recently bought a monitor and plugged it in. Sound stopped working until I rebooted. Figured it out easily with pavucontrol of course (just toggling things) but only after reboot. Annoying but fair enough.

And that isn't a problem under GNOME ? Both use Pulseaudio...

Anyway I ended up resorting to writing some custom udev rules and some horrible hacks [0] to get my sound interface to work correctly; the interface was 2 in/4 out but it showed up as stereo in/4.0 out, and I needed dual mono + dual stereo outs. But as pulseaudio have no memory whatsoever on plugin config, it needs to be reapplied any time device is plugged in...

...and after upgrade ALSA of all things horribly broke it in different way [1], where someone added 500ms latency to default profile used to split device into sub-channels to"fix cracking" (that happened to only some users), and the interface I used was assigned that profile

Linux Sound story is by far my least liked part of it. And the new modern pipewire just hangs on my machine, not accepting any commands...

> Connecting/disconnecting monitors is flaky, sometimes it requires a few toggles in arandr (which already helps a lot). Maybe there is a better tool I could use?

I so far only experienced it with one flaky monitor at work, it looks like some deeply rooted problem. I guess if I had to solve it I'd just make some script trying to apply the profile and bind it to keys to quickly fix it. I don't think arandr is the culprit here, rather something between graphics server, driver, and monitor.

> Some wifi networks sometimes dont' work out of the box even though I'm just using the easy nm-applet.

I didn't had that problem in particular on laptop at least (also using nm-applet), but same thing works under GNOME ? IIRC it also uses network manager. We had some problems with users trying to use networkmanager for VPN and it not supporting all options plain OpenVPN did.

The most grief that networking gave me is actually systemd-resolved [2] but no good fix for that so far.

- [0] https://devrandom.eu/blog/post/2022-11-03_splitting_stereo_i...

- [1] https://github.com/alsa-project/alsa-ucm-conf/issues/192#iss...

- [2] https://github.com/systemd/systemd/issues/27543

Have a look at this gnome shell extension: https://github.com/forge-ext/forge