Nice!!! This is the kind of thing I visit Hacker News for.
I wonder how this compares with the Gnome tiling Add-on from Pop!_OS that is becoming very popular. But this material shell sounds like a much more holistic approach than just adding tiling to Gnome. I'll definitely try this out.
Sold when I read tiling, yay.. maybe finally at some point I get rid of xmonad, which I loved to play with but do not understand anymore (nothing to complain, has been stable for years even across Ubuntu versions .. but also never touched the config in like 5+ years :D)
Pop's tiling is great, and it doesn't force tiling like this does so you can turn it off if you don't want it. I mostly just use their keyboard navigation tools to snap, resize and move instead of the tiling functionality, though. I think I'll stick with Pop's, partly because I'm used to its keyboard navigation, and partly because I don't particularly like tiling.
I have not looked into these things too much but I like how gnome keyring unlocks when I login to my fedora machine. After a simple initial setup, all my git commits are automatically signed by my gpg key. I don't even have to think about it. I haven't used this for anything serious but I think alternatives will need to achieve feature parity before I can seriously consider them.
Kind of like how I go back to x as opposed to wayland because obs can't capture screen (last time I checked).
The trick to not have gnome 3 crash (at least when I was on Ubuntu 18.04?) was to NOT connect it to heavy online accounts like if you have three google accounts all of which are perpetually teetering on the edge of your storage capacity of 15GB (or 17, if you did the security checkup) then the "factories" of Gnome will work themselves to death trying to synchronize everything. But we can't tell people "Just don't connect gnome to any online account if $special_conditions" feels like a gotcha.
I've had it connected to Business Google Drive subscription with a ton (>1TB) of data on it. Never had any problems. Didn't ask it to sync locally though.
Don't know which exact version it was, but I was using Ubuntu 20.04 at the time.
I have it connected to 4 accounts with a lot of data/events, over ~3 years nothing happened. I did encounter crashes initially due to some nvidia driver issue :| and another time due to my ram stick, otherwise it's more stable than macos.
XFCE here, for the same reason - I've been trying out Gnome since the early 2000s and it's always been a bug-ridden, bloated pig. Meanwhile XFCE is simple, lightweight and it just works.
That's a poor excuse given that a) mp4 support is pretty good these days and b) CSS already has responsive loading of assets. It's purely that to a man with a JS framework everything looks like a dynamic site. I highly recommend running Noscript to see how much of the Internet is broken because of this kind of nonsense.
Agreed. Web standards exist between the server and client. If you break the standard (eg. by disabling JS), then it's your responsibility when things stop working.
It's great that you have the freedom to do so, but you have no right to claim the website is "broken" as a result.
yes, for a project optimizing workflow a static page would be fitting, but with pngs or webp instead of gifs :-)
appearently lossless webp steals pngs crown now that iOS and MacOS support it and the computational costs on high compression are less:
Sadly it’s a material design, one of the worst design frameworks out there. And, it is used contrary to its purpose on all possible levels without any understanding of it.
Agreed. I think Material as a design is flawed because the affordances to discover features are limited. It's OK for phones with small screens, but Material on a website on a desktop puts everything inside a hamburger or a gear.
Gtk3's title bar / hamburger menu / tool bar / modal dialog hybrid thing is a great motivator for avoiding Gtk3 apps. I've been pretty successfully avoiding them since upgrading to Ubuntu 20 and discovering that horrorshow.
I'm having difficulty getting different colours on active vs inactive title bars on regular apps, though. Still working on it occasionally.
It's visually cluttered, the title bar is often missing an actual title, every control on there takes longer to respond to a click because it has to wait to see if you want to move the window instead, the menu takes an extra click to open and is also really slow, the menu doesn't include keyboard shortcuts ...
The applications which have been converted are much harder to use. For example, I found dconf-editor in particular is now extremely frustrating to use, since it doesn't have a treeview - it's impossible to explore more than one recursive path simultaneously, and the mouse distance between opening a folder to see its contents and going back to its parent is now quite large. The title bar doesn't have enough space to display a long path due to it having lots of other controls in there, and ends up showing something like '/ com / ubuntu / Ab...xy / ap...ons / ap...ons', or worse, only the most nested folder name.
It's also just really ugly: cluttered, busy.
The good thing is there are no - zero - gtk3 apps that I need to use.
I wouldn't go as far as calling it a horror show, but do find it genuinely unpleasant to use. In a default configuration GNOME's task switcher seems to assume that there is only one window open for each application. Switching between multiple windows in the same application is rather inconvenient. The title bar stuffs in frequently accessed options then hides the menu bar under the hamburger icon. Those frequently used options are the ones I am least likely to access from the title bar since they are bound to hotkeys that are common to most programs.
For anyone who is accustomed to other metaphors, I'm not terribly surprised by the description horror show. Even as someone who is willing to adapt to change, many of the changes seem to be contrary to usability or efficiency.
GNOME's task switcher has two modes, the one you're using switches between applications. Alt+(the key above tab) switches between windows within an application.
The hamburger menu keeps the applications looking clean, if there's anything I use that frequently I'll just use the keyboard shortcut.
It's improving every release, but if you want traditional, I'd choose XFCE.
A "clean" UI is often a less functional or efficient UI; cleanliness is usually achieved by adding indirection or removing functionality. But Gtk3 isn't even clean; it's often cluttered. Just look at the title bar on dconf-editor when you're 5 levels deep in a config tree.
Menus are ideal for commands which are individually infrequently used, but collectively frequently used. That is, where any given menu item isn't used often enough to warrant learning the keyboard shortcut (not that Gtk3 menus show shortcuts, because they don't), but the menu as a total is visited to execute a command frequently. Consider things like IDEs, photo manipulation, video editing, sound editing, basically anything with a lot of tools to apply.
I find it particularly ironic that Gimp - the OG Gtk - doesn't use a hamburger menu, because that would be ludicrous.
Another point with menus is that the typical top-of-the screen, and nowadays "hamburger" menu is just dumping ground for all functionality, and should be at most of a secondary use to common and context-specific actions represented by buttons/context menus/etc.
I would far prefer an organized UI to one that tries to look clean by tucking away functionality under a hamburger icon.
This is not to say that I insist upon menus. Since I never had much invested in Microsoft Office, I do appreciate the ribbon bar. It does a fairly good job of organizing and exposing functionality in an otherwise complex piece of software. Contrast that with GNOME's approach. It is rather difficult to design a complex piece of software when most of the functionality is hidden behind a single menu.
At the other extreme, you have software that is somehow command driven. The interface can be kept clean by hiding away all of the functionality. (An example of this would be vim.) Yet that is not what GNOME is trying to provide. GNOME is a graphical interface that is supposed to facilitate discoverability. Discoverability will always be a trade-off between visual clutter or a reduced feature set. The only other option is to hide functionality, which is dangerous in a GUI.
It's moderately intimidating to jump into i3 or xmonad if you haven't used them before. This looks like a friendlier way for more people to get exposed to tiling, but doesn't seem to offer anything compelling for people already comfortable with one of the others.
somehow every app-selector I know (except a real terminal shell) uses scrolling. Imho this looks great for a tablet (and if this stabilizes I'd in fact buy a surface pro or similar instead of a new notebook, should my current private notebook die).
Scrolling gives users a spatial feeling (ie. "what is where in relation to something else") in contrast to just magically letting things appear without animation or transition. There are plenty of UI designs which use scrolling. Sure you can debate whether they are a success or not but I've never head of "Scrolling is a 'no' in serious UI design". That sounds more like a personal preference.
> and tiling should be an option.
As far as I can tell there is nothing stopping you from simply using a workspace per app. Effectively disabling tiling.
The spatial feeling is necessary only if things take more space than needed. In this case, this is not valid. There are no things that take more space than needed. It's simply a distraction.
> As far as I can tell there is nothing stopping you from simply using a workspace per app. Effectively disabling tiling.
What if I want windows to be connected? that feature is not offered.
Actually, I've used PaperWM for a bit (a Gnome Shell extension), and that one puts windows next to each other and scrolls left and right between them. (Each window is full height but not necessarily full width.) I find that very nice.
For example, I could have a 2/3 window on the left and parts of another 2/3 window on the right, and going from the left to the right window then scrolls 1/3 so that the full right window is visible.
> Designed to simplify navigation and reduce the need to manipulate windows in order to improve productivity. It's meant to be 100% predictable and bring the benefits of tools coveted by professionals to everyone.
Oh dear. Now I remember why I keep using macOS which actually does it better than 'this'.
This was an earlier version of Material Shell based on AwesomeWM. At some point the author wanted more animations and custom menu handling. Those are 2 areas AwesomeWM doesn't really handle well.
Trying this out as it's typed. For background: I really want to love tools like i3 or awesome, but I always go back to Gnome because it juts gets stuff done. I liked Gnome 2, I like 3.
So: just like the site says. Top is the taskbar, which also has a left icon for the current tiling pattern (fullscreen, tiled vertically, etc). The left side panel starts at the top-left with the search button that does the Gnome activities overlay, then a globe icon for each workspace, and a button to create a new workspace. At the bottom of the left panel are the system icons (normally in the upper right in Gnome) and then the clock, crammed into bottom-left.
So I don't hate the tiling, and one of the layout options is "floating" so you can have a workspace full of floating windows. Cool.
My first thought was that the panels are too big -- 48px, which seemed overly large. Luckily this is easily configurable in the extension settings, and updates as you change it so there's no guesswork.
If I switch to floating, or a new workspace, I appear to have no wallpaper behind the windows or the "new workspace" launcher. I liked my wallpaper, and I miss it.
I was going to complain about the globe icons for the workspaces, but it turns out it only preselected those icons because I have browsers primarily in each workspace. It'll pick based on the first open app (I think?) or you can override the icon by right-clicking, or have it display a group of app icons for the open apps in that workspace. This is cool! It's not quite the thumbnail previews of virtual desktops I had in 2004 with Openbox, but It works well.
I'll keep on this for a little while -- I really like that I can turn the whole shebang on and off with a single extension toggle.
Thanks for pointing out that it supports floating windows. I use a 55" 4k monitor so I manually lay out my app windows and would hate tiling (only rarely used stuff goes up top and I drag those down when needed). I use and like gnome but there are a few thing I hate about it so I'll give this a try.
Looks like between 2 and 3 feet - closer to 2. I use the huge monitor like the virtual desktop - we've all heard the metaphore but don't really use it. Spreading things out left to right is fine, but I don't like to tilt my head to look up (I have progressive lenses so that's worse for me than younger people), so the top is - like further away areas of a desk - where I shove things I don't need right now but want nearby. So if you're wondering how I can see the whole thing up close the answer is that I don't need to or try to. I might roll my chair back a bit if I want to watch a full-screen video.
Yabai (https://github.com/koekeishiya/yabai) and skhd (https://github.com/koekeishiya/skhd) together makes a very powerful combination that works extremely well. It's as close to i3 as you can get on MacOS, and outside of a few odd things with 3 monitors I haven't run into any issues.
Yabai is actually the second iteration of tiling windows that koekeishiya has made and it's super well developed.
Seconding this; the only thing I miss from i3 is the fact that yabai almost by definition can't be better integrated with the OS, so there's a slight increase in latency that's barely perceptible but enough to make me notice how much zippier my Linux boxes + i3 are. Small price to pay for how much more comfortable they make me on macOS, though.
I hacked something together several+ years ago (see below) based on someone else's config, and I've maybe edited it twice since then, so it likely can be substantially improved. Also, I'm sure it's not as slick as a true tiling manager, but I've certainly gotten a lot of mileage out of it:
No need to implement anything at all, as Amethyst[0] already provides a pretty good tiling WM. It's so easy to setup that even some of my not-so-techy friends started using it.
I use cinnamon, for that very reason. Just works, and works well for my use case, is very stable, and I've no wish to learn and configure another desktop paradigm.
The free drivers work in the sense that you get a working desktop. But by no means can you get good performance on something that puts something other than light burden to your card. Nvidia gives no clues as to how to implement clock boost over the minimum base frequency in driver, so the free driver only uses the minimum available computing power, enough to get the desktop running.
Cinnamon with Mint is very stable and tuned, very good to get job done. It has very low cpu consumption. I don't know why but gnome always eats lots of resources. Plus this very old famous bug, keep me away from gnome-shell for good.
Unfortunately not. Muffin, the compositor is based on a really old version of Mutter, and it’s missing a lot of performance work and fixes that make latency lower and output less likely to hitch, hidpi works better, etc. They need to just drop their fork and use the upstream version. They haven’t added anything significant to Muffin to justify keeping it—-the differences to gnome are done with other packages.
I've been using cinnamon as well but in 20.04 the new mac-ish taskbar that conflates the quick launch favorite apps and running apps in one widget turns me off. Starting to look for alternatives that aren't trying to copy Apple.
Installed apps and running instances of installed apps are different concepts, damnit, and I don't need a phone-like interface that fakes the idea that all apps are "always running" when they are not.
KDE user here. What you say is false. Xfce is quite primitive in comparison, it has a miniscule amount of features and hence gets away with using less memory. Observational data:
KDE really has become very bloated. First of all, I cannot uninstall any part of that huge list with the exception of kdeconnectd (don't want/need) or plasma-browser-integration-host (maybe want/need); AFAICT this problem is existing, but not at all pronounced in Xfce.
Due to lazy design choices by the responsible programmers, KDE fails to scale properly down to the user's circumstances or preferences.
• I do not have multiple desktops configured, yet I must spend 532M
• My computer chassis only has a power button that does something in the desktop environment when triggered, and any power saving settings are off, yet I must spend 389M for that
• I do not have any of the five accessibility features enabled, yet I must spend 277M
• I have only one monitor attached, yet I must spend 213M listening for an additional
Then there are many initialisation processes hanging around after the desktop environment has already started. Xfce does not have this problem.
A lot of the processes I cannot even identify in the sense of telling what use they are to me.
Some processes exist only due to their own doing where the responsible programmers painted themselves into a corner (like with the tray icons fiasco), or no one competent stepped in and stopped the submission of a solution that has a simple and superior equivalent.
• Why is there a 153M cache cleaner hanging around resident in memory? This is a job for periodic timer (cron/systemd). Even if real-time cleaning is needed for some bizarre reason, then one would attach an inotify listener to the cache directory, and every time a file is added or changed, a small <1M process executes that calculates the diskspace in use, and only when we are over the threshold, then execute the big cleaning process. Exit the process when done.
• Why is there a daemon for applying the colour scheme? I mean, it's only 7M, but this used to be a...
You're looking at virtual memory and not resident memory. I've never had KDE take up 3.5GB of memory on a machine with 4GB, 8GB or 32GB of memory. Right now, kwin_x11 occupies 110MB of resident memory on my machine while claiming 3.4GB of virtual memory. Similarly, konsole occupies 54MB of resident memory and 928MB of virtual memory on my machine.
Virtual memory[1] is not at all the same thing as resident memory[2].
I've experienced similar amounts of memory usage to the stats in this article when it comes to KDE vs Xfce memory usage[3].
The findings from the article are non-reproducible, too. When I run the desktop environments with a text editor and terminal each, `free -h` reports a clear difference in the "used" column:
same here. the 4 quadrants limited tiling works pretty well. Sometimes switch over to KDE as well just to have a change of pace but unsurprisingly it works a lot like cinnamon, just with a lot more options that I dont' really change from the default :)
Open up gnome tweak tool, go in the extensions tab, and on the "material shell", there is a little cog next to the switch. Click on it and there you have the available configuration options made available. Actually, this is how you can configure most shell extensions ;)
> I really want to love tools like i3 or awesome, but I always go back to Gnome because it juts gets stuff done. I liked Gnome 2, I like 3
My approach is to use the window manager best suited for the task, but all at the same time.
That means for my highly structured multi-desktop, multi-git-workspace programming tasks I use i3, which is ideal for those.
However for my less structured tasks like writing or consuming documentation, email, and personal web browsing, I use a more conventional, less constrained desktop environment (i.e gnome), which is more ideally suited for those tasks.
If I'm willing to abuse the term window manager a little further, Vim running inside i3 serves as a third window management environment I run in parallel, optimized specifically for code editing.
The trick is that I use i3 in its own separate Linux desktop window (In my case running on a remote machine, but you could just as well do this running in a local VM). this allows me to have both environment successful on the same screen at the same time.
This also has the added benefit of making it very easy to find my code editing window among the tons of other windows I have open.
i switched to regolith a few months ago on my desktop and +1 this; convenient defaults that are relatively close to what i previously built up on my own, and overall a nice preconfig for i3+rofi. the only real tweak it needs out of the box is enabling tray icons.
Tried it briefly, I currently use i3 on ubuntu and found it to be much much slower than that, the animations while pretty get pretty jarring once u start switching windows too often. I much prefer the i3 style of just showing a blinking cursor on switching windows.
The grid layout is interesting but I found it strange that the all tabs are shown along the left side in split mode.
It would be interesting to see how the grid differs from the tree layout that i3 uses.
I did like their default hot keys and the side bar for switching work spaces.
Ultimately though if you don't like gnome this isn't going to change that.
But if you do prefer i3 and want a more nicer environment with all the gnome system management ui's consider using https://regolith-linux.org/
I'm going through a distro hopping phase, so recently hopped to Fedora spins (am currently on KDE)...but had heard of regolith separately and really liked the idea. So i went to DistroTest[0] and took it for a spin, and it won me over. I still ant to finish my experiment with fedora spins, but right after, I'll be heading Regolith!
I Ctrl+F'ed in this thread for Regolith, this should be higher.
Zero setup, incredible keybindings.
You can install it on top of your existing Distro, as an apt package. And then log out + log back in using new DE.
I had never used a tiling WM before Regolith, i3 seemed too difficult to configure for someone who didn't truly didn't understand the point/benefit of using tiling WM's.
A day into using Regolith on Ubuntu I was hooked. Been using it for years now and it's the best decision I've ever made, productivity skyrocketed and it looks nice.
I tried Pop_OS shell's tiling WM, as I was hopeful, but the keybindings and behavior aren't as nice as Regolith. It does a "swap" animation when changing tile positioning that slows stuff down, and I could never get the gap borders to disappear completely.
I'd actually somewhat given up trying to keep i3 working nicely and reverted to XFCE (which is at least far less obnoxious then Gnome 3) until I discovered Regolith and have been using it happily ever since.
> […] the animations while pretty get pretty jarring once u start switching windows too often.
Agree. I have used i3 for several years, but tried GNOME again recently to experience with Pop_OS's tiling feature. It was OK-ish, but a bit slow when resizing windows when rearranging / opening / closing windows, even with animations disabled.
I have read about Material Shell before, but did not try it. Gave it a try today, and I am pleasantly surprised so far. The animations get old very quickly, so I do what I always do in GNOME – disable all animations in Tweak Tools. This made the experience as close to i3 as GNOME has ever been for me. I will keep using the Material Shell for a while and stress-test it a bit.
> Tried it briefly, I currently use i3 on ubuntu and found it to be much much slower than that, the animations while pretty get pretty jarring once u start switching windows too often. I much prefer the i3 style of just showing a blinking cursor on switching windows.
I've seen this complaint about GNOME in general before, so I want to mention that animations can be disabled or sped up in GNOME. There's a toggle to disable animations in GNOME completely (using the GNOME tweak tool, in the general setting). There are also add-ons to change their speed (I use Impatience [0]).
I tried this a couple years ago on a Atom tablet. If memory serves it had no tiling yet, but I liked it because it was the only working solution that would allow a tablet-like experience under Linux, all others being either buggy or incomplete (rotation not working or not consistent with mouse, etc.). I admit it was well thought, beautiful to look at and very usable, although they didn't resist the temptation to dumb down even further the config panels by removing more and more options, which is the reason I avoid Gnome in all my PCs. The only real problem is that it was slow, I mean really slow, and memory hungry. OK, in 2018 having 2GB RAM it's the users fault, although that tablet was impossible to upgrade, so I had no other choice than either reinstall Windows 10 (which was a lot more snappy) or give the tablet away, which I did.
I seem to have read somewhere that an open phone manufacturer (Librem?) is using a deeply optimized version of Gnome 3 to overcome its slugginess on less powerful hardware. Are there any chances their optimizations can be merged back so that every platform could take advantage of them?
I find the app-based window navigation in vanilla GNOME 3 rather frustrating, and try as I might, I just can't get comfortable navigating between what I think of as applications.
This is because I have a few applications (Firefox, Terminal) that are really not applications in and of themselves; the applications are really Outlook, JIRA, Confluence, Slack, OpenShift (logged in as cluster admin), OpenShift (logged in as my regular user), that quick terminal session I opened to work on a script, the SSH connection to an OpenStack director, the 'oc rsh' command that I'm using to administrate a PostgreSQL database running in OpenShift, and so on.
This becomes far worse when using multiple monitors. Say I have teams hanging around on my secondary monitor to keep an eye on stuff. I literally just now alt-tabbed into a terminal and then alt-tabbed back to continue writing this comment. As a result, I'm back in Firefox on my primary monitor (as expected) but now I have an unwanted random Firefox window that I forgot was even open on top of Teams on my secondary monitor!
The only window manager I've ever been at home with while using multiple applications, workspaces and monitors has been i3. Specifically I love how it manages multiple monitors in that each has a current workspace, but workspaces are not bound to a particular monitor. So I was able to have my secondary monitor always showing my 'Slack and email' workspace, and switch between my multiple task-based workspaces on my primary monitor and never get confused like I with GNOME where I want to switch to my email tab but to get there I have to remember ahead of time that I have to switch to my first workspace, then switch applications to Firefox, then switch windows to the one with Outlook in it, and finally switch to the Outlook tab...
Anyway. This project looks awesome and I will try it out!
You can kind of implement this in Gnome 3 by putting windows that go together on a workspace, the same way you do in i3. Hoewever, using workspaces in Gnome never felt as fluid as it does in i3.
I recently switched to Sway because gnomes workspaces annoyed me too much. Let me choose a workspace independently on each monitor please! On i3 I was getting really bad screen tearing, even with conpton/picom otherwise I’d have just used that, but Sway/Wayland has no such problems.
Sadly a few things don’t work so well in Wayland. For example, Windows games under Proton work fine on X but not on Wayland/Xwayland (I guess since they’re not Wayland aware they can’t bypass the compositor?)
So, I too will try this project out as it looks like it may be a nice middleground where I can be productive in gnome on X.
Thanks! I'll give it a try. It looks like it might help.
In general, I'm happy with Sway, but it would be nice to have an X option that works for my workflow too (gnome doesn't seem to have the screen tearing issues i3 did).
The only thing I find annoying is the lack of screen sharing on zoom. Zoom claims they support wayland on arch, but unless I made a mistake or something, that's just not true.
Some wine things don't work properly too, which is somewhat annoying, but I only have one wine application I run very rarely, so it's not too onerous to boot back into i3 for that.
> As a result, I'm back in Firefox on my primary monitor (as expected) but now I have an unwanted random Firefox window that I forgot was even open on top of Teams on my secondary monitor!
The idea here is to also use the tilde while alt-tabbing. Also shift comes in handy to wheel back through the applications.
Please note that I never selected this random Firefox window. I wasn't even aware that it was open.
The problem is that when I tabbed back to Firefox, all Firefox windows on all monitors were raised.
And if you expect me to Alt-Tab to terminal, and then remember to use a _different_ keyboard shortcut, that is now no longer so short because I need to holt alt, press tab, release tab and keep holding alt while then pressing ` until the window with Hacker News is selected then... no way pal I'm not even going to go there, this is madness!
Without tweak tool and several plugins Gnome shell is unusable for me. Unfortunately Gnome shell plugins tend to see zero maintenance so they regularly break with new versions of Gnome shell. I fucking hate that DE.
This is incorrect; you can rebind the shell's keyboard shortcuts in Settings -> Keyboard Shortcuts. There are entries for "Switch applications", "Switch windows of an application", and "Switch windows of an app directly"; you want to switch the two that are bound to "Alt+Tab" and "Alt+`".
It does, but the fact that the default is so braindead and annoying, and that I have to configure it to make it usable, is well.. very annoying. Like, why would they think that it is a good idea? No other desktop does this.
Just checked, and the equivalent of Cmd+~ on GNOME is Cmd+`.
That said, I rarely use Cmd+Tab anymore, I just move the mouse to the top left corner and pick, now that screen could use some UX improvements (i.e. hotkeys for the apps, and maybe grouping, since when you have a lot of open apps, it is hard to find what you are looking for).
>I find the app-based window navigation in vanilla GNOME 3 rather frustrating, and try as I might, I just can't get comfortable navigating between what I think of as applications.
Perhaps as a slight work around for gnome-3 users. I use workspaces across two monitors with the `window list` extension. To address your 'X window is not in Y workspace issue' you can assign a hotkey in gnome to move the currently active window up or down a workspace.
So I have ctrl-alt-shift-up and ctrl-alt-shift-down bound to move windows up and down.
"Use this gnome 3 extension" is never the answer to work around gnome 3 problems: in my experience extensions either don't work or stop working at the first 'apt-get update' you do, or just consume like 40 gigs of memory if left running for a week. Extensions are the devs way of saying "we don't care about you, but we're going to pretend to care by allowing you to write software that we're going to break".
Yes it actually is the answer because that's the design paradigm of gnome. You get a basic shell that implements Red Hats vision and everything that you find missing/don't like is what extensions are for.
My mind is not app-centric. I want the shell where I'm looking at logs, the editor where I'm taking notes, the browser where I'm checking some doc. I don't care to think about which terminal application the shell is inside, select that, then find I've opened a different terminal window and have to search through the windows separately. I don't care whether the doc is loaded in Firefox or Chromium so don't ask me to choose based on that.
IMO app-centric task switching works much, much less effectively than window-centric task switching; I hate that all the major DEs have copied the same basic app-based dock design that has been failing in obvious ways since day one.
(Although Windows can at least configure grouping away, and there's the dash-to-panel extension to make GNOME tolerable again.)
I get that an app-centric view is attractive to app developers, who would love me to be engaging with their brand. And that mobile has its own reasons for putting apps in silos. Does nothing for me as a desktop user though.
It's interesting. Microsoft agreed with this philosophy and fought tooth and nail against tabbing in browsers, opting instead that each browser tab be it's own window and accessible from the task bar. After all other browsers had switched, they were forced to introduce that in IE as well.
The worst offender here is OSX. I still haven't figured out a good way to switch between multiple open windows of the same application, not even the file explorer (Finder). It's a huge pain.
Note that on a US keyboard the ` (backtick) key is the one right below ESC.
If you have the keyboard in another locale (I use ES-intl) that hotkey doesn't make any sense at all: ` is next to "p" in my keyboard, and works only as a dead key. Cmd-` is literally impossible to use on it.
If you are in this situation, do yourself a favor and remap the "move focus to next window" hotkey [1]. It is very useful and I couldn't live without it now.
` (backtick) is also right above tab. On a US keyboard, this makes Cmd+Tab switch apps and Cmd+` switch windows of an app.
It's probably worth noting that the defaults remain on common Linux (at least KDE, GNOME, and Cinnamon) and Windows desktop shells with Alt instead of Cmd.
On Linux, Windows, and OSX, adding Shift cycles in reverse order.
They were wrong. Emphatically. Ridiculously wrong. Remember for context that virtually nobody was using virtual desktops for windows as it not part of the UI unless you installed it and it sucked besides. Also remember most people's internet was very very slow. Screens were also not that big. Not that they are much bigger now with everyone using laptops.
Grouping related windows in the task bar makes it frustrating to use it because everything involves multiple clicks. Once you got beyond a certain number of apps the task bar sucked without grouping because there wasn't enough text to display a long enough label to distinguish between windows.
When something takes a long time to load you are incentivized to create a new tab if you might want to come back to that resource rather than waiting for it to load again. This absolutely incentivizes using multiple tabs. If you have 8-12 browser windows + 2 or 3 other windows you are already past the threshold where you have to group windows in the task bar to use it and are now changing tabs by moving your mouse at the way to the bottom of the screen clicking on the browser icon and then hunting for the desired text then clicking again. This is in a word annoying.
if your browser supports tabs you can have 2-3 other windows and 2 browser windows and use an ungrouped taskbar. You can also hit one hotkey to open a new tab or use in browser tab switching in place of all desktop window switching to switch between several. This is much much much better.
Even if all other sins were removed the browser tabs represent a logical grouping and additional context that would be lost with just windows.
I can close them as a group I can book mark them as a group I can save them for later perusal as a group. I can use a side tab extension to more easily switch between a large number of tabs. I can right click on a link and open several links in the background without changing my current context.
They designed a user interface that was only useful for grandma opening 1 browser window at a time and maybe 2 apps at a time.
They weren't wrong, they just did an awful job of making it so individual apps wouldn't have to reinvent the wheel to get tabs. There's no reason browsers should have to implement it themselves or that other apps shouldn't be able to have the same semantics.
Ironically the pieces were there with MDI but that was also a bad implementation of the same semantic concept.
For whatever reason, only tiling wms like i3 have ever really delivered at all on the concept of making tabbing a universal thing.
I still use tabs in apps despite using i3 for years. This firefox window has 13 tabs and would be much much crappier if I used 13 i3 tabs.
I couldn't open new firefox windows in the background and opening others in the foreground within firefox.
I would have to use i3's horizontal tabs instead of tree style tabs making it harder to read the titles.
I couldn't switch tabs separately from switching windows. This would make having firefox alongside another window suck because it would trivially become hard to navigate. I would have to manually put only the firefox windows in a tabbed layout with the other window outside of it. I would have to focus parent and then focus direction to switch to the other. This would be so for any window I want to use alongside it even briefly.
I couldn't close entire trees of tabs at once. I couldn't close everything except the current tree.
I couldn't save a particular set of tabs as a session to be restored later.
In theory could these features be implemented in an i3 specific nature? Perhaps so long as you are willing to do so for every specific environment and for every individual app.
If we pick 100 apps and the most popular 10 environments and the most desired 10 features we will find we only have 10,000 tasks ahead of us!
Tabbed environments within i3 ARE useful but not as a replacement for tabbed interfaces within applications.
I didn't say they delivered perfectly either; i3's minimalistic nature isn't really well suited to a holistic approach to tabbing, either. I just said that it delivers on the concept at all.
My frustration, fundamentally, is that I don't want every app that wants to use some kind of tabbing interface to be different. Use different shortcuts, different models. I would rather the WM/DE provide a holistic approach that can be inclusive of all or at least most of the basic needs you keep listing, and that could be applied to other programs in a uniform way.
That's beyond the imagination of Microsoft apparently (I agree that just making taskbar items clump isn't the same), and beyond the scope of an x11 WM (which doesn't have any meaningful say over the client area of any program on its own). But it's not impossible, and it's not "the wrong way" just because no one's tried or managed to do it yet.
I've found https://contexts.co/ to be the best solution for OSX. It wont let you ⌘+tab through the browser tabs but if you have multiple windows of the browser open you can see them individually.
> The worst offender here is OSX. I still haven't figured out a good way to switch between multiple open windows of the same application, not even the file explorer (Finder).
I use HyperSwitch[0] on macOS to solve this issue. I use it to override the default Cmd+Tab behavior to cycle through windows on the current desktop. It's become one of the first things I install on a new machine.
I miss an older KDE feature, which was custom tabbed windows. You could easily Alt+Tab between windows, and then use another shortcut to move between tabs.
So how do you solve this on other Desktops?
Do you use the window previews or is there any other way? Because Windows and Mac both only show icons as well and Youd have to look at the names or previews of the Windows to know exactly which one you'd want. The grouping of applications can be disabled in gnome tweak
Each logical application (eg HN or ssh-to-example.com, not firefox or terminal) is in a separate window. The window list at the bottom of the screen shows a list of which windows (not physical applications) exist, and then I click on the window(-list-entry) button thingy for the (logical, not physical) application I want.
> Because Windows and Mac both only show icons as well
Windows (version Vista or worse, because this definitely wasn't a problem in XP) and Mac are defective by design then.
Contexts gives additional 'switching' options on different hotkeys, fuzzy window searching+selection, history-based selection, and no mouse interaction required (but it is supported)
I dedicate spaces to tasks, eg communications, monitoring, and 3-4 development task spaces with tools/docs/terminals
I have Contexts setup as follows:
cmd-tab: cycle thru all visible windows of all apps on current space
opt-tab: cycle thru all windows of all apps on all spaces (include hidden/minimized)
cmd-~: cycle thru all windows of focused app on current space (include hidden/minimized)
opt-~: cycle all windows of focused app on all spaces (include hidden/minimized)
cmd-space: activate Alfred
opt-space: search/activate of all running apps on all spaces
Alfred then allows you to add effectively anything you can script/applescript for additional workflows and a complete, keyboard-driven navigation/switching experience, and total deprecation of the slow 10.7+ mission control gui
It rarely affects me. I'd say 99% of my time in Gnome is spent in either Firefox or terminal.
Suddenly I'll need a program so I hit windows key, type in the start of the program name, and smash the Enter key. It's super simple. What's the problem?
People don't get that Gnome is simply a new paradigm that is far superior to everything else. It's so easy to manage Windows just by hitting super you have everything at your disposal.
Maybe if your screen real estate is limited (e.g. laptop) that is true.
I work on 3 monitors; two of them are 1920x1200, the third is a 40" 4K "TV". Nothing about the Gnome model is useful to me. I appreciate that my setup is unusual, and that I do sometimes find myself on a laptop. But I prefer to keep the paradigms consistent, and so 5 named workspaces at all times, thank you very much. I never move windows between workspaces. All of the windows in a given workspace are visible at all times.
Did you read the comment? What do you do when you have multiple windows of the same app? Do you write the name of said program and then Alt-backtick until you get to the correct window? Wouldn't it be better to have your windows grouped in a way more related to their purpose than to the app?
For example, say you're doing something (eg programming) that requires both the browser and the terminal. While you're at that, you want to do something that also requires both the browser and terminal (eg checking something in a terminal-based todo app to reply something to your coworkers in a web based chat app). Assuming you leave these things open, you now have to do 2 switches (app switch+tab/window switch) to get to whatever you're looking for in the worst case, 1.5 switches on average.
Talking about switching between programs, yes I thought that was a bit weird in the beginning but it came up so rarely that I eventually learned the habit of using alt+§ (on swedish layout). It's not so bad since the key is right above Tab.
There's a config for that in the tweak tool. It makes secondary monitor workspaces static. It's not exactly what you want but it gets kinda close for me. Wayland does away with the shitty X conventions so maybe there is hope once X finally dies.
gsettings set org.gnome.desktop.wm.keybindings switch-applications '[]'
gsettings set org.gnome.desktop.wm.keybindings switch-windows '["<Alt>Tab"]'
There are more settings like that which you can find in the manual, or from other frustrated users.
These settings seem to be stored in a binary format so the resulting rc-files can not easily be commited to git. I keep a dozen lines like the above in a script I run on any new gnome-like desktop to make it somewhat sane.
Can two windows overlap? Or are they just opened full-screen or inside a tile side-by-side?
If not, then I don't like that very much. For example the calculator: I don't want it to take 1/3 or 1/4 of the screen. It's like going back into a 35 years ago pre DESQview era.
Edit: nevermind. "In Material Shell windows are tiled. These means they are organised in a predictable way in which they do not overlap".
I guess I like my windows to be not predictable, whatever that means.
I can't speak about Material Shell, but on dedicated tiling WMs, you get to select a subset of apps that you want to always open in floating mode to accommodate the use case you are describing. Nonetheless, I find myself not using that at all, since in most cases the tiled view allows for optimum use of screen real-estate in my opinion. If I can't see the entirety of a window it's kind of useless to me, so i'd prefer it be on a different workspace. But of course, floating one window like your calculator while your browser and RSS feed reader are tiled on the desktop is entirely possible and probably quite common. I do, however, use a popup rofi window with a custom script as a calculator, so that does indeed float near the top of my screen.
In i3 you can perform operations based on window criteria for example if calculator don't tile with for_window. KDE has window rules, Linux in general has devilspie2.
If it doesn't have this feature it probably should.
I love how beautiful i3-gaps is. I worked awfully hard to get i3, Dunst, Polybar and many other tools to give me a WM only experience. And frankly, I hate that part of it.
Simple things like configuring bluetooth, or switching audio... or working with multiple displays are just painful. I expected this when I started using Linux in 1996ish. That was part of the hobbiest experience. These days, I just want to get my work done, and if I can do it with a pretty experience, I'd prefer that.
So if I do i3 again, it'll probably be with XFCE underneath unifying some of the experience. Gnome on the other hand, has its own set of issues that make it annoying.
I did start using i3 with Xephyr (Xnest at the time) inside gnome. That could be something you want to try.
It basically allows you to have a X11 window running i3 inside your usual gnome session. While in full-screen, that gave me a gnome workspace that was effectively i3.
This is nothing too complicated, just a session with the right components selected to provide whatever services you need: display management, screen locking, WiFi, etc.
> "Improve your user experience and get rid of the anarchy of traditional desktop workflows."
This usage of "anarchy" makes me wonder what is so satisfying to advocates of "tiling". I personally don't have a need for new windows to conform to a strict placement algorithm.
My usability requirement for new windows: a) open the window in a timely manner and make it distinct so I can identify it; b) don't fiddle with my visual field unnecessarily.
I use OpenBox. I make the "active" window distinct using a custom theme. I open what I need and hide the rest in a shaded window and/or virtual desktop until I need it. I find what I need in the menus.
(I won't debate the qualities of Gnome, but I prefer a lighter DE.)
I do. I don’t need them when every pixel counts but I think they are useful If not pleasing in many cases.
That’s why I created what I believe was the first tiling wm "useless gaps" patch for dwm 10 years ago. Since then, it has been adopted by other wm, i3 being a notable exception.
I don’t use a DE, but I guess a little space between those fat bars and backdrop’d windows might help to see through the bloat.
I was referring more to the excessive padding in material design in general, but yeah I'm not a fan of gaps so pairing that with gaps in tilling seems extra bloated to me.
I have yet to see an enjoyable material design app. With the same underlying motivations, I have better appreciation of Apple iOS interface guidelines.
There is just one thing I'm missing from Gnome which is the white dot on top of the time signifying there is an unread notification. With Material Shell I have to manually click the time to see if I have any unread emails or slack messages.
Can the user merge the workspace panel into the the system panel and move all that to the bottom of the screen instead?
I honestly can't stand global top bars and "system panels" that are nothing more than always-visible launcher menus. They're just a waste of space. IMO Chrome looks ridiculous in the video, with a set of tabs directly underneath the workspace panel tabs.
What I'd really like to see is XFCE with automatic tiling. I can probably script a half-assed version of it myself without too much trouble, but it would be nice to have a full-assed version of that.
A few months ago I set up i3 to work within Xfce (essentially swapping out xfwm4 as the window manager), and I love it. It took a bit of tinkering to get the two to play nicely, as you might expect, but once I got it set up properly it was great. I wanted to use a tiling WM, but I had a setup I really liked with Xfce and didn't want to give up all the DE niceties with my panels, system tray, etc. This gives me the best of both worlds as far as I'm concerned.
That said, I agree with you that it would be nice to have a built-in option to switch between tiling and floating. I've seen that Pop_OS has this, but that's also using Gnome.
270 comments
[ 3.2 ms ] story [ 205 ms ] threadI wonder how this compares with the Gnome tiling Add-on from Pop!_OS that is becoming very popular. But this material shell sounds like a much more holistic approach than just adding tiling to Gnome. I'll definitely try this out.
Kind of like how I go back to x as opposed to wayland because obs can't capture screen (last time I checked).
I actually don't even use gnome or the gnome session, just bare i3 with lightdm and the gnome keyring unlocks automatically.
[1]: https://wiki.archlinux.org/index.php/GNOME/Keyring#Using_the...
Does anyone even use gnome online services?
Don't know which exact version it was, but I was using Ubuntu 20.04 at the time.
I do have two google accounts and one MS enabled in GOA.
It's great that you have the freedom to do so, but you have no right to claim the website is "broken" as a result.
https://www.ctrl.blog/entry/webp-flif-comparison.html
https://developers.google.com/speed/webp/gallery2
Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something.
https://news.ycombinator.com/newsguidelines.html
It is the new Bootstrap, but inconsistent and worse every where else apart from its use in Android apps.
I really love it.
I'm having difficulty getting different colours on active vs inactive title bars on regular apps, though. Still working on it occasionally.
The applications which have been converted are much harder to use. For example, I found dconf-editor in particular is now extremely frustrating to use, since it doesn't have a treeview - it's impossible to explore more than one recursive path simultaneously, and the mouse distance between opening a folder to see its contents and going back to its parent is now quite large. The title bar doesn't have enough space to display a long path due to it having lots of other controls in there, and ends up showing something like '/ com / ubuntu / Ab...xy / ap...ons / ap...ons', or worse, only the most nested folder name.
It's also just really ugly: cluttered, busy.
The good thing is there are no - zero - gtk3 apps that I need to use.
For anyone who is accustomed to other metaphors, I'm not terribly surprised by the description horror show. Even as someone who is willing to adapt to change, many of the changes seem to be contrary to usability or efficiency.
The hamburger menu keeps the applications looking clean, if there's anything I use that frequently I'll just use the keyboard shortcut.
It's improving every release, but if you want traditional, I'd choose XFCE.
Menus are ideal for commands which are individually infrequently used, but collectively frequently used. That is, where any given menu item isn't used often enough to warrant learning the keyboard shortcut (not that Gtk3 menus show shortcuts, because they don't), but the menu as a total is visited to execute a command frequently. Consider things like IDEs, photo manipulation, video editing, sound editing, basically anything with a lot of tools to apply.
I find it particularly ironic that Gimp - the OG Gtk - doesn't use a hamburger menu, because that would be ludicrous.
Something usually lost in "clean" UIs...
This is not to say that I insist upon menus. Since I never had much invested in Microsoft Office, I do appreciate the ribbon bar. It does a fairly good job of organizing and exposing functionality in an otherwise complex piece of software. Contrast that with GNOME's approach. It is rather difficult to design a complex piece of software when most of the functionality is hidden behind a single menu.
At the other extreme, you have software that is somehow command driven. The interface can be kept clean by hiding away all of the functionality. (An example of this would be vim.) Yet that is not what GNOME is trying to provide. GNOME is a graphical interface that is supposed to facilitate discoverability. Discoverability will always be a trade-off between visual clutter or a reduced feature set. The only other option is to hide functionality, which is dangerous in a GUI.
The video is too fast to allow any actual evaluation of its offerings.
The big buttons in the section 'find your tasks instantaneously' are not necessary.
The gnome interface sucks big time and I don't see this as improvement.
Scrolling gives users a spatial feeling (ie. "what is where in relation to something else") in contrast to just magically letting things appear without animation or transition. There are plenty of UI designs which use scrolling. Sure you can debate whether they are a success or not but I've never head of "Scrolling is a 'no' in serious UI design". That sounds more like a personal preference.
> and tiling should be an option.
As far as I can tell there is nothing stopping you from simply using a workspace per app. Effectively disabling tiling.
The spatial feeling is necessary only if things take more space than needed. In this case, this is not valid. There are no things that take more space than needed. It's simply a distraction.
> As far as I can tell there is nothing stopping you from simply using a workspace per app. Effectively disabling tiling.
What if I want windows to be connected? that feature is not offered.
For example, I could have a 2/3 window on the left and parts of another 2/3 window on the right, and going from the left to the right window then scrolls 1/3 so that the full right window is visible.
Pretty cool, actually.
I will want to try Material Shell, too.
Oh dear. Now I remember why I keep using macOS which actually does it better than 'this'.
This was an earlier version of Material Shell based on AwesomeWM. At some point the author wanted more animations and custom menu handling. Those are 2 areas AwesomeWM doesn't really handle well.
So: just like the site says. Top is the taskbar, which also has a left icon for the current tiling pattern (fullscreen, tiled vertically, etc). The left side panel starts at the top-left with the search button that does the Gnome activities overlay, then a globe icon for each workspace, and a button to create a new workspace. At the bottom of the left panel are the system icons (normally in the upper right in Gnome) and then the clock, crammed into bottom-left.
So I don't hate the tiling, and one of the layout options is "floating" so you can have a workspace full of floating windows. Cool.
My first thought was that the panels are too big -- 48px, which seemed overly large. Luckily this is easily configurable in the extension settings, and updates as you change it so there's no guesswork.
If I switch to floating, or a new workspace, I appear to have no wallpaper behind the windows or the "new workspace" launcher. I liked my wallpaper, and I miss it.
I was going to complain about the globe icons for the workspaces, but it turns out it only preselected those icons because I have browsers primarily in each workspace. It'll pick based on the first open app (I think?) or you can override the icon by right-clicking, or have it display a group of app icons for the open apps in that workspace. This is cool! It's not quite the thumbnail previews of virtual desktops I had in 2004 with Openbox, but It works well.
I'll keep on this for a little while -- I really like that I can turn the whole shebang on and off with a single extension toggle.
You’ll probably use 100% scaling?
After going back to mac (for work reasons), It's been a painful experience adjusting to the lack of tiling.
Same situation, I use ‘yabai’ on macos, which is similar enough to i3 for me.
Yabai is actually the second iteration of tiling windows that koekeishiya has made and it's super well developed.
https://github.com/kasper/phoenix/
I hacked something together several+ years ago (see below) based on someone else's config, and I've maybe edited it twice since then, so it likely can be substantially improved. Also, I'm sure it's not as slick as a true tiling manager, but I've certainly gotten a lot of mileage out of it:
https://gist.github.com/michaelsbradleyjr/a8ef81982420d06118...
[0]: https://github.com/ianyh/Amethyst
Gnome is so smooth on Nvidia in comparison but in every other way I prefer and still use cinnamon
I user Gnome on Nvidia, but use the open drivers since Nvidia was difficult to get to a stable state.
Did you just install the nvidia drivers from your OS's repo or get them directly from Nvidia?
NB: The free drivers are working splendidly by the way
https://bugzilla.gnome.org/show_bug.cgi?id=733297
Unfortunately not. Muffin, the compositor is based on a really old version of Mutter, and it’s missing a lot of performance work and fixes that make latency lower and output less likely to hitch, hidpi works better, etc. They need to just drop their fork and use the upstream version. They haven’t added anything significant to Muffin to justify keeping it—-the differences to gnome are done with other packages.
Installed apps and running instances of installed apps are different concepts, damnit, and I don't need a phone-like interface that fakes the idea that all apps are "always running" when they are not.
KDE user here. What you say is false. Xfce is quite primitive in comparison, it has a miniscule amount of features and hence gets away with using less memory. Observational data:
On top of that, some applications for comparison: ---- On top of that, some applications for comparison: ----KDE really has become very bloated. First of all, I cannot uninstall any part of that huge list with the exception of kdeconnectd (don't want/need) or plasma-browser-integration-host (maybe want/need); AFAICT this problem is existing, but not at all pronounced in Xfce.
Due to lazy design choices by the responsible programmers, KDE fails to scale properly down to the user's circumstances or preferences.
• I do not have multiple desktops configured, yet I must spend 532M
• My computer chassis only has a power button that does something in the desktop environment when triggered, and any power saving settings are off, yet I must spend 389M for that
• I do not have any of the five accessibility features enabled, yet I must spend 277M
• I have only one monitor attached, yet I must spend 213M listening for an additional
Then there are many initialisation processes hanging around after the desktop environment has already started. Xfce does not have this problem.
A lot of the processes I cannot even identify in the sense of telling what use they are to me.
Some processes exist only due to their own doing where the responsible programmers painted themselves into a corner (like with the tray icons fiasco), or no one competent stepped in and stopped the submission of a solution that has a simple and superior equivalent.
• Why is there a 153M cache cleaner hanging around resident in memory? This is a job for periodic timer (cron/systemd). Even if real-time cleaning is needed for some bizarre reason, then one would attach an inotify listener to the cache directory, and every time a file is added or changed, a small <1M process executes that calculates the diskspace in use, and only when we are over the threshold, then execute the big cleaning process. Exit the process when done.
• Why is there a daemon for applying the colour scheme? I mean, it's only 7M, but this used to be a...
Virtual memory[1] is not at all the same thing as resident memory[2].
I've experienced similar amounts of memory usage to the stats in this article when it comes to KDE vs Xfce memory usage[3].
[1] https://linuxconfig.org/ps-output-difference-between-vsz-vs-...
[2] https://en.wikipedia.org/wiki/Resident_set_size
[3] https://www.forbes.com/sites/jasonevangelho/2019/10/23/bold-...
That does not change anything in the conclusion.
---- The findings from the article are non-reproducible, too. When I run the desktop environments with a text editor and terminal each, `free -h` reports a clear difference in the "used" column:2. You can disable that feature and use old-style taskbar. In fact it's a prominent toggle in the first-run config window.
My approach is to use the window manager best suited for the task, but all at the same time.
That means for my highly structured multi-desktop, multi-git-workspace programming tasks I use i3, which is ideal for those.
However for my less structured tasks like writing or consuming documentation, email, and personal web browsing, I use a more conventional, less constrained desktop environment (i.e gnome), which is more ideally suited for those tasks.
If I'm willing to abuse the term window manager a little further, Vim running inside i3 serves as a third window management environment I run in parallel, optimized specifically for code editing.
The trick is that I use i3 in its own separate Linux desktop window (In my case running on a remote machine, but you could just as well do this running in a local VM). this allows me to have both environment successful on the same screen at the same time.
This also has the added benefit of making it very easy to find my code editing window among the tons of other windows I have open.
[0] https://regolith-linux.org/
The grid layout is interesting but I found it strange that the all tabs are shown along the left side in split mode. It would be interesting to see how the grid differs from the tree layout that i3 uses.
I did like their default hot keys and the side bar for switching work spaces. Ultimately though if you don't like gnome this isn't going to change that. But if you do prefer i3 and want a more nicer environment with all the gnome system management ui's consider using https://regolith-linux.org/
[0] https://distrotest.net/Regolith%20Linux/R1.1
Zero setup, incredible keybindings.
You can install it on top of your existing Distro, as an apt package. And then log out + log back in using new DE.
I had never used a tiling WM before Regolith, i3 seemed too difficult to configure for someone who didn't truly didn't understand the point/benefit of using tiling WM's.
A day into using Regolith on Ubuntu I was hooked. Been using it for years now and it's the best decision I've ever made, productivity skyrocketed and it looks nice.
I tried Pop_OS shell's tiling WM, as I was hopeful, but the keybindings and behavior aren't as nice as Regolith. It does a "swap" animation when changing tile positioning that slows stuff down, and I could never get the gap borders to disappear completely.
I'd actually somewhat given up trying to keep i3 working nicely and reverted to XFCE (which is at least far less obnoxious then Gnome 3) until I discovered Regolith and have been using it happily ever since.
Agree. I have used i3 for several years, but tried GNOME again recently to experience with Pop_OS's tiling feature. It was OK-ish, but a bit slow when resizing windows when rearranging / opening / closing windows, even with animations disabled.
I have read about Material Shell before, but did not try it. Gave it a try today, and I am pleasantly surprised so far. The animations get old very quickly, so I do what I always do in GNOME – disable all animations in Tweak Tools. This made the experience as close to i3 as GNOME has ever been for me. I will keep using the Material Shell for a while and stress-test it a bit.
I've seen this complaint about GNOME in general before, so I want to mention that animations can be disabled or sped up in GNOME. There's a toggle to disable animations in GNOME completely (using the GNOME tweak tool, in the general setting). There are also add-ons to change their speed (I use Impatience [0]).
[0] https://github.com/timbertson/gnome-shell-impatience
I seem to have read somewhere that an open phone manufacturer (Librem?) is using a deeply optimized version of Gnome 3 to overcome its slugginess on less powerful hardware. Are there any chances their optimizations can be merged back so that every platform could take advantage of them?
This is because I have a few applications (Firefox, Terminal) that are really not applications in and of themselves; the applications are really Outlook, JIRA, Confluence, Slack, OpenShift (logged in as cluster admin), OpenShift (logged in as my regular user), that quick terminal session I opened to work on a script, the SSH connection to an OpenStack director, the 'oc rsh' command that I'm using to administrate a PostgreSQL database running in OpenShift, and so on.
This becomes far worse when using multiple monitors. Say I have teams hanging around on my secondary monitor to keep an eye on stuff. I literally just now alt-tabbed into a terminal and then alt-tabbed back to continue writing this comment. As a result, I'm back in Firefox on my primary monitor (as expected) but now I have an unwanted random Firefox window that I forgot was even open on top of Teams on my secondary monitor!
The only window manager I've ever been at home with while using multiple applications, workspaces and monitors has been i3. Specifically I love how it manages multiple monitors in that each has a current workspace, but workspaces are not bound to a particular monitor. So I was able to have my secondary monitor always showing my 'Slack and email' workspace, and switch between my multiple task-based workspaces on my primary monitor and never get confused like I with GNOME where I want to switch to my email tab but to get there I have to remember ahead of time that I have to switch to my first workspace, then switch applications to Firefox, then switch windows to the one with Outlook in it, and finally switch to the Outlook tab...
Anyway. This project looks awesome and I will try it out!
Sadly a few things don’t work so well in Wayland. For example, Windows games under Proton work fine on X but not on Wayland/Xwayland (I guess since they’re not Wayland aware they can’t bypass the compositor?)
So, I too will try this project out as it looks like it may be a nice middleground where I can be productive in gnome on X.
In general, I'm happy with Sway, but it would be nice to have an X option that works for my workflow too (gnome doesn't seem to have the screen tearing issues i3 did).
Some wine things don't work properly too, which is somewhat annoying, but I only have one wine application I run very rarely, so it's not too onerous to boot back into i3 for that.
The idea here is to also use the tilde while alt-tabbing. Also shift comes in handy to wheel back through the applications.
The problem is that when I tabbed back to Firefox, all Firefox windows on all monitors were raised.
And if you expect me to Alt-Tab to terminal, and then remember to use a _different_ keyboard shortcut, that is now no longer so short because I need to holt alt, press tab, release tab and keep holding alt while then pressing ` until the window with Hacker News is selected then... no way pal I'm not even going to go there, this is madness!
Cmd+Tab switches between applications, and Cmd+~ switches between windows of the current application.
That said, I rarely use Cmd+Tab anymore, I just move the mouse to the top left corner and pick, now that screen could use some UX improvements (i.e. hotkeys for the apps, and maybe grouping, since when you have a lot of open apps, it is hard to find what you are looking for).
Same here. Gone from GNOME because of this.
So I have ctrl-alt-shift-up and ctrl-alt-shift-down bound to move windows up and down.
My mind is not app-centric. I want the shell where I'm looking at logs, the editor where I'm taking notes, the browser where I'm checking some doc. I don't care to think about which terminal application the shell is inside, select that, then find I've opened a different terminal window and have to search through the windows separately. I don't care whether the doc is loaded in Firefox or Chromium so don't ask me to choose based on that.
IMO app-centric task switching works much, much less effectively than window-centric task switching; I hate that all the major DEs have copied the same basic app-based dock design that has been failing in obvious ways since day one.
(Although Windows can at least configure grouping away, and there's the dash-to-panel extension to make GNOME tolerable again.)
I get that an app-centric view is attractive to app developers, who would love me to be engaging with their brand. And that mobile has its own reasons for putting apps in silos. Does nothing for me as a desktop user though.
The worst offender here is OSX. I still haven't figured out a good way to switch between multiple open windows of the same application, not even the file explorer (Finder). It's a huge pain.
If you have the keyboard in another locale (I use ES-intl) that hotkey doesn't make any sense at all: ` is next to "p" in my keyboard, and works only as a dead key. Cmd-` is literally impossible to use on it.
If you are in this situation, do yourself a favor and remap the "move focus to next window" hotkey [1]. It is very useful and I couldn't live without it now.
[1] https://apple.stackexchange.com/questions/280220/how-to-chan...
It's probably worth noting that the defaults remain on common Linux (at least KDE, GNOME, and Cinnamon) and Windows desktop shells with Alt instead of Cmd.
On Linux, Windows, and OSX, adding Shift cycles in reverse order.
Grouping related windows in the task bar makes it frustrating to use it because everything involves multiple clicks. Once you got beyond a certain number of apps the task bar sucked without grouping because there wasn't enough text to display a long enough label to distinguish between windows.
When something takes a long time to load you are incentivized to create a new tab if you might want to come back to that resource rather than waiting for it to load again. This absolutely incentivizes using multiple tabs. If you have 8-12 browser windows + 2 or 3 other windows you are already past the threshold where you have to group windows in the task bar to use it and are now changing tabs by moving your mouse at the way to the bottom of the screen clicking on the browser icon and then hunting for the desired text then clicking again. This is in a word annoying.
if your browser supports tabs you can have 2-3 other windows and 2 browser windows and use an ungrouped taskbar. You can also hit one hotkey to open a new tab or use in browser tab switching in place of all desktop window switching to switch between several. This is much much much better.
Even if all other sins were removed the browser tabs represent a logical grouping and additional context that would be lost with just windows.
I can close them as a group I can book mark them as a group I can save them for later perusal as a group. I can use a side tab extension to more easily switch between a large number of tabs. I can right click on a link and open several links in the background without changing my current context.
They designed a user interface that was only useful for grandma opening 1 browser window at a time and maybe 2 apps at a time.
Ironically the pieces were there with MDI but that was also a bad implementation of the same semantic concept.
For whatever reason, only tiling wms like i3 have ever really delivered at all on the concept of making tabbing a universal thing.
I couldn't open new firefox windows in the background and opening others in the foreground within firefox.
I would have to use i3's horizontal tabs instead of tree style tabs making it harder to read the titles.
I couldn't switch tabs separately from switching windows. This would make having firefox alongside another window suck because it would trivially become hard to navigate. I would have to manually put only the firefox windows in a tabbed layout with the other window outside of it. I would have to focus parent and then focus direction to switch to the other. This would be so for any window I want to use alongside it even briefly.
I couldn't close entire trees of tabs at once. I couldn't close everything except the current tree.
I couldn't save a particular set of tabs as a session to be restored later.
In theory could these features be implemented in an i3 specific nature? Perhaps so long as you are willing to do so for every specific environment and for every individual app.
If we pick 100 apps and the most popular 10 environments and the most desired 10 features we will find we only have 10,000 tasks ahead of us!
Tabbed environments within i3 ARE useful but not as a replacement for tabbed interfaces within applications.
My frustration, fundamentally, is that I don't want every app that wants to use some kind of tabbing interface to be different. Use different shortcuts, different models. I would rather the WM/DE provide a holistic approach that can be inclusive of all or at least most of the basic needs you keep listing, and that could be applied to other programs in a uniform way.
That's beyond the imagination of Microsoft apparently (I agree that just making taskbar items clump isn't the same), and beyond the scope of an x11 WM (which doesn't have any meaningful say over the client area of any program on its own). But it's not impossible, and it's not "the wrong way" just because no one's tried or managed to do it yet.
It's not merely that i3 tabs lack features its that it lacks and ought to lack deep integration with the application.
[1] https://www.haiku-os.org/docs/userguide/en/gui.html#stack-ti...
[2] https://superuser.com/questions/848840/triggering-kdes-attac...
[3] https://www.zdnet.com/article/windows-10s-sets-feature-is-go...
I use HyperSwitch[0] on macOS to solve this issue. I use it to override the default Cmd+Tab behavior to cycle through windows on the current desktop. It's become one of the first things I install on a new machine.
[0]: https://bahoom.com/hyperswitch
https://cdn.arstechnica.net/wp-content/uploads/archive/kde44...
That way, I could put the service logs/terminal on one side, and the IDE and e.g. running website in another window.
You can get this with i3 or any other tiling window manager, but I found too many cases of odd behaviour with i3 and gave up on it.
I can have a tab for Thunderbird, Slack, and Jira in my "Communication" workspace, and Meta-A/Meta-D to swap between them.
Each has a little tab in the top bar that highlights the currently selected tab.
> Because Windows and Mac both only show icons as well
Windows (version Vista or worse, because this definitely wasn't a problem in XP) and Mac are defective by design then.
Contexts gives additional 'switching' options on different hotkeys, fuzzy window searching+selection, history-based selection, and no mouse interaction required (but it is supported)
I dedicate spaces to tasks, eg communications, monitoring, and 3-4 development task spaces with tools/docs/terminals
I have Contexts setup as follows:
Alfred then allows you to add effectively anything you can script/applescript for additional workflows and a complete, keyboard-driven navigation/switching experience, and total deprecation of the slow 10.7+ mission control guiI also use Totalspaces (https://totalspaces.binaryage.com/) to give a 'grid view' spaces overview & manage app-space pinning, Stay (https://cordlessdog.com/stay/) to manage static window placement & sizing, and Sizeup (https://www.irradiatedsoftware.com/sizeup/) for dynamic window movement
Suddenly I'll need a program so I hit windows key, type in the start of the program name, and smash the Enter key. It's super simple. What's the problem?
It's boomers complaining of change genuinely.
I work on 3 monitors; two of them are 1920x1200, the third is a 40" 4K "TV". Nothing about the Gnome model is useful to me. I appreciate that my setup is unusual, and that I do sometimes find myself on a laptop. But I prefer to keep the paradigms consistent, and so 5 named workspaces at all times, thank you very much. I never move windows between workspaces. All of the windows in a given workspace are visible at all times.
And yes, boomer.
For example, say you're doing something (eg programming) that requires both the browser and the terminal. While you're at that, you want to do something that also requires both the browser and terminal (eg checking something in a terminal-based todo app to reply something to your coworkers in a web based chat app). Assuming you leave these things open, you now have to do 2 switches (app switch+tab/window switch) to get to whatever you're looking for in the worst case, 1.5 switches on average.
Talking about switching between programs, yes I thought that was a bit weird in the beginning but it came up so rarely that I eventually learned the habit of using alt+§ (on swedish layout). It's not so bad since the key is right above Tab.
These settings seem to be stored in a binary format so the resulting rc-files can not easily be commited to git. I keep a dozen lines like the above in a script I run on any new gnome-like desktop to make it somewhat sane.
I wish a company would make a good portable computer to fit my work style:
- tall 20" x 12" matte screen with built-in stand to raise it up to eye level
- detachable corded tenting keyboard
- detachable corded tenting vertical mouse
- hot-swappable battery with various weights available
- thin 20-foot power cable with magnetic release on both ends
- vertical docking station with battery charge-level indicator
What does "tenting" mean in this case?
If not, then I don't like that very much. For example the calculator: I don't want it to take 1/3 or 1/4 of the screen. It's like going back into a 35 years ago pre DESQview era.
Edit: nevermind. "In Material Shell windows are tiled. These means they are organised in a predictable way in which they do not overlap".
I guess I like my windows to be not predictable, whatever that means.
If it doesn't have this feature it probably should.
Simple things like configuring bluetooth, or switching audio... or working with multiple displays are just painful. I expected this when I started using Linux in 1996ish. That was part of the hobbiest experience. These days, I just want to get my work done, and if I can do it with a pretty experience, I'd prefer that.
So if I do i3 again, it'll probably be with XFCE underneath unifying some of the experience. Gnome on the other hand, has its own set of issues that make it annoying.
So I'm with you, I would try this.
It basically allows you to have a X11 window running i3 inside your usual gnome session. While in full-screen, that gave me a gnome workspace that was effectively i3.
This is nothing too complicated, just a session with the right components selected to provide whatever services you need: display management, screen locking, WiFi, etc.
It doesn't look like this has one. There's an outstanding PR to add stacking to Pop Shell [0] that I'm hopeful about.
[0] https://github.com/pop-os/shell
This usage of "anarchy" makes me wonder what is so satisfying to advocates of "tiling". I personally don't have a need for new windows to conform to a strict placement algorithm.
My usability requirement for new windows: a) open the window in a timely manner and make it distinct so I can identify it; b) don't fiddle with my visual field unnecessarily.
I use OpenBox. I make the "active" window distinct using a custom theme. I open what I need and hide the rest in a shaded window and/or virtual desktop until I need it. I find what I need in the menus.
(I won't debate the qualities of Gnome, but I prefer a lighter DE.)
That’s why I created what I believe was the first tiling wm "useless gaps" patch for dwm 10 years ago. Since then, it has been adopted by other wm, i3 being a notable exception.
I don’t use a DE, but I guess a little space between those fat bars and backdrop’d windows might help to see through the bloat.
I have yet to see an enjoyable material design app. With the same underlying motivations, I have better appreciation of Apple iOS interface guidelines.
There is just one thing I'm missing from Gnome which is the white dot on top of the time signifying there is an unread notification. With Material Shell I have to manually click the time to see if I have any unread emails or slack messages.
I honestly can't stand global top bars and "system panels" that are nothing more than always-visible launcher menus. They're just a waste of space. IMO Chrome looks ridiculous in the video, with a set of tabs directly underneath the workspace panel tabs.
What I'd really like to see is XFCE with automatic tiling. I can probably script a half-assed version of it myself without too much trouble, but it would be nice to have a full-assed version of that.
That said, I agree with you that it would be nice to have a built-in option to switch between tiling and floating. I've seen that Pop_OS has this, but that's also using Gnome.