GNOME project considers adding window tiling by default
- Reference: 1690886291
- News link: https://www.theregister.co.uk/2023/08/01/gnome_considers_tiling_by_default/
- Source link:
In a lengthy and interesting blog post entitled [1]Rethinking window management , GNOME developer [2]Tobias Bernard discusses the options for adding automatic window management to the GNOME desktop. It's an interesting post, and it raises some interesting ideas… although as is often the case with the GNOME project, what it doesn't mention is as interesting as what it does.
Tiling window managers are an area of active and ongoing research and development in the Linux world, and this is also spilling over into Windows, as well as macOS and iPadOS. What's interesting about this move is that the developers are considering enabling it by default, which would be a radical departure. Lots of operating systems have some level of this functionality, which we'll go into in a moment – it's worth knowing about, as it can be a big win for productivity. Only a few, relatively niche Linux environments have it always-on, though.
[3]
The core of the concept is that half a century ago, when the [4]Xerox Alto introduced the world to overlapping windows , screens were usually quite small. You couldn't see more than one thing at a time, but overlapping windows let you manipulate multiple items at a time in a visual way. Today, screens tend to be big and high-resolution, which makes having lots of little overlapping windows inefficient – but managing them takes additional work that most of us are not inclined to take on. A tiling window manager replaces overlapping windows with ones that automatically arrange themselves side-by-side, as [5]they did back in Windows 1.0.
[6]
[7]
Bernard's blog post does mention [8]Forge , which is one of the top listings to appear if you search for window tiling on the [9]GNOME extensions website – although he mentions it in order to criticise it. There are a number of other extensions that offer comparable functionality which go unnoted, such as [10]Tiling assistant and [11]PaperWM . The latter has an innovative approach, merging tiling with virtual desktops.
What he notably doesn't mention at all is, of course, [12]System76's Pop!_OS , which these days is one of the more popular Ubuntu remixes for power users. Pop!_OS has window tiling built in, although it's turned off by default.
[13]
Regular readers might have worked out by now that the Reg Foss Desk is not a big fan of the GNOME environment, but Pop!_OS made us realise that this is not because it's too strange and different: it's because it's not different enough , and it doesn't really "lean in" to being something distinctly unlike and distinct from more conventional desktops such as Windows and macOS. GNOME takes away familiar features such as desktop icons, maximise and minimise controls, and anything much like a taskbar for easily and visually switching between windows and apps. Instead, it leans heavily on its overview screen which is a nifty feature but perhaps not enough on its own.
As we said when we [14]looked at it last time : "The COSMIC desktop gives GNOME 42 a distinct boost: while vanilla GNOME can feel like it's really aimed at users who live in one maximized window most of the time, COSMIC's tiling windows felt like a power-user feature, and it's easy to use."
The two teams do have a bit of a [15]history of what one might diplomatically call creative differences, and indeed, System 76 is working on its [16]own new environment, dubbed COSMIC . Perhaps this is why the [17]Pop Shell went unmentioned.
[18]
For us, the key point of the blog post is that it talks about the need for additional metadata about the contents of a window in order to decide where to put that window. As arguably the single most popular desktop environment across Linux distributions, the GNOME project is in a position to require such things from developers. If that became something that was a standard feature of Gtk applications, it could significantly improve the whole landscape of tiling environments.
Meantime, though, all is not lost even if you are not a GNOME user. Some of these features are available across most other environments as well. KDE 5.27 has more advanced tiling support, [19]as we mentioned when it came out . Windows users might recognise a form of this as the window snapping feature, which first appeared under the name [20]Aero Snap back in Windows 7. Ubuntu's Unity desktop [21]acquired the feature in 2013 , although it was already controversial and [22]not everybody liked it .
[23]Debian 12.1 released with bug fixes aplenty and excitement still in short supply
[24]Fedora Project mulls 'privacy preserving' usage telemetry
[25]Free Wednesday gift for you lucky lot: Extra mouse button!
[26]Will Flatpak and Snap replace desktop Linux native apps?
Windows 10 has a slightly [27]richer version of this, which has been [28]significantly enhanced in Windows 11. Briefly, although you can snap windows to one edge of the screen as before, the OS will now assist you in fitting another application into the remaining space, as well as more complicated layouts involving three or four windows. This feature actually has a very long history, and an [29]early version was available way back in Windows 95.
Mac users need not feel left out. [30]Split view is built into recent macOS releases – try holding down the option key and hovering the mouse pointer over a window's green zoom button. All the way back to Snow Leopard or so, [31]Spectacle brought keyboard controls and more for this, and from High Sierra onwards, there's [32]Rectangle , among [33]many others . ®
Get our [34]Tech Resources
[1] https://blogs.gnome.org/tbernard/2023/07/26/rethinking-window-management/
[2] https://tobiasbernard.com/
[3] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2ZMksI@A9UKt1AOsBa9CZGgAAAIQ&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0
[4] https://www.theregister.com/2023/03/16/the_xerox_alto_50_years/
[5] https://www.computerhistory.org/revolution/personal-computers/17/303/1204
[6] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44ZMksI@A9UKt1AOsBa9CZGgAAAIQ&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[7] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33ZMksI@A9UKt1AOsBa9CZGgAAAIQ&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[8] https://extensions.gnome.org/extension/4481/forge/
[9] https://extensions.gnome.org/
[10] https://extensions.gnome.org/extension/3733/tiling-assistant/
[11] https://extensions.gnome.org/extension/6099/paperwm/
[12] https://pop.system76.com/
[13] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44ZMksI@A9UKt1AOsBa9CZGgAAAIQ&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[14] https://www.theregister.com/2022/04/28/pop_os_2204_is_here/
[15] https://blogs.gnome.org/seb128/2019/06/27/system76-pop-os-team-should-learn-to-work-with-their-upstreams/
[16] https://www.theregister.com/2021/11/08/system76_developing_new_linux_desktop/
[17] https://github.com/pop-os/shell
[18] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33ZMksI@A9UKt1AOsBa9CZGgAAAIQ&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[19] https://www.theregister.com/2023/02/16/kde_plasma_527_gnome_44/
[20] https://learn.microsoft.com/en-us/archive/blogs/e7/designing-aero-snap
[21] https://www.theregister.com/2013/04/25/ubuntu_13_04_review/
[22] https://www.theregister.com/2012/01/04/virtual_appliances_at_home/
[23] https://www.theregister.com/2023/07/25/debian_121/
[24] https://www.theregister.com/2023/07/10/fedora_privacy_telemetry/
[25] https://www.theregister.com/2023/07/05/mouse_button_101/
[26] https://www.theregister.com/2023/06/09/will_flatpak_and_snap_replace/
[27] https://support.microsoft.com/en-us/windows/snap-your-windows-885a9b1e-a983-a3b1-16cd-c531795e6241#WindowsVersion=Windows_10
[28] https://support.microsoft.com/en-us/windows/snap-your-windows-885a9b1e-a983-a3b1-16cd-c531795e6241#WindowsVersion=Windows_11
[29] https://devblogs.microsoft.com/oldnewthing/20090728-00/?p=17333
[30] https://support.apple.com/en-gu/guide/mac-help/mchl4fbe2921/mac
[31] https://www.spectacleapp.com/
[32] https://rectangleapp.com/
[33] https://medevel.com/10-windows-managers-for-macos/
[34] https://whitepapers.theregister.com/
Re: Killer app
[Author here]
> I kinda just assumed that this was default behaviour for all OSs now.
It is. I think you're missing the point.
The point here is not edge snapping: as you say, virtually everything does that now. The point here is moving beyond simple edge snapping.
For example, one of the big differences is what happens when you resize a window which has been snapped to one edge of the screen.
In a first generation window management system that supports edge snapping, when you resize one of the windows, you resize only that window. Any other window next to it becomes a window underneath it, partially obscured.
What are true tiling window manager does is to resize them both in a single operation: One gets bigger, one get smaller. Once you try this, it is rather wonderful, and you want it everywhere. (oh, of course, you may hate it – as Trev hated aero snap — and just want to globally turn it off; that is a legitimate choice as well.)
The next step from managing two edge snapped windows, or possibly if you're using something fancy that supports quarter sized windows, three or even four corner snapped windows, is the more difficult case of managing three or more windows. On a widescreen display this is very desirable. So, to give an example, you might have windows in three columns: one on the left edge, one on the right edge, and one in the middle which isn't edge snapped in any way, but you wanted to remain tiled with the other two. That's where the stuff suddenly gets harder. That's where edge and indeed corner snapping is no longer adequate, and you need some smarter solution.
That's what they're grown people are considering trying to do here, and that's why I wrote about it.
Windows 11, much as I dislike it in general, actually has a pretty good stab at doing this. I linked to a Microsoft demonstration of it in the article, and I'd encourage watching reading that and watching the videos therein.
Re: Once you try this, it is rather wonderful
No it [redacted] isn't.
I just want windows to be the size and location that I put them. MY CHOICE not that of the deranged developers.
Re: Once you try this, it is rather wonderful
Yes, how dare they make an optional feature that you can turn off. Don't they know Gnome is created for YOU and YOU alone?
Re: Once you try this, it is rather wonderful
GNOME is created by and for developers who hate users.
Re: Killer app
This. Global resizing good. Snapping bad.
Re: Killer app
"...of course, you may hate it.. and just want to globally turn it off; that is a legitimate choice as well."
GNOME has a bit of a reputation of making choices for you. It's nice to hear that you will be able to turn this off if you prefer working in another way.
Re: The edge snapping tiling was Vista's killer app for me
And for me it was a right PITA. We all have different use cases and having one imposed on us (and likely without any way to turn the effing thing off) is just wrong.
Gnome is a lost cause to me. When Gnome 3 came out and screwed us over big time, I gave them the finger. Since then they had IMHO become even more [redacted]
Not all of us want the Windows UI on Linux but that is what the Gnome idiots seem to think.
XFCE all the way.
Re: The edge snapping tiling was Vista's killer app for me
The thing with Gnome3 and beyond is that they moved to a more keyboard centric flow...I personally didn't (and still dont) find Gnome to be bad at all...itnis what it is. For me Gnome3 did what I wanted it to do...it receded into the background a bit more and got further out of my way.
I used to love Gnome2, because I could switch tons of shit off and get it out of my face...Gnome3 to me was essentially what I was doing with Gnome2 but set up that way out of the box.
The only thing that pisses me off about Gnome3 is the crappy systray behavior.
I still turn off a lot of stuff...like search and so on, because when I tap the super key, I just want to be able to search apps and thats it...I've never cared about searching through my files because I use the command line for that where there are faster and far more superior tools available.
All I want in a DE is that it takes up as little of my screen as possible and gets out of the way when I work...Gnome3 etc is exactly that.
Your DE is a conduit through which shit gets done, nothing more.
As for XFCE. I used that for quite a while on a laptop and whilst it was perfectly serviceable and worked just fine, it just felt a bit naff, cant quite put my finger on it, it was just never "slick", and the older my install got the weirder it became in terms of visual consistency.
Yeah I know, I can customise it and fix that sort of shit...but when you're onsite somewhere and an update makes things go whacky and requires some tuning, you can't burn your customers time fixing it.
The stock look is wank and I think the only fair comparison for DEs is what they look like and how they behave out of the box.
XFCE out of the box is wank.
Re: Killer app
Gnome has had snapping windows and Vista like tiling since before Vista.
The tiling referred to in the article is akin to i3wm style tiling...which is even cooler but classic tiling WMs have a major drawback...they are an absolute twat to configure...but once done they can look and function brilliantly.
Go take a look at /r/unixporn to see the type of stuff people do.
I love using tiling window managers, but I hate the inconsistencies in appearance. Bringing this functionality to Gnome would be amazing because essentially you'd be able to have your cake and eat it because you could use either window arrangement method when it suits rather being stuck with just one.
The real killer feature would be the ability to set one workspace as a tiling setup and leave another as a standard window setup...or even allocate it by monitor.
In usually have a metric shit ton of terminal windows open and they would benefit from some automagical tiling because I often lose my terminals and just CTRL+ALT+T another because it faster.
I can't go full time to a dedicated tiling WM because of the sort of Dev I do...working with browsers and responsive layout testing is an absolute faff on a tiling WM...not to mention that sometimes your flow breaks when you land in a pane that has overlapping keyboard shortcuts...yeah you can rebind them, but that just potentially shifts the overlap elsewhere.
Re: Killer app
Personally I hate tiling but it sounds to me like you should have a look at zellij for taming your terminals. I far prefer to have one thing on the screen at a time and switch between terminals using a more traditional multiplexer (tmux these days, GNU screen previously) but if you like having multiple terminal tabs and also multiple terminal panes, zellij is very straightforward to use.
Don't think so.
As arguably the single most popular desktop environment across Linux distributions...
Widely used may not equate to popular.
I've seen a lot of adverse comments over the years about the habit of the Gnome developers habit of taking useful feature away and then when asked why the reply goes along the lines of "My way or the highway."
I think that the desktops coming from the Mint team are more popular even if not so common. Basically what these do is work with the user and do not issue diktats from the developers.
Yes, there may be times when an innovative approach is needed but remember the UI is a tool, there to do what you want and then get out of the way. Change for changes sake is not always a good idea.
Re: Don't think so.
Yeah. Windows is widely used, but that doesn't mean it's popular.
Re: Don't think so.
False analogy. Windows is widely used because if you want to run Windows apps, you have to use it*. There's no such limitation in Linux. If you want to run KDE, or whatever those weird WM's that look like somethign from the 90s are, you can – and still run the same apps.
(*Yes, I know about Wine. No, I don't think it makes a difference to the point I'm making)
Re: Don't think so.
[Author here]
> Widely used may not equate to popular.
Well, yes, I do personally agree here.
The snag is that, to run with your example of the desk tops in Linux Mint -- Cinnamon, Maté and Xfce -- the first only runs under X11 and doesn't support Wayland at all, and the other two struggled significantly with moving to Gtk 3, just in time for it to be abandoned as GNOME moved onto Gtk 4, and only XFCE is really working on Wayland support at all. I'm not aware of any significant effort toward Wayland support from the MATE project.
The fact that Miriway has some extremely limited support for running one or two isolated MATE components is one of the reasons I wrote about it:
https://www.theregister.com/2023/07/28/mir_canonicals_wayland_compositor/
Why would I want all my windows tiled? Yes, sometimes I might want two half screen apps stuck together when comparing files. But mostly, I want two or 3 windows in full view depending on what I'm doing and the rest of them - well, I'd like to see if something has happened (or, given our network stability, something nasty has not happened), while I work on the others. AND to see my background in the rest of the space.
If they want to do something useful, please stop new windows grabbing focus. Because that is incredibly annoying. I start something because I'll want to look at it later, and then go on doing something else in the same (or different) window. And this new thing popping up after some random delay and grabbing the keyboard unexpectedly causes all sorts of problems.
Tiling is sometimes useful when you're working on a task which requires you to keep an eye on two different windows or applications at the same time, or need to keep two things in view. I use PopOS, which has a nice built in tiling system you can turn on and off with super-Y. I probably use it about 10% of the time, and the rest of the time I'm mostly just working in one application. I don't understand the fervant "tiling is the one true way" nonsense that you see spouted all too often, but it is occasionally useful.
What I really need is multiple desktops
The last time that I looked gnome did not have that - one of the big reasons that I stick with Mate.
Re: What I really need is multiple desktops
I'm not sure if I'm missing something in what you're saying, but Gnome has had mutliple desktops (workspaces) for quite a while.
Re: What I really need is multiple desktops
[Author here]
> The last time that I looked gnome did not have that
When was that, 1998?
GNOME 2, 3 and 40 all have virtual desktops. I even rather liked the implementation in GNOME 3, although it only worked well if you had just 1 monitor. So of course they've broken it in 40.
But it is there and always has been.
What's interesting is how much the Mosaic version looks and acts like Apple's Stage Manager, which also attempts to stop windows overlapping too much, keeping more windows visible. Where it differs is that the default on the Mac is for newly-opened apps to open in their own "space", which is sensible given that a lot of apps make assumptions that they can take up as much space as they want.
It has always felt to me like Apple's window management has never been less than totally chaotic. From the darkest days of the 90s (I never suffered with Apple exposure in the 80s thankfully) through to the current day, Apple's desktops invariably stick windows exactly where I don't want them (and usually somewhere I have to struggle to find them.)
Interesting that the first paragraph of the blog post accidentally touches on the real problem with traditional window management as it's implemented today:
"In this metaphor, each app can spawn one or more rectangular windows, *which are stacked by most recently used*..."
That, right there, is your problem - the assumption that any interaction with a window must cause it to pop to the front. That hasn't always been the case - and for as long as I can remember even Windows has had a workaround for the problems it causes for drag-and-drop. (Try it: open a filer window in Windows and in Linux, open a smaller window on top, and try and drag a file from the large window into the small one. On Linux the large window will immediately pop to the front, obscuring the drop target. On windows the pop-to-front is deferred because the click initiated a drag-and-drop.)
There were heated arguments about how to solve this in the Gnome 2 days, but as usual more heat than light was generated.
My own preferred way of working when developing is to have a text editor running full screen, and a terminal window on top of the lower-right ninth of it - with raise-on-click disabled so it doesn't vanish every time I click in the text editor. If I want to see the full editor momentarily I can just click its titlebar, or middle-click the terminal window's titlebar (unless its a CSD window - rant for another day!)
That's apparently such a radical way of working that of the main desktop environments I think only XFCE makes it available as an option to the user.
(MATE's window manager can do it to, but you have to find the setting using dconf-editor - where it's accompanied by a rather antagonistic and no-longer-entirely-accurate message[1] left over from Metacity. Reading that message for the first time back in 2008 or so was the moment I first realised that my ability to use the computer the way I preferred was going to be limited not by technical matters but by politics.)
All that aside, there are some interesting ideas in the blog post and I look forward to seeing what comes of them.
[1] this one: https://github.com/mate-desktop/marco/blob/master/marco.pot#L431
They're overcomplicating it again
> need for additional metadata about the contents of a window in order to decide where to put that window.
Bollocks.
I use i3wm, which is tiling only* and it puts things where I want them, because I put them where I want them. I guess this makes me a "power user" because I don't mind pushing C-M-arrow on occasion?
And I'm pretty sure much of the group of people who don't like Windows's management thereof might also not want/need/like any feature like "huh looks like that one is your web mail".
* okay, you can have a pop-out window and nontiled dialogs
Re: They're overcomplicating it again
Not everyone wants to spend their life rearranging windows so they're *just so*. Why bother posting a comment that's basically just a variant of "I don't like it, and won't use it" when you're clearly not the intended audience for it?
Must be optional
Might I suggest some rules for such a tiler:
If the window has been manually resized and moved by the user, then *never* move or resize it automatically.
If the window has had a given size/position for a long time and is used often, then *never* move/resize it automatically.
I used to use Gnome2. Gnome3 came. Hated it. Found Mate. Still using it more than a decade later.
Why? I do not spend time interacting with the window manager. Monitor is old 1280 x 1024, in portrait mode. It has the tool, etc. bar vertically on the right. That leaves room for a pair of 80 column, full height windows side by side. The right hand one is Gnu emacs. The left hand one is a shell. Buffers in emacs come and go. Testing of my code, email, file handling, etc. run in the left window. A shell buffer in emacs is also used, but tends to be for things that don't produce a lot of output.
If a window manager that I cannot control ever fiddles with those two windows just because I temporarily open up another window, then I will find where the developer lives.... :-)
Web browser? That means I'm taking a break from programming - the two main windows are iconified.
Lately I've often had a PDF viewer for the X86-64 architecture active, but it comes and goes iconified as needed.
I do not want a system that relies on my very poor memory to find key combinations or weird names to control my system and run things. Give me menus!!!!
This could be a significant productivity boost for the most common Linux desktop environment – as well as further afield.
The idea of GNOME wanting to improve productivity is ... peculiar. These are the people who decided that two identical "gear wheel" buttons to the top left were preferable to menus with actual titles.
I find having multiple windows open to be quite distracting. It's okay if I'm working different versions of a spreadsheet or doc but otherwise quite distracting.
So DEs are catching up with Emacs, are they?
Emacs has had this "tiling" behaviour for well over 20 years, possibly nearer 50 years.
Inside each Emacs frame (GUI "window"), the Emacs windows are optimally positioned. When one is resized the others are correspondingly resized to match, etc.
This was true before there even were GUIs, when terminals were just character terminals.
It's nice to see Gnome et al. catching up with 50 year old technology. ;-)
Killer app
As dumb as it might sound, The edge snapping tiling was Vista's killer app for me. Not the 64-bit nature of the OS, not the aesthetic, but being able to work on 2 things side-by side using the full screen without faffing about with window sizes.
I only realised how much I relied upon this feature when I went to university (2010), where the Computer labs still had XP installed.
I kinda just assumed that this was default behaviour for all OSs now. It's been 16 years.