Hacker News new | past | comments | ask | show | jobs | submit login
Rethinking Window Management (gnome.org)
263 points by ayoisaiah on July 26, 2023 | hide | past | favorite | 263 comments



People generally have pretty good spatial sensibilities, and I feel like modern OS designers seem to forget this. You feel this especially on iPadOS.

Physically arranging windows allows for a much more solid multi-tasking experience, and encouraged direct manipulation of content e.g. drag and drop. Transient "palette" or "panel" windows allow for a short term buffer (think a find/replace panel). To me, this is what made macOS so great for creative tasks. It activated my spatial memory.

I'm grumpy about the recent trend towards apps living in one monolithic window. Apple's going down this route with their recent app redesigns from multi-window to single window, likely due to a (selfish) desire to unify with iPadOS. Electron adds a dev tax for multiple windows, such that folks don't really think to do it.

I think this trend is probably due to the convergence of desktop app design with the web, which is inherently single window -- and traces its roots back to window.open() being abused by pop-up ads.

It's unfortunate because a single window user experience is limiting -- and people are forgetting that anything else is even possible. I miss the days when chat apps had separate windows for each chat, and a buddy list you could pin to the side of the screen.

(If you've only ever got comfortable with a windows-style "maximised window" approach, you'll probably disagree with me, however).


> (If you've only ever got comfortable with a windows-style "maximised window" approach, you'll probably disagree with me, however).

Windows-style? Microsoft's APIs and design paradigms are as floating-window focused as they are maximized-focused. And I don't think I've had a window open maximized since the XP days. Multiple document interfaces were a first class citizen for a decade and a half, so clearly they understand and encourage window use.

Single task, maximized windows are a user paradigm. Usually by regular old users that just want a browser, tax program, video game, etc and that Windows doesn't get in the way of. These same people will use the expander in macOS, or just use their computer with a single half-sized window in the middle of their screen. "Power" users (devs, creatives, traders, PMs, CSRs, etc) will best use the environment in any OS, for their use case.

In addition, maximized windows are ubiquitous on mobile platforms and are a paradigm that Apple seems insistent on, considering how hard the Android (and Microsoft before their inevitable mobile death) companies are working on solving the multi-tasking problem. Even now, I can have multiple floating, resizable windows on a Galaxy device; while I can not on an iOS one.


Yeah. Also:

Windows 10 brought in some decent tiling/snapping, and windows 11 greatly expanded the tiling options for windows.

It’s not i3 or bspwm or anything, but Microsoft does at least seem to understand desire for the window manager to help you nicely place several windows in to nice places.


I think window snapping was introduced in 7 actually. Might have even been vista - I never had the misfortune of using Vista.


Windows has had Tiling functionality since Windows 1.0, but retrofitted onto a stacked manager from Windows 2.0+ (same as Gnome, macOS, etc do). "Side-by-Side" (exclusive tiling mode) was added to Windows Vista, and upgraded to "Aero Snap" in 7. It has been iteratively improved from there.


I really appreciate apps that open new windows where it makes sense, but I'm pretty sure the reason it died out is because people started using too many windows for conventional floating window managers to handle. I'm not sure if many people really felt the burden it would have caused, because the growth in number of windows arguably began with having many webpages open at once, and firefox, and then later internet explorer with version 7 (or maybe 6?), introduced tabs as a core part of using a web browser.

When I'm using a tiling window manager that supports tab-style layouts (i3, sway, gnome+popOS) applications that open new windows liberally are great because the alternative is to have an ad hoc bespoke window manager inside every application, and it's much better to have a single consistent window management experience at the OS level with one set of keybondings and predictable behavior.

But if I had to have a floating window for every webpage I have open, I'd never find anything!


Not everybody works in a browser. I usually have an Edge, a Teams , an Outlook, a Total Commander and an Excel window always open. Then the working windows depending on the task: doors, CAD tools, etc.

Window management is a solved issue: just give me a fvwm window manager and i'm happy.

But of course, on Windows (see above) no fvwm and Gnome must reinvent the wheel every other year.


> But if I had to have a floating window for every webpage I have open, I'd never find anything!

That's how I do it (and prefer it!)

I am very allergic to tiling windows and somewhat allergic to tabs. I want everything to be a free-floating window so I can organize things as I wish.


It was definitely ie7 and not ie6 that had the tabs.


It was the first thing they added to IE after years of letting it rot to put something out against the rising popularity of Firefox.


I would take issue with your first claim. People, in general, have very mixed spatial sensibilities. Is why it takes herculean efforts to keep dishes organized in a family. Some people have organizations they want. Some have different and incompatible organizations they want. Some people just don't care.

Seriously, look at the insane amount of effort that a grocery store has to go through to keep things organized. Keeping things spatially coherent is just not a thing that people do for things they don't care about.

To get even crazier, look at the vast differences in how different clothing stores spatially organize each other. Each is organized. Each is fairly incompatible with the others. Even department stores have a great deal of variability in the different departments.

So, any attempt at rethinking window management with the idea that you can find a superior form of management is so doomed to failure that it is kind of comical.


Not only this, after decades I have decided that fewer visible windows is better for my focus. I went from using ultrawide and multiple monitors to a single 27” 5k monitor and find myself more productive than ever.

If the window is out of the way, on another virtual desktop or behind the current window it takes less of my attention.

I don’t respond to email or chat as fast because I’ll only check these apps infrequently throughout the day. At most I’ll have two app windows on display at once now.

Everyone is different and people are different from one day to the next.


I wouldn't cite grocery stores as a model for "organization" given that their "information architecture" of where things are in relation to another is driven by dark design patterns like "put the most often sought after items at the BACK of the store (like milk / eggs) so people have to walk through and see all the other products". There's nothing "organized" about this insofar as being an optimal organization for anything but manipulating people.


> There's nothing "organized" about this

Ohhhh no. It's organized all right, very much so... just not for the customers' benefit.

No no, it's organized for the shops' benefit.

Some hlalmarks:

* Perishables around the edges for quick stocking and restocking. Non-perishables around the middle where they don't need to be changed so much.

* Areas that need environmental controls are grouped: so...

- bakery products in one area, lighting is yellow-gold, air fresheners emitting maltol, etc.

- chilled goods in another area, with a lower ambient lighting level and a different colour palette;

- fresh fruit & veg in another area, lit with greenish light, air fresheners emitting something piney or something herbal-smelling;

And so on.

On the shelves, typical eye-levels and eye-lines measured, premium products put at eye level, budget ones down where they are less visible so fewer shoppers will find them, meaning more stuff with higher profit margins sells;

Tempting fresh stuff is encountered first, in case the customer is hungry, to tempt them.

Boring slow-moving stuff, frozen goods, imperishables, toilet paper etc., right at the end.

It's highly organized but not _for_ you; no, it's organized to exploit you.


It is organized for a reason. We may not like the reason, but this feeds into my point of how many people are oblivious to this.


> I miss the days when chat apps had separate windows for each chat, and a buddy list you could pin to the side of the screen.

It's weird that ability to see 2 chats at once is now both more arcane and complex than when the chat apps started; in most you'd need to explicitly have 2 separate instances of either webapp or webpage running to do that.


This is exactly how I feel, and you put it very well. The one nice thing (to be fair, there's probably others but I haven't used it very long) about Win 11 is that your external monitor remembers your exact window configuration at the time of disconnection, so when you plug your laptop back in, you're good to go.

But the broader issue of spaced out information, wasted space, and a lack of *density* is what really drives me nuts. Cyberpunk promised me pic related (https://i.redd.it/dqipakmui3161.jpg) but we got tiling into preset (aka rigidly defined) configs instead. Note that I'm talking about the by-default experience.


Single window apps came in with NeXT. I heard a theory early on in the NeXT/Apple merger that it was because the window server buffering was so heavyweight on early hardware that multiple windows just made things too slow.

While I personally agree with you, I think you're overestimating the desire of most users to manage multiple window clutter themselves except in very limited contexts.


that sounds very weird to me. NeXT applications very much had multiple windows, and NeXT computers as well as PCs running NeXTStep could handle multiple windows just fine. even the app menu was its own window floating independently from the actual application window. so i really do not see where the claim would come from that multiple windows made things slow.


I used a NeXTstation Turbo Color through 2010 and ran a myriad of windows all day everyday. I have no idea what that parent poster is talking about.

This was a 33mhz 040 with 128mb of ram and NS3.3 and OS4.2.


No, not even slightly, as others have said.

NeXT sold megapixel displays as standard. It was considerably more window-heavy than most GUIs because it was only sold to power users.

Hell, even menus went in their own window!


I honestly don't know how someone could do much of anything in a "single window" on a 27" iMac screen. (Anything beyond, say, watching a movie or the like.)

On a laptop, sure, to a point. But these drive in theater style displays? Not quite sure how that works. Maybe it's great for video editing, but the screen is so large, and the eye can really focus on just a small portion of it, just seems like a lot of wasted space.

For example, I have this in a browser window, on my 27", with the text box, at, say, 6" wide by 2" tall, is roughly centered on the screen, about 30% down. The unexpanded text area has, I'd say, 6" of "margin" on the top, 8-10" on each side, and similar amount to the bottom. (Arguably it's a bit too hight right now for me.)

Not the window, mind, the text entry box (which could be expanded, but I don't). So, I'm easily "wasting" over 90% of my display right now. If it was "full screen", it would be crammed in the upper left corner. I'd either have to chronically cock my head, of simply shift the entire display over to put it in a comfortable position.


> I honestly don't know how someone could do much of anything in a "single window" on a 27" iMac screen. (Anything beyond, say, watching a movie or the like.)

Well, IDE windows have sub-components while still techncially being "single window". CAD/graphics related ones like space. Most other apps don't need more than half of that screen.


This is usually where I reference the idea of toolkits taking to each other as pioneered during the Smalltalk era: https://www.youtube.com/watch?v=AnrlSqtpOkw&t=4m19s

See also 'toolkits, not apps' tweet by Bret Victor : https://mobile.twitter.com/worrydream/status/881021457593057...


I assume there's a thread there that elaborates? Can't see threads anymore if you're logged out of Twitter/echs.


> Physically arranging windows allows for a much more solid multi-tasking experience,

I think so, too, but I wouldn’t bet on it being true. I think we spent a lot of time rearranging windows, losing productivity, especially on the small screens of the day.

In some cases I think that was worth it in the sense that you could set up your workspace with the tools you needed for the job at hand.

Maybe, the issue is more that modern applications dictate your work setup too much, not allowing you to make them feel your own?

> and encouraged direct manipulation of content e.g. drag and drop.

That’s true, but I think the usefulness of drag and drop is limited, anyways (for example, when did you last drag and drop a picture between windows or a text selection? And aside: do you know iOS supports dragging and dropping text selections?)

> To me, this is what made macOS so great for creative tasks. It activated my spatial memory.

I don’t follow that chain of thought. How does activating your spatial memory make an OS great for creative tasks?

Also how are the current single-window-with-inbuilt-palettes applications worse for “activating your spatial memory”? The palettes still are there, and in more predictable locations.


You made me think about how my phone has 5 times as many pixel across as my first PC(I personally owned) yet I can't do half as much with those pixels as I could with that PC....

How is 3000 pixels not enough to let me arrange windows myself but 640 was?


I know you are just ranting, but the size of the corresponding pixels is just vastly different. You can VNC/RDP into a desktop from your phone — try to actually click what you want afterwards. Let’s not pretend that designers are mentally challenged or something.


And distance from your face?

Also, how large are the button on your on screen keyboard and how do they differ in proportion to screen size compared to the referenced older format?


The chat inside Gmail (I'm not even going to pretend to know or care what they call it now) has separate "windows" for each chat.


I think we'll see gui toolkits adopt something like reactive design, where if you have the screen real estate the single-window-with-tabs will permit you to break them out to a dockable window, a modal, etc. Less choice, but I could see it going this way.


Conversely I regard modal dialogs as one of the worse sins a ui designer can commit. Sometimes necessary, but they should never willingly interfere with interactivity. This then sort of leads into the next point.

Overlapping windows. It lets you put more applications on the screen at once but it does not really do much for the user in terms of workflow. The window underneath is obscured so I can't really use it without fishing for it. When I am working I ether want to see a few windows at once(documentation|editor) (reference|photoshop) (chat|web) or I want to only see one application, I never go "Oh boy I am glad I can only see half this window". So tiling window managers are close to the end game for desktop productivity. It is a shame that windows/mac are so entrenched in mediocrity and make implementing them fiddly and awkward.


> When I am working I ether want to see a few windows at once(documentation|editor) (reference|photoshop) (chat|web) or I want to only see one application, I never go "Oh boy I am glad I can only see half this window".

Actually, thanks to "responsive design" and whatever other new inventions, I often go "boy, would I like to only see half this browser window" when I want to have the (documentation|editor) setup on a smaller screen (i3 on a laptop). Because I want to see the actual documentation, not the multiple navigation menus that take up half the browser window. And no, I can't zoom in and pan, because then it will trigger some breakpoint and whatnot and the text becomes comically huge as it thinks I'm reading on a phone.


A closely related sin: stealing/changing the users key or mouse focus.


I got kissed at Apple when they took over soundjam, killed its audio and visual plugin capability and made it into itunes.


"Kissed"...?


Not OP. Probably meant:

"Kissed" => "pissed"


Aha!

That is not obvious to a British English speaker such as myself; in my language, "I got pissed" means "I became very drunk". The American usage, I suspect, evolved from our "pissed off".


>> The American usage, I suspect, evolved from our "pissed off".

Correct. Americans might say: "Watch out! The boss is pissed." which is the same as "Watch out! The boss is pissed off!"

>> "I got pissed" means "I became very drunk"

The American English usage is typically: "piss drunk" meaning "so intoxicated that the person might urinate on themself".

See also: https://english.stackexchange.com/questions/351812/pissing-i...


> The American English usage is typically: "piss drunk" meaning "so intoxicated that the person might urinate on themself".

That one is new to me.


> I'm grumpy about the recent trend towards apps living in one monolithic window

Me too. It's a terrible paradigm that I'd thought we'd left behind a long time ago. But I guess everything comes around again.


As a longtime macOS user, while I don't mind the rest of how it handles windows/apps I've never liked the fullscreen mode that was added in 10.7, and the GNOME fullscreen mode mentioned in the blog post is identical. I don't maximize windows often, but when I do I don't usually want the window to be spirited away to its own separate universe, and the apps that actually need fullscreen implement that functionality independent of the window manager.

It's interesting they're considering implementing a way for apps to signal to the window manager the size it prefers for its windows. This has been a concept on OS X since 10.0, though it's only ever been used by the OS figuring out what size to zoom to/from when the user clicks the green zoom button. If this feature makes the cut it I'll be curious to see what other uses they find for it.

One concept I'd like to see return in modern desktop environments are 2D grid virtual desktops. OS X 10.5/10.6 had what I'd consider the best implementation of the idea and I loved it. It leveraged spatial memory much better than the linear layouts popular these days, especially with short smooth animations to make movements between desktops more concrete mentally. 2D grid virtual desktops can still be found in more "old school" type DEs like XFCE but the level of polish isn't comparable.


> the GNOME fullscreen mode mentioned in the blog post is identical

after being given a macbook pro for work, i can't stop thinking that gnome developers/designers people are just people that didn't manage to get hired by Apple, and just keep copying mac os over and over again.


What GNOME takes from macOS is mostly things that are shared with iPadOS, interestingly. The Mac-unique bits, especially anything power user oriented, don’t typically get copied.

So if anything I’d say that GNOME is more like a desktop reimagining of iPadOS.


Yes, agreed.

I used to think that GNOME 3 was a poor rip-off of Unity, which was a quite decent rip-off of OS X which I still enjoy using today. I am typing in a Waterfox window under Unity right now.

But then I worked out that no, that's just cosmetics, similarly to ElementaryOS. In fact, it's a desktop version of iOS/iPadOS, as implemented by people who don't know how to drive MS Windows with the keyboard, so they reinvented a whole bunch of stuff.


Nah, if that was the case it might've been actually decent...


And win 11 is a gnome copy..


> As a longtime macOS user, while I don't mind the rest of how it handles windows/apps I've never liked the fullscreen mode that was added in 10.7, and the GNOME fullscreen mode mentioned in the blog post is identical. I don't maximize windows often

As a longtime Windows user who recently moved to Linux, I can't live without fullscreen mode: all my apps are run in fullscreen, not with F12 """fullscreen""", just normally and without useless decorations like a titlebar.

I love the new UI that started on Windows, where Edge doesn't lose a full line to a useless titlebar and close button: instead, there's a X at the top right.

You'll wonder, but what if I need to resize the window or move it? But as I run my windows in fullscreen mode, I don't need to do that: if I want to start a terminal, it's started on another "virtual desktop" where it'll also be run in fullscreen mode

Someone else said they thought "tabs on browsers were invented because no desktop environment or GUI toolkit ever came up with a decent solution" - I don't want a decent solution!

I'd rather have edge offer me vertical tabs with icons, wezterm offer horizontal tabs with ascii text and so on - more room for content! And no tabs when there's only 1 opened tab, and ideally, no space lost for the scrollbar either: unless I'm actively scrolling, I don't need to see it.

> One concept I'd like to see return in modern desktop environments are 2D grid

It's too complicated: just give me a line, with numbers from say 1 to 9 like the numbers on my keyboard: if I press Win + 1, take me to that desktop. If I'm already there and the app I pinned to that desktop isn't there, start it.

> the level of polish isn't comparable

Try hyprland with Arch: before I did, I thought I hated Linux, turns out I just hated Gnome and Ubuntu.


I use hyprland too.

macOS's full screen mode is like the experience of using hyprland. It is vastly inferior. Yes, it hides window decorations and that is good. But its lacking shortcuts to switch directly to a particular workspace (so it lacks the Win + 1 feature that you are talking about, you can only transition between workspaces with a keyboard in order with ctrl + left or right)


> it lacks the Win + 1 feature that you are talking about, you can only transition between workspaces with a keyboard in order with ctrl + left or right

I hate it when I can't change the shortcut to be what *I* like, so I'm not a big fan of macOS either.

hyprland looks better and that's important, but to me its #1 strength is how you can use it as a solid base to build your workflow, with whatever keyboard or mouse shortcuts or even a mix of them (like Win + mouse dragging is often configured to reposition windows in non-tiling mode)


Hyprland looks neat. I was expecting to see a FAQ entry comparing/contrasting to sway. What made you choose hyprland over sway?


> What made you choose hyprland over sway?

The number of people talking about how great it was, while it's much more recent that sway: it was too high to just be by chance.

Eyecandy is important, and so is flexibility: check https://github.com/end-4/dots-hyprland and you'll see very different styles made from the same hyprland that I use in "each window is fullscreen" mode.

But to stay with a desktop, you've got to integrate it to your workflow, and what made me stick to hyprland is that it's possible to define a keyboard oriented workflow, like I had on Windows


Is there any showcase that shows actual work rather than:

* changing wallpapers

* changing music

* changing mouse cursor speed settings (why is that even in quick accessible panels, I've set it once 10 years ago and haven't changed it)

?

Coz outside of being pretty it looks like worse traditional manager like xfce... I don't get the appeal.


> why is that even in quick accessible panels

Different people like different things?

FYI, there's no default panel in hyprland: if you want something you've got to configure it. ewww or waybar give you something like a dock or a taskbar, while wofi gives you menus.

For wofi, I have configured the window key to open a textual list of all the apps I have install, so if I press Win it list them all, if I follow by vl it shows VLC as the only remaining entry: I can then start VLC by just hitting enter, which also makes this menu vanish as wofi runs in transparent mode over the top window.

I don't like to do that often: if I find myself using something often, I assign it a number between 0 and 9 to have it as Win+number.

> Is there any showcase that shows actual work

Not any that I have bookmarked, because I'm used to hyprland and I wouldn't have ever thought about watching how other people use it.

But here's an example from the last 30 seconds from my actual workflow where I'm using my own remapped shortcuts (some people may need F1, F2 etc to be actually doing their "function" but I don't, so I've remapped them to jump directly between desktop)

I pressed F1 to go to desk 1 where wezterm is running, to check how some long running operation is going, then F2 to go back to edge to type this: I have different shortcuts for the desktop, like Win+PageUp and Win+PageDn configured to move to the next or previous one, but I seem to prefer one-key shortcuts to go directly to the one I want, so I've remapped Win+F1 to instead "transfer" a window to desk 1, say if I want something tiled next to the terminal.

While I typed this message on HN I remember to do something, so I pressed Win-Grave to open zimwiki in "floating" mode above the edge browser full screen, started taking my note, then I realized I needed to test something in a terminal, so I quickly spawned a foot terminal next to the floating zim with Win+Enter (a shortcut I've setup to get myself a terminal immediately) and used Win+Left to change the splitting ratio to get more room for the terminal, doing Win+Tab to move the focus back and forth between the terminal and zim.

When I was done, I pressed Control-D to close my terminal, and Win-Grave to stash away as I may have to take more notes later.

This is how I use hyprland, like how I was using Windows 11 before, with some custom AutoHotKey scripts to be a keyboard-only workflow.

I mostly use full screen apps and spend 95% of my time between the terminal and the browser, which I each prefer fullscreen on their own desktop

Sometimes I do tiling: when I tile something next to the terminal, I have wezterm running on my desktop 1: so F1 takes me there, where I will start whatever I need with Win + the first letter of the name.

Win+J change the tiling, so if there're only 2 windows tiled vertically, they become tiled horizontally

The rare few times I need a mouse experience, Win+F "floats" the window which is more like what you get from a traditional window manager: I can press on the hotkey + use the mouse to resize or move the window to a specific part of the screen, but I don't think I've done that in the past weeks or even the past months!


I’ve taken a peek at hyprland in the past and it looks great for what it is, but tiling is not my cup of tea, and even if it can be configured to float everything by default its design isn’t floating-first.


I rarely use tiling: I spend most of my time on either a browser or a terminal, so they are each running fullscreen on their own desktop

hyprland mostly gives me the "glue" to map the keyboard shortcuts to switch between the browser and the terminal, to start other programs with wofi.


I use almost exclusively fullscreen windows in macos. A couple of apps are splitscreen. I like to have 2 terminals side by side. And there is a kitchen sink screen where I put random windows.


I tried that (e.g. having one workspace for my fullscren IDE, then to the "right" of that a workspace with a fullscreen terminal), but I found macOS rearranged my workspaces, so about 10% of the time when I went to the app by Ctrl-Left and Ctrl-Right I'd end up looking at a different app. So annoying!

I found there was an "Automatically rearrange Spaces based on most recent use" which I could switch off, which helped, but it still did it sometimes (I can't remember why now).

So now I just don't use that feature at all, which is a shame. It was just too jarring to be looking at the wrong thing 10% of the time, really broke the flow.

Plus when you use Ctrl-Left and Ctrl-Right you have to wait for the animation to end before typing, otherwise your key presses are lost, which isn't great when you want to Ctrl-Right twice to get to the terminal and then type a command. Have to always remember to wait 0.5 seconds or so before typing otherwise you've typed "s -l" rather than "ls -l" etc.

Do you have the same problems, and if so how did you solve them? I'd love to be able to use this feature but for me it was just too annoying.


Yes, you must switch off the rearrangement. Never had a problem with it. I 3-finger-swipe. Don't know if that's any different from using the keyboard.

Waiting for the animation is annoying and stupid. macos knows where the focus will end up and should ate least switch it when halfway there. It is a bug imho.


De gustubus non est disputandum.

I hate fullscreen mode, and I use an addon, Rightzoom, to disable it. I don't use gestures, and I sold my Magic Trackpad. I use a PC mouse on my Mac, with 5 buttons, including critically a middle button, which I use hundreds of times a day. And a mechanical clicky full-travel keyboard. I have 2 × 27" monitors and each is usually showing at least 2, maybe 3, windows. I only keep Spaces enabled for the independent menu bars; I never use the functionality.

I am not saying you're wrong. I just find it an amusing example of how different separate people's preferences can be.


I'd love to chat with the gnome guys. They miss so much and I'm not sure why.

1) The WM must remember where my windows were and put them back when reopened. Never mind how X apps took on this responsibility, under Wayland the app should not know its context. It's also not right to put the burden on every app when it could be in the WM to provide consistency and unburden all the other devs.

2) I use a 55" screen where the "desktop" metaphor is apt. Workspaces are for small screens with maximized windows, which don't really need other layout methods anyway.

3) I have space for the launcher to be ever present. I also don't want my windows to shrink and move around when I do invoke that panel. That's so jarring and completely unneeded.

I do like the idea they mention of a maximum sensible size for an app. That could be useful regardless of all the other stuff.

I feel like tabs on browsers were invented because no desktop environment or GUI toolkit ever came up with a decent solution for multiple instances/documents. This has improved but I suspect there is more that could be done.


> Workspaces are for small screens with maximized windows, which don't really need other layout methods anyway.

Strong disagree here. I use a 38" Ultrawide and I have 10 workspaces open at the moment. All of them dedicated to a single in-flight task.

If a workspace is a desktop multiple workspaces is a workshop.


I have keybindings that go directly to the workspace that I am interested in. Fifteen years ago I dedicated 10 workspaces to fullscreen tasks I do daily and now I can go to my browser with a keybinding or to my code editor with another. I have been on workmates computers with tens to a hundred windows open and I am dumbfounded on how they get anything done.

A task should operate on one workspace and there should be keybindings to go directly to that task. Of course I am a pro power user and normies would be horrified at my workflow. Gnome devs try to consider everyone and sometimes miss the mark and make everyone unhappy. So I am going to volunteer to use their concept and provide feedback.


I have similar setup. One improvement that I really liked (for those few times where I don't use the usual map) is that rofi have alt+tab search in window titles which helps massively to find any temporary app or terminal I might've run somewhere.


I agree with you.

1) Always remember location and size hashed by monitor(s) arrangement.

2) Get rid of "Maximize" and go back to "Zoom" where I can switch between 2 positions/sizes: one is the smallest window that will fit and layout everything perfectly without scroll bars, and the other is point 1) remembered location/size.

3) Simple floating panels/palettes/icons. Nothing jarring. One menu bar:

  *  Application  File  Edit  View  Help           Wed 3:59 PM  ⏻
  Software Update...                                   Switch User
  -                                                    Log Out...
  File Browser                                         -
  Web Browser                                          Restart
  Text Edit                                            Shut Down
  Terminal


> I feel like tabs on browsers were invented because no desktop environment or GUI toolkit ever came up with a decent solution for multiple instances/documents. This has improved but I suspect there is more that could be done.

Alternatively, I would love a window manager that is just a maximized Firefox patched to display all native apps inside browser tabs. :)


True, really it should be the window managers job to provide tabs. I think browser tabs came about because people wanted many browser windows open and the windows desktop was not really providing an ideal user experience, so the browser vendors said "fine we will do it our self".

But really, if done correctly every application could be tabbed, and the application would not have to do anything.


Sway (i3) can stack any program as tabs.


> I'd love to chat with the gnome guys. They miss so much and I'm not sure why.

Feel free to join https://matrix.to/#/#design:gnome.org

Tobias will be happy to discuss with you (and everybody else who has constructive insights)


I think that describes aptly why no paradigm is fitting for everyone...

> 1) The WM must remember where my windows were and put them back when reopened. Never mind how X apps took on this responsibility, under Wayland the app should not know its context. It's also not right to put the burden on every app when it could be in the WM to provide consistency and unburden all the other devs.

I want to explicitly put them where I want (on which virtual desktop) and have it always be the same on reboot. If I want to change the default location, I want to change it explicitly.

Reason is because then I can have single shortcut that always leads me to the right VD with right app. <Super> + 4 is always IDR, <Super> + 2 is always Firefox etc. and I don't want that to change because yesterday for work I did I needed a bit different layout temporarily.

> 2) I use a 55" screen where the "desktop" metaphor is apt. Workspaces are for small screens with maximized windows, which don't really need other layout methods anyway.

I'd probably just had it split it in tiles. I never want to move a window and I never need to have space in-between them.

I want to put apps that I interact with constantly near eachother and references I use close, and preferable just have easy keyboard/mouse way move/swap them around

My current setup is just 2 fullscreen apps on 2 monitors. I'd sometimes want third (or big one split into tiles), but that's about it. I sometimes split one in 2, say 2 pieces of documentation, or chat + something else but many apps benefit from full wide on 24 inch screen.

> 3) I have space for the launcher to be ever present.

I don't get the point of launcher ever showing up uninvinted

I don't see the need of launcher ever sharing same space with apps, it's not like they interact. It's for launching.

alt+f2, type what I need to run, enter, that's entire interaction required. I guess I wouldn't mind if some extra widgets could live there like rss/mail/weather, as there is plenty of space, but it is for launching, so it should be overlay

So, what is someone's idea of perfect desktop might be hell for someone's else. It's basically no size fits all.

> I also don't want my windows to shrink and move around when I do invoke that panel. That's so jarring and completely unneeded.

At this point I think GNOME guys are looking for reason they are still employed and change shit for no good reason.


> > I also don't want my windows to shrink and move around when I do invoke that panel. That's so jarring and completely unneeded. At this point I think GNOME guys are looking for reason they are still employed and change shit for no good reason.

Or you know, people are visual - it’s much easier to find that open document based on its outline than based on YourEditor - A… title and an icon that is shared by many windows.


There are extensions to disable any kind of animation. I use the Windows key to open the app list/search and hot keys to move between virtual desktops (activities, but I use the la name). Nothing moves and resizes on my desktop.


> The WM must remember where my windows were and put them back when reopened.

As long as its easily disabled. I used to have to patch firefox so it would open where I opened it and not move itself to where it was closed.


Clearly I am a very simple person, and I don't get all these window management wars.

Almost all my workflows either involve one maximised windows, two windows side by side, or occasionally one smaller windowed floating on top of another.

Linux does that for me by default. You can get the float on top in Windows with some 3re party tools, although it isn't as nicely integrated.

What is everyone doing that needs something else?


Here are some sample workflows where I have a bunch of different windows open. But I also have three screens (38" ultrawide - so I have close to 180* of screen around me).

* Full stack dev. One window for backend code (sub-tiled into two or three editor windows). One window for terminal (subtiled into two or three consoles). One window for Sublime with various notes and configs. One window for front-end code. And a bunch of minimized windows for docker desktop, file managers, Chrome, etc etc.

* 3D graphics. One window (sub-tiled into a couple of views) for 3D viewing and editing. One window for reference materials and textures. One window for render output.

* Scientific compute. A window with PDFs; window with Chrome with towardsdatascience / kaggle / stackoverflow; window subtiled into several ipynb (editor) views. Maybe some more diagrams / graphs / etc for a good measure.


Yes, I also like having multiple screens. But window management isn't an issue. Just maximise a window on each screen, or have two on one screen.


I do all that (well, similar enough stuff). I just have virtual-desktop-per-app (or pair of apps and switch between them

<super>+1/2/3/4/5/6/7/8 for left-side windows, <super>+F1/2/3/4/5/6/7/8 for right side.

+ sometimes a floating terminal window. I3 allows to bind window to "scratchpad" which is basically overlay windows that can be shown/hidden with one key


Some people like beer, some people like wine, some people like sugary drinks. Why don't people just drink water?


I'm not saying that everyone should be like me. I am genuinely asking what the use cases are for something else.


My screen is 4 and a half feet wide. I use Windows Power Toys on Win and a Tiling windows manager on Linux. Each app goes to their specific location. The center 1920x1080 is for the main focus and the rest is for peripheral/supporting apps.

Here's what my development desktop looks like[1]

1: https://keeb.dev/2022/06/12/I-made-a-keylogger/desktop-full....


I must say when you said your screen was 4.5' wide I had a negative reaction. How could someone use that much real estate? Wouldn't your neck hurt from the looking around?

However, after seeing your screen capture I have to say that I'm pretty impressed and kind of want a super wide screen for myself now. Main content in the center with no overlapping windows means that everything is within eyeshot without having to touch the mouse or keyboard. I've always hated the idea of multiple monitors (one for main work and another, often smaller, for tools) but your layout has made me rethink my desires. Thanx!


Some tips - I use the Samsung Odyssey G9[1]. It's curved. The curve helps with having to use your neck as it wraps around your periphery. I think in ultrawide setups a curve is a must if you're sitting close to the desk. Here's what it looks like from sitting POV[2]

I use an Ergotron HX[3] mount for my desk to keep its very large feet off of it and maximize real estate.

1: https://www.samsung.com/us/computing/monitors/gaming/49-odys...

2: https://keeb.dev/static/setup-front.png

3: https://www.amazon.com/gp/product/B01N5FTCJE


Why have you got your monitor so far down? Do you sit super reclined or something? Cause if you sit upright, aint no way that is good for you.[0]

0: https://www.mayoclinic.org/healthy-lifestyle/adult-health/in...


I'm short.


You have an area on your desktop dedicated to neofetch?


An area dedicated to ssh, yep!


> What is everyone doing that needs something else?

You omitted to explain what you do for a living.

I write code for a living, and what you describe simply doesn't work for me given the many different things I need to look at and refer to in parallel (without having to perform a hard context switch such as moving to another workspace or un-maximizing a window) to be able to cobble together code that works.


Currently I work as a security architect. I have previously worked as a software developer, solution architect and systems administrator.

I do like having more than one screen available. Having three is ideal but I mostly just have two. But I just maximise a window on each screen, or have two windows on one of the screens. No advanced window management needed!


> Having three is ideal

I use 3 even at home.

> No advanced window management needed!

This is why I'm still on Windows.

I'm a Linux 'guy' for a long time as a Linux sysadmin/Devops - over 10 yrs. But Windows is just simpler. Window management is top notch on Windows 11, sans tiling. I find that I don't change apps/windows often enough to need tiling. I just set my virtual desktops as is, and switch between them.

Many people spend time setting up Win+# to launch in Linux - I do this too, and the first 10 items (after the Windows icon) are already assigned to Win+1-0 and can be used to switch applications (Shift+Win+# can be used to always launch a new instance, Alt+Win+# can be used to invoke the quick menu which can be navigated via keyboard).

I use PowerToys to setup my windows and then it doesn't need much changing after that and use Virtual Desktop feature to separate my applications by context. The nice thing about Windows Virtual Desktop is that, often, it acts as if the applications aren't even open even if they are open on another desktop. So, launching a browser window or file manager won't kick me back to another desktop. If I want the same instance one very desktop, I can Win+Tab and right-click the preview to pin it to all desktops.

IMO, one of Windows' advantages is consistency. I can sit at someone else's desktop and still be effective, which in my line of work, is quite common for me to do.


I find the trouble to be kitchen sink apps, IDEs in particular.

For one task one window stuff it is easy to use full screen/half screen workspaces jumping about on 2 screens..

For a kitchen sink app there's some invented tiling, and ever changing requirements of what sub windows to fit, and they usually add some blocking float windows that need data I would copy paste from the main window..


yeah same, i3 does this for me perfectly. the only nit i would give it is that i wish the list of window tiles made it a little more apparent the borders, like including app icons or something like that


    rofi -show window
will give you searchable list of open windows. I bound it under alt+tab. No icons tho


There was an extension fir it. In polybar i think. Hyrlsnd-autoname is one for hyprland


With a bit more work to not surprise the user and not break the window organization (e.g. the user really wanted these two windows next to each other), this mosaic paradigm could actually be really cool. Looking forward to see how it develops. If the kinks are worked out I may very well switch over from i3.

> As you open more windows, the existing windows move aside to make room for the new ones. If a new window doesn’t fit (e.g. because it wants to be maximized) it moves to its own workspace. If the window layout comes close to filling the screen, the windows are automatically tiled.

I can see this part being really cool, when the user doesn't care about the layout, and really, really, annoying when the user does care.

Side note: the article should really have made a comparison between a tiling wm like i3 and this new mosaic concept, not between gnome tiling and mosaic...i3 is still way better and they'd do well to compare to the actual 'state of the art'.


I could see it working if there was also just a pin button on window that made WM remember where it should be after being started again


I understand the desire to make changes, especially from people so close to a project. But as a user it is painful. If I could think of any positive changes in the last 20 years maybe I would have a different reaction. But I can't so I don't.

Every time I have attempted to interact with Gnome has been incredibly frustrating. I have an uncomfortable visceral reaction to even seeing a Gnome desktop.

But bad design isn't unique to Gnome. In the modern world we love data, but I think we are bad at collecting what matters. The number of times I say "fuck you" out loud to my iPhone in a day is non-zero. A good designer should care when that happens.

So, sure, move my windows around without asking. Continue with your misguided belief that you know better than me what I want. But give me a big red "fuck you" button to click when you get it wrong.


> Every time I have attempted to interact with Gnome has been incredibly frustrating.

The changes they made to GNOME 10-15 years ago was enough to get me to abandon Linux and switch to macOS all those years ago. Every time I look at GNOME, I just keep seeing features they removed rather than the ones they added.


> Overlapping windows can get messy quickly

Yeah dude... that's one reason why the Minimize button exists on Windows, MacOS and KDE etc for so long. When you see some feature exists for this long on this many good desktop environments, you know it's too important to...say...been removed (from default setting)?

Also on the same note, Taskbar (or Dock on MacOS) is also important... It's so important that on SOME desktop environment that don't support such feature, one of it's most popular plugin is designed to restore the functionality so the users can actually enjoy the DE instead of fighting it.


> Taskbar (or Dock on MacOS) is also important

Yet many people set it to autohide. At that point the difference between pressing super, a hot corner or autohide is quite minor.

> one reason why the Minimize button

One feature I like in gnome is the title bar clicks. Double-click or middle-click anywhere on the title bar feels much nicer than hitting the specific tiny maximize/minimize buttons. Unfortunately, as far as I remember that is also off by default (though easily turned on in tweaks). However, I would be perfectly on board, if gnome had that as the default instead of minimize buttons.


Well, I set my Dash To Dock to autohide only when a window maybe overlapping with the dock. As soon I move the window away, the dock pops back up. Which is the best of both worlds setting IMO.

There are great benefits of having an (almost) always-visible taskbar, one is that it allows you to plan your actions before you move and click, and it also enables more efficient actions when you want to bring up/down more than just one window (simply due to the shorter distance the cursor/hand/finger has to move between).

Also, I'm not really talking about maximizing windows, that problem has already been solved IMO. But as far as I know, by default, there is no similar-acting alternative for minimizing window besides Super+H hotkey which for me is a bit awkward to press, plus I don't really have big hands :( also, I rest my left pinky on the left side of left Control, move it to Super sounded like a lot of effort (and then I've to also locate H???, you know what? I'll survive a few unminimized windows :)).


I"m glad it doesn't exist, since i'd have to turn it off :)

But seriously, I use GNOME because of what it is, not because of what it's not.


You mean the Dock/Dash or the Minimize button?

The Minimize button is still accessible on some windows if you right click the title bar and select "Hide". So the function is still there, just more annoying to access.

And the Dock/Dash problem is actually linked to the minimize feature. Because when user click Minimize, the window then needs a place to be "minimized to" (and an animation is also need to show how it happened). Maybe the lack of Taskbar could be one of the reasons why Minimize button was removed? Just me guessing.

I do respect your use case, but as a desktop environment, I don't think GNOME should implement it as default. But on the other hand, if GNOME is really committed to be a tiling-first desktop environment, then removing the Minimize button could be a reasonable plot on the roadmap.


I've been using i3 (within the larger Regolith package) for a few years now and its hard for me to non-tiling WMs now. However I do think there would be a lot of improvements, especially with large desktop monitors.

One idea I had would be to have a window manager only have a single main window in each desktop and then scaled down windows around the border on the desktop, like the TV in Idiocracy (https://www.soundandvision.com/files/_images/200902/21720091...). Selecting windows would swap out the main window with the scaled version on the border. This would give you the ability to focus on one window that is always centered while seeing scaled versions of all the other window's output.

Maybe this has already been done?


Dynamic tiling window managers like dwm and xmonad can do this. They default to a 'master/stack' layout but you can change the layout algorithm. You esentially have a 'master' window and a stack of secondary windows. You can promote a window with super+enter and it gets swapped into the master area.

There are some autotiling scripts for i3 that can emulate this behavior as well.


I thought that xmonad just changed the windows dimensions and location for most of the layout configurations, can it change scale of the windows as well?


AwesomeWM as well. It allows you to write your own tiling algorithms in Lua.


Many years ago, 1982, there was an applie ii video game named Dung Beetles. It was a pac man style dot chomper in a maze. Except the maze was quite large and the area around the player was viewed as if through a magnifying glass. I would find it interesting -- but probably unworkable -- if my virtual desktop were 5x and any window not focused were small and when focused it blows up to normal size. With some options of being able to make windows stay large when not focused and etc.


This sounds a bit like the Stage Manager thing in newer macOS versions. Except that they do this with groups which can have more than one window.


The centeredmaster patch for dwm works roughly like that - the master window(s) is in the center of the screen and the rest is stacked on the left and right.


That sounds like how dwm tiles windows


Pretty sure it's doable with i3 although needs some tinkering.


I actually like the ideas they have here! It feels inspired by the best parts of macOS, Windows, and tiling window managers, while actually being pretty novel IMO.

However, I actually like the "overlapping sheets on a desktop" metaphor because it's still pretty "task" based. Their example is a little contrived, having a lot of small unrelated windows smushed into the middle of the screen is rare I think. At least for me. A more common example I think might be:

You're in a web browser full screen, and then you need to drag and drop a file into a site, so you open finder/explorer. That appears overtop of the browser. Then maybe you realize you want to remove some metadata from the file you need to upload, so you go into that file's preferences pane, which is a whole new "sheet" on your desktop.

At any point, you can dig up the browser, since it still occupies a lot of the screen. Effectively it's a branching undo tree. Since you connect all of these apps together manually (opening, clicking, dragging, sharing in MacOS), you're free to go and fiddle with things that are going to be accepting something else from another window.

The thing I think is missing from that metaphor is that it's really hard to get back to what you were doing if you break that undo tree. You click the browser, but now all of your other windows are behind, and the whole stack won't come back at once.

If windows recovered in the stack they were opened in when you focus them, (in my contrived example, you refocus the file preferences window, OR maybe there's some gesture/keycombo to return to the last focus state) I think that'd make a pretty measurable effect on my window organization annoyances.


Not sure how to feel about more windows, but the idea that first window shouldn't take all space is certainly good. If someone will come up with better intelligent control over that placement, that will take into account actual windows length (who knows, maybe even ML for learning typical window sizes used by an operator) that will be a killer feature.

Default sizing is one of my pet peeves with i3, even if it is the whole idea of tiling managers. You open first window and it takes entire screen space, meaning that with 32" screen (and even 27"), you need to look to the far left side for actual task (e.g. if it is a terminal, or code editor with column limit of 80 chars, dictated by code style). Then you open another window and you look straight into border between those 2 windows - your app isn't centered. etc etc

I have small bind in i3 that helps a bit, but it works only with one window

    smart_gaps inverse_outer                                                            
    bindsym $mod+g exec "i3-msg gaps horizontal current toggle 900"


Gnome developers really like automoving stuff on the screen, like activities animations. Instead I could kill a window that does not stay put were I placed it. Who does it thinks it is to know better than me how my desktop must look like?

Anyway, until there is a way to work as I want to, no problem with them enjoying their time. Reconfiguring the desktop to look like Gnome 2 is a tax I pay to have them keeping it compatible with the other components of the system.


I rejected paying that tax, and moved to XFCE.

As far as I can tell, the GNOME people have not had a good idea about window management since GNOME 2. If you like it, great, use it. The point of freedom is to be able to do things they way you like.


You're the second person that calls the activity window overview moving windows. In what way are the windows being moved? They're just being unstacked so that you can find that window 3rd from the bottom on the stack.


I should log out and log in with guest user with an unmodified desktop, let me see if I can find a video on YouTube.

Found one. Check this https://www.youtube.com/watch?v=3A3ewGh7u3g at 1:20. That guy is about to open the activities overview or whatever it is and that will move windows around.

Then go to 2:25, more windows movements in a few seconds using a different feature of Gnome.

I can't stand that and I happily undid all of it using various extensions.


... yeah, nothing is moving your windows, it's literally just a preview. This is like saying that the Windows menu bar preview is duplicating your windows.


The Windows menu bar doesn't move. The activities overview moves my screen. That's unnecessary and intolerable ;-) We all have our own quirks.

By the way, I added a Windows style task bar to the bottom of my desktop. It autohides and that's OK because it doesn't move my windows upward when it appears.


I get that treating overlapping windows as bad might sometimes be a thing. Trying to juggle getting sufficient data to do the job in screen can be a bit of a chore.

But personally I quite enjoy overlapped windows. Even when using a tiling window manager, I rely on stacked view a lot, where only one window of the stack is visible at a time. I need effective fast navigation across apps, not the simultaneous use/view of all.

I feel like Gnome often decides to pick goals that it says are user friendly, but which refuse to see the utility of the established alternatives. Making a big choice here feels like it's based entirely around a single argument that I fundamentally don't think is valid, in many cases.

I also worry that they are building a three mode system, and that it's unclear how if at all the various modes will blend. If there is a unified approach where standard/tiling/mosaic can coexist my concern is significantly lessened, but I'm not sure what that would look like, how mosaic would interact with standard.


I have been using a tiling WM since ion2, but I’ve used other OS WMs too. It’s hard to take this article seriously when it talks about tiling window manager limitations but fails to mention one big negative for tiling WMs: they assume I want to see the whole window all of the time.

Overlapping windows let me put my terminal over the top of my browser. I can overlap and conceal, say, the left nav bar of a documentation website while still letting me see the body of the docs.

    + - - - - +
    |terminal |- - - +
    |         | docs |
    |         |      |
    + - - - - +      |
           + - - - - +
Focus follows mouse (which you get in macOS, albeit only for scroll) means I can interact with the lower window without bringing it to the foreground. I’ve done this when my employment has forced me to use macOS, and it works well and much better than a tiling WM.


> I can overlap and conceal, say, the left nav bar of a documentation website while still letting me see the body of the docs.

Indeed, web pages waste a lot of horizontal space, overlapping is a great option of solving that This also works when you have e.g. a browser and a note app and copy&paste and review etc.

Though it would be nice if WM had a "symbiotic" mode where even bringing your Docs window to the foreground would retain the Terminal window (so it's kind of "always on top" but only within the context of these two applications), it'd be great for easily switching back and forth and not losing info from either window


The windowing UI/UX I wish for is to arrange a bunch of app's windows on my screen, then run some tool that notices what is running, where they all are, and what has input focus, and can save that state to be reinstantiated later.

Think of how live stage theatre does set changes: there are tape marks on the stage floor showing where every object should go, and the crew just puts objects where the crew knows the objects belong, according to the marks. Yes, one could edit multiple fiddly ~/.{X,x}* files with X/Y sizes and positioning in arcane syntaxes. Is there no tool in the Gnome-everse that can handle this?


I'm pretty sure that this (and a little bit more) is already present in KDE and it's called Activities. It's not very popular, possibly because it's not "marketed" enough IMO.


Back in the day I had an Autohotkey script to do exactly this on Windows. Was very simple with the WinGet, list, WinGetPos and WinSetPos in loops with window title, x,y,w,h, persisted to a .ini file

I wonder how you might do this on Gnome or KDE these days.


Just FYI the exact same thing is now also possible with AHK_X11 on Linux https://github.com/phil294/AHK_X11


Not Gnome, but you're kind of describing the mac Stage Manager feature. It's quite nice with most apps.


>Another issue with tiling window manager is that they place new windows in seemingly arbitrary positions

Well we have Xresources to to solve this, but the Gnome and KDE people ignore a standard that has been there for years.

And Fluxbox solves this issue by having point/click option to allow you to say "Make this window show up here with this size". But as usual, many GNOME/GTK and some KDE applications ignore that to.

So off we go, invent a new standard that will make my (our?) lives harder.


After spending some time customizing my .Xresources I was amazed on how much functionality it has [1].

The learning curve is a bit steep, but after taking a few minutes to understand it, there's a lot it can do in a simpler manner than more modern configuration and tooling.

1. https://stuff.mit.edu/afs/sipb/project/doc/ixresources/xres....


Do Xresources and friends make sense now Wayland is finally usable for many folks? Maybe having some sort of environment agnostic config would be good - even with Wayland - but I don’t know that a suitable one exists today.


Wayland is not usable for me, I am on a BSD. So my answer is yes, Xresources makes sense for me :)

Does Wayland even have a method to specifying canned Window Position ?


It does, kind of, statically you configure positions manually in the configuration file, or dynamically, you can use its API through a pipe to save positions and then restore positions.


One can run wayland compositors on freebsd, and I even saw an inprogress effort for openbsd.


The native Windows 11 windows management feature (called "snap layouts") was great for me. I get it instantly and use it easily with the pointer or the keyboard. One of the best features of the 11 version to me.

I think that for regular users is a great entry point to have a more power user experience, of course it will not be enough for everyone and a lot of power users will demand more specific behaviors.

Demo: https://youtu.be/t-hgwhYu0nU


It has been around since Windows 7! The hover on the maximize button they added in Windows 11 definitely improves the discoverability and usability vs the original display edge snap behavior.

I do wish it provided more layouts for vertical tiling on wider displays.


No, not quite.

Edge snapping has been around since Vista or 7, but this is new and additional, and as a long-term avoider of Windows for >20 years now, I have to admit, it's good and it's the single thing in Win11 I actually like and admire.

Watch the vid.


I wish Gnome would stop rethinking things and just reimplement the basic desktop features every major competitor has, and that Gnome 2 had.


Starting with something as basic as bringing back the path input textbox in file dialogs. I mean... it's a file dialog! What else but inputting file _paths_ is it good for?


I recently got a macbook pro m2 in order to do local ML dev, and Finder has got to be one of the worst, most user-hostile programs I've ever used. It's not a good look when fucking windows explorer offers a better user experience.


In case you weren’t aware, though macOS’s Finder doesn’t show an editable file path control in each window like Windows Explorer does, Finder does support these path-related features:

• View > Show Path Bar (⌥⌘P) toggles visibility of a bar at the bottom of the window that shows the path to the currently open folder or currently selected file. The path is displayed as a series of folders, including their icons. You can hover over each these folders to see their full names, drag files into them, or drag them into other windows.

• Go > Go to Folder (⇧⌘G) pops up a text field where you can type the path of a folder or file to navigate to. The text field has tab completion. This shortcut works in any file dialog, not just the Finder.

• Edit > Copy “…” as Pathname (⌥⌘C) copies the absolute path to the currently open folder or currently selected file.

Another tip: in any file dialog, to navigate to the same folder as an open Finder window, start dragging the folder by pressing and holding on the proxy icon of the window (it’s in the title bar, left of the title), then drop the folder onto the dialog.


Lack of this is insane. Gnome3 has a few such bad points iirc, that makes me to avoid it.


ctrl+l? Or am I misunderstanding what you are asking for?


what's missing that was removed in 2->3?


If you have used GNOME 2 for an extended period of time and then moved to GNOME 3, I think you'd find the shorter list of what wasn't removed.

The idea was a vast plugin ecosystem which would allow development of desktop features to be more distributed. The problem was, some of the most basic features (like a taskbar for displaying open windows, or panels, or applets, or sane window management tools) were left out.

At some point it becomes a security and performance nightmare when the idea is that to achieve a normal desktop experience, you need dozens of user-supplied scripts.

Of course that's not a problem in practice, because even with user plugins, several basic features continue to be missing. And the fact that most of these plugins are just recreating functionality that already previously existed should really tell you something about GNOME team's design philosophy.

To quote Linus Torvalds, GNOME 3 is a "total user experience design failure".

https://www.datamation.com/open-source/gnome-2-vs-gnome-3/


For more context Linux Torvalds moved back to GNOME in 2013, a year after that article was posted.

From https://www.phoronix.com/news/MTMxNj:

> He says that GNOME 3.x has been improving and that when pairing the desktop with the right extensions, it's a rather pleasant desktop. He specifically points out Frippery and GNOME Tweak Tool as making a huge difference to his experience.


I stayed for a long time on Gnome Flashback, the Gnome 2 look alike. I moved to Gnome 3 when I was sure that there were enough extensions to recreate a sane Gnome 2 desktop. Did they waste all their work? Mostly. Did they waste the time of the people that had to undo their work? Definitely.


Thank you, I didn't know that and didn't mean to misconstrue his opinion. GNOME Tweak Tool is a critical part of a usable GNOME experience, but I wouldn't dare call that a good user experience because it's a non-starter for the majority of casual users.


Why not just use Mate (Gnome 2 fork)?


including replaceable WMs


I really love the mosaic concept. I think it's indeed the missing piece for tiling on large displays. It's a kind of stack in usual tiling layouts, where all leftover windows are placed, but stacks tend to squeeze and deform windows, crippling many apps in the process. The mosaic approach can certainly avoid this issue, but it wastes some space (not ideal for small screens) and may not play well with big complex UIs(IDE, CAD, DAW, etc).


It seems that the wasted space issue is somewhat addressed by the switch to a tiling mode when the screen becomes “full”?


I don’t know. Overlapping windows may look messy, but I know where they are and their size is right for me. Not for you, for me.

If windows are moving all the time on their own as I open new ones, maybe it looks gorgeous on demos and screenshots, but I don’t think it’s going to be ergonomic to actually work with. And my work is not about posting screenshots to r/unixporn.


> You can also manually tile windows. If there’s enough space, other windows are left in a mosaic layout. However, if there’s not enough space for this mosaic layout, you’re prompted to pick another window to tile alongside.

Oooh, that’s going to be a usability problem, because it introduces a special mode for answering the “prompt”. Most users will never know that this mode exists, just that the system behaves weirdly and half-maximizes a single window sometimes.

I see people today unknowingly or uncaringly invoking the window overview mode (sometimes called “Activities”), and then trying to, say, click a link in a visible browser window. They then become confused when the windows all zoom around, and the click they wanted is ignored.


I like PaperWM[1] a lot.

1. https://github.com/paperwm/PaperWM


It isn't perfect, but it does bring tiling window management to Gnome. The killer feature for me is that it remembers which workspace windows are on when external monitors are connected and disconnected.


I use Sway, a tiling window manager, so the direction towards tiling seems sensible to me.

If Gnome implements this well enough, I might consider switching back it from Sway. We'll see. I'm pretty pleased with Sway, though.


For Gnome users, I really enjoy using Pop Shell (the window manager from Pop OS) as a tiling window manager. It doesn't exactly solve the problems with TWMs that this post discusses, but I often run into folks who don't know that you can use a lot of the bits from Pop OS in generic Gnome.

I made a video about how to set it up if anyone is curious. The series was aimed at beginners, so feel to hop around if you just want to see what it looks like. https://www.youtube.com/watch?v=IoG0AsS6oPo


For any readers who can't watch a video at the moment:

1. To be precise, Pop Shell is an extension for Gnome, not a separate window manager 2. It's available pre-packaged on Fedora, Arch, and Manjaro 3. It's easy to install from source on other distros

Install instructions & source available here: 1. https://support.system76.com/articles/pop-shell/ 2. https://github.com/pop-os/shell

I use it as a daily driver on Debian 11. It's the best balance of tiling and "normal" desktop UI I've found so far.


I found the Forge plugin on GNOME Extensions to be a much better solution.

https://extensions.gnome.org/extension/4481/forge/


there is also paperWM.

what i can't see with any of them is how to combine tiling of smaller windows with fullscreen windows. basically i want the tiling to only apply to windows that are not fullscreen, and i want to be able to switch between the tiled layer and the fullscreen layer. even better, if there are multiple tile layers.

one could implement that with workspaces of course but gnome puts all workspaces in a row , which makes this difficult. i really want all apps related to a task on one workspace and switch between multiple tile sets. paperWM can scroll, that may help. or i could try to combine it with something like wsmatrix that puts workspaces in a grid.


On the other side of the problem is how modern applications waste screen real-estate with empty space, bloated menus, and poor typography. The application designers also need to adopt responsive layout to make sure the app provides the right amount of information using provided space.

I hope a deeper rethink can consider the user's end goal being task management rather than window management. Maybe something in the spirit of "Ctrl + Z" and "fg" can be helpful.


I think modern SW is less thoughtful because it's easier to change and monitors have grown. Back in the day it was tough to make changes after the fact and screens were tiny. Screen real estate was more precious so you better put some thought into the layout. It's like- modern large screens create more wasteful bloated applications which need larger screens...

The new Outlook for example: I have the standard Windows but this also contains search? Below that I have Home, View, Help, and a hamburger menu? Below that I have the Outlook "ribbon" Then to sort my mail I have focused or other, we are now 4 "rows" deep in the shit now and each row wastes space. Since this is getting ridiculous they're starting to waste sidebar space as well by lining it with other apps. Stupid! Slack is even worse!

Have some vision! There seems to be no regard for where to stuff new features which is ironic since that's one of the stated reasons for all the telemetry.


> monitors have grown

Most people use laptops. (Or it's at least 50/50.)


The industry has also grown and the barriers to entry have dropped. The people making applications simply don't know or care about good design.


Love to see this amount of thought being put into something that nearly everyone encounters on a day to day basis.

I greatly miss using tiling window managers, like i3, but I don't miss having to fiddle with all the little temperamental settings to do things as common as set up my wifi.

Having something like this as a default would be a great middle ground.


On my desktop I just run i3 because I have no need for the regular fiddling around. On my laptop(s) I run KDE with i3. That to me is the best of both worlds. Easy wifi config and automatic setup of HDMI devices, but tiles, tiles as far as I want :)


If you use gnome, I can recommend Pop-Shell

https://github.com/pop-os/shell


That's what I'm using right now and it's great!


Since there's going to be a lot of tiling WM users looking: what's the best way to get tiling WM and all the convenience of a "full blown WM like Gnome": things like Network Manager applet, bluetooth control, audio etc. all just few clicks away.


XFCE is super modular. You can turn off individual components. You can enable any program to start with the XFCE session.

So, for example, disable xfdesktop and xfwm; enable other window manager of your choice. Then, when you run xfce4-session via any mechanism you get all of XFCE, but with another window manager. You can pull up xfce4-settings manager to handle all system settings as you would in any other XFCE session.

I am pretty sure that LXDE/LXQT allows this sort of modularity as well. I have no clue about KDE and Gnome.

Of particular note, you can combine XFCE's panel applet with a tiling window manager. So then you can keep an application menu and notification area (with associated notification settings) from XFCE with an arbitrary window manager.


I did this. Xfce and Bspwm along with Sxhkd works well.


I'm using xmonad inside of KDE Plasma.

It's not flawless. I had to patch plasma-desktop to get it to work at all, and there are still some bugs around widgets and toolbars I haven't found a solution for. But I'm still pretty happy with it. I have window animations with picom, and even window decorations that blend in pretty well, such that a casual observer probably wouldn't even notice that I replaced the window manager.

I'm pretty pumped that both Plasma and GNOME are now working on better tiling support by default. Maybe in a year I'll be back to using kwin or GNOME Shell.


At least KDE (not sure about other DEs but I'd assume most except GNOME) supports EWMH, which lets its widgets control with any compliant window manager. Xmonad has a wiki page on this.[0]

One gotcha is that many full DEs use compositing window managers, which tilers usually don't. You can get around this by running a standalone compositor (such as picom).

[0]: https://wiki.haskell.org/Xmonad/Using_xmonad_in_KDE


Depends on what you put in your "full blow WM like Gnome" bag.

In my case, I just have nm-applet for my networking needs, blueman for my BT needs, pasystray for my audio needs, secret manager and polkit started on login, etc.

The only thing I miss from Gnome is that fancy pinentry program that shades the screen, which is replaced with a basic gtk window.


I use Forge, it works really well most of the time.

https://extensions.gnome.org/extension/4481/forge/


pop-shell (can be used as an extension to gnome shell on most distros) has a toggle for tiling windows. Otherwise it's all the Gnome DE.


I appreciate someone looking at improving the status quo. However, I feel that there is no way something as opinionated like this will do what you actually want it to do in most cases.


I like the idea of an initiative for applications to provide metadata for any window manager to handle them more intelligently. Letting the user quickly fill in the gaps in the meantime for local applications would also be nice.

I've played with super detailed Unux WMs (bspwm?) and I've also started using Powertoys FancyZones on Windows and in both cases it's a lot of setup that only works ideally for rather specific situations.


“The key point we keep coming back to with this work is that, if we do add a new kind of window management to GNOME, it needs to be good enough to be the default. We don’t want to add yet another manual opt-in tool that doesn’t solve the problems the majority of people face.”

This is the essence of what makes gnome user-hostile: everyone has to fit their mold.


Seeing how well Gnome has rethought window management in the past, I will take a hard pass. All the thought is not helping.


Regular people don’t really use window managers much these days, partly because they don’t use desktops as user environments unless needed. I know a lot of you’ve heard about gen-z not knowing about file systems and it’s definitely relative.

Most tasks are done in browsers with tabs, and if they need to use desktop apps it’s in full screen. Have any of you tried using Spotify or VScode not in full screen? It’s obviously not how they’re designed.

What the gnome people in this article refuse or fail to acknowledge is that no matter if they go with stacked, tiled, floating, mosaic, it’s gonna be a struggle for form factor because that’s just not how the way modern apps are designed.

The first picture in that post looks like the layout of a CDE screenshot from the 90s. Two text editors and a file manager open at the same time? Get real, might as well open xclock and xcalc lol.

Humans can’t multitask.


I have no problem with the way windows work in Gnome right now. Using the window switcher is really convenient. The only things I would like to be better are 1) It's too hard to find my way back to the right window in a window group, for example if I have 4 IntelliJ-windows active and want a specific one, takes too much time to find it and they also look alike. Perhaps naming them and using some ex command (dmenu-ish) thing? 2) The window switcher is only shown on the main display. I know the Gnome devs are quite fixed in their opinions about this, but imho it would be better to show it on the active display, which I would define as where the pointer is or where I interacted last. Solve these two things and I see no need for either mosaic or tiling.


Back when I first started learning C, I had an idea to have a GUI environment where instead of windows you have cubes. Not random 3d objects bit 2D compatible abstractions similar to windows that render what would be a window on one face for regular apps but for 3d apps, different faces and relationship between cubes can be configured. I coded something very basic in opengl but gave up after getting camera movements right be ause I realized then how hard it would be basically doing wayland except more (and this was before wayland).

I still have the idea but I have a lot more improvements to it and now I understand that the focused content on a 2d screen has to always be 2d but navigation,effects, organization and control can be 3d.

Compiz died too early!

People lament not having our promised flying cars in 2023, I lament our super cool UIs.


« Not random 3d objects bit 2D compatible abstractions similar to windows that render what would be a window on one face for regular apps but for 3d apps, different faces and relationship between cubes can be configured »

Sun's "Project Looking Glass" did some of this.

https://en.wikipedia.org/wiki/Project_Looking_Glass

It's the only windowing environment I have seen that uses the fact that windows have 2 faces: the front holds content, the back holds config.

It was a clever design but it didn't get far.



Thanks, that's pretty cool for it's time!


i loved compiz. unity kept it alive for a while longer, but at least some of the features are coming back there is a wobbly windows extension for gnome for example. so it's still (or again) possible to do these things. it just takes some people to run wild with the possibilities like it happened with compiz


I'm really excited about this. Gnome already fits my needs nicely, but the changes this article suggests would make the experience even smoother. A lot of the comments here seem to be from people who don't prefer Gnome in the first place.


Any system that tries to guess what I want isn't going to work.

For example, when my browsers or mobile devices try to guess automatically when I want audio to start playing, they're almost always wrong.

Open a browser? Why is a video playing in one of my 30 tabs?

Unplug earbuds from my tablet? Why is an audiobook now playing? I didn't even have the audiobook app open, and haven't listened to any audiobook in months.

If your design relies on intelligently guessing what the user wants, but doesn't actually use any intelligence to do so, then your design is shit.

Give users the tools to do what they want quickly and easily. Don't guess.


Can someone please make a window manager that fits linux? Flat, no animations, super performant, no rounded corners, no shading, pixelated icons. Never understood how all the linux desktops are so ugly and laggy


Scwm had animations, which went in sometime before the ~2001 Usenix paper, due to a need for them. I don't think there's anything out of place about needful animations.


"Fits linux" is an odd statement. Most of the things you stated can be done by changing the theme of most desktop environments. For performance, I used LXQT recently to revive an old laptop, it's great. https://lubuntu.me/


sway does all those things very well: https://swaywm.org/



dwm is great. I took it and ripped all the tiling manager code out of it and turned it into a generic window manager. What has kept me using it all these years is the "window move" and "window resize" system that fell out of this change.

Hold down ALT and CLICK1 on a window, _anywhere_ on that window, and you go into "window move" mode. No need to seek out the "titlebar", just click and move.

Hold down ALT and CLICK3 on a window, _anywhere_ on that window, and you go into "window resize" mode. No need to seek out the "corner edge", just click and it resizes the window.

With just that I can entirely rearrange my desktop with almost no effort and in very little time. It becomes second nature very quickly, and the need for "forced tiling" basically disappears. The problem with WMs isn't the layout strategy, it's the lack of user optimized layout controls.

I've been using this hacked up WM for 15 years. I will use this until I'm dead. I have yet to find anything which I find superior.


> Hold down ALT and CLICK1 on a window, _anywhere_ on that window, and you go into "window move" mode. No need to seek out the "titlebar", just click and move.

This is a standard X.org feature. It works on more or less all Linux window managers; I checked and it works perfectly on Unity, as expected, and it did back in 2011 or so when it was launched.

I don't want the 2nd feature you describe, but I have seen the option for it in some other WMs.

Taekwindow adds it to MS Windows: http://taekwindow.net/

Note that the site also documents how it works.

This is not a dwm feature and nothing to do with dwm.


> This is a standard X.org feature.

It is implemented entirely by the window manager. Perhaps other WMs have adopted it, but the X server does not do this. It's why you need a window _manager_.

> I don't want the 2nd feature you describe, but I have seen the option for it in some other WMs.

I can only recommend it. Being able to move and position your windows quickly while removing all window manager framing around your windows is powerful. I'd at least recommend you _try_ it before you publicly talk it down.

> This is not a dwm feature and nothing to do with dwm.

I'm not using dwm, as I've said I've modified it, because dwm is a tiling window manager. These are not tiling oriented features. I can precisely show you the code where this is being done and how it is configured within the event system that I've built for it.


Yes, I am aware of all that.

But you were claiming alt-dragging this as a specific feature of your WM, whereas AFAIK all X11 WMs support this. I don't know of any that don't.

Why do you assume that I haven't tried alt resizing? I would have thought that expressing familiarity with the functionality you're discussing made it clear that I know how it works. When I say I don't want it, that's because I've tried it and don't use it.

I'm not dismissing it! If you like it, that's great. I tend to do large scale window management via keyboard shortcuts myself. It's why I dislike environments which don't support the standard keystrokes, such as KDE's kwin, and ones that remove it, such as GNOME.


For any Mac or Windows users reading this, these features are also available on those OS’s.

https://superuser.com/questions/53051/altclick-drag-window-r...


For macOS users I recommend moom to manage window tiling.

Although the defaults work fine, I always setup the following:

1) Bind cmd-m for activating moom. You’ll get a warning but seriously, who uses native macOS minimize? Not me, ever.

2) Setup single key “sizes” for keys Q, P, M, Z for the four quadrants: upper left, upper right, lower right, lower left, respectively.

3) Setup L and R for 50% left and right. F for full screen.

These 7 keys will allow you 3-finger shortcuts to any windowing. You’re free to setup the grid as fine or as coarse as you need.

Thank you to whoever developed moom. It’s made macOS feel mature.


If this can be driven entirely from the keyboard I might enjoy this a lot!


Maximizing windows in their own workspace is annoying and one of the worst parts of macOS window management. I really hope they don't bother with that. Just because I want a maximized window doesn't mean I want it in it's own workspace. It just makes dealing with windows harder because you now have to move to some other workspace to grab a window you want to reference first.


One of the things I like about Windows 11 is when you tile 2 windows, they form a group in the alt-tab menu. That way you can keep using your regular workflow with the group without the need for another workspace.


I ended up using Moom [1] to work around some of the oddities of macOS window management. It's relatively low-feature, mostly for window arrangements and sizing. I use it on a vertical monitor to split window placement horizontally, since macOS can only natively do vertical splits.

It has other features too (like saving layouts and keyboard shortcuts), but I don't use them that much.

1. https://manytricks.com/moom/


macOS manages _apps_ not _windows_. macOS (or iOS) is the last place to look for insights into window management because it's not even speaking the same language.

GNOME made this mistake a long time ago, trying to cargo cult (orig. definition) design their window management tools.


macOS manages both apps and windows. A lot of the things it does do make sense if you follow the original paradigm from the ground up. Unfortunately, most platforms copying ideas from macOS only do so from the surface, and the effect usually ends up half-assed.

Want a good idea to copy?

Ctrl-C in the terminal should copy text when something is selected, and send interrupt otherwise. In the macOS Terminal, you can rebind Copy from Cmd-C to Ctrl-C; when you do so, this is what happens. I will pledge my unending loyalty to the first terminal emulator on X11/Wayland that can implement this - I've tried over a dozen and none of them do.


+1. This behavior is really confusing if you expect a particular window (typically a browser) to be on a particular workspace (I have keyboard shortcuts for the first 4 workspaces) and then it ends up off the end of the list because you happen to have been watching some content maximized.


Personally I find switching between workspaces annoying, but not particularly more or less annoying than switching between maximized windows on Windows. So I am curious what you specifically find annoying about treating maximized windows as workspaces.

(Also, note that you can hold the Option key and click on the green plus in the upper-left corner you will get the standard Windows maximize behavior, which macOS calls "Zoom". Even better, you can go to System Settings > Desktop & Dock > Double click a window's title bar to... and select "Zoom" to make this action even easier.)


> you will get the standard Windows maximize behavior, which macOS calls "Zoom".

No, no you won't. Because 'zoom' is not equivalent to maximization. It means something like 'make this window as big as the current contents it has open for viewing in each dimension, unless that's too big (and then just maximize it in that direction)'.

Additionally it's just window resizing, not a window state. Which means that when you move the window again, it stays huge— so part of it must be offscreen— instead of snapping back to a reasonable unmaximized size.

> So I am curious what you specifically find annoying about treating maximized windows as workspaces.

I'm not GP, but

  - there's a big, stupid, slow animation that must play every time you switch between workspaces
  - you cannot float windows from other applications over a fullscreen window
It adds unnecessary delays and distractions any time you want to use a different application on that screen, and it doesn't let you multitask on that screen.


> 'zoom' is not equivalent to maximization

Interesting, I tried a few windows that I don't normally "zoom" and you are right. I suppose prior to this I only ever attempted to perform this action on browser/document/messaging/media windows that are able to be fully maximized.

> there's a big, stupid, slow animation that must play every time you switch between workspaces

I wondered how I never noticed this, and it looks like I had Accessibility > Display > Reduce Motion enabled.

> you cannot float windows from other applications over a fullscreen window

Agreed, I found it handy the first time I discovered I could move a floating window over a maximized window in Windows, but I've also noticed that I let my windows become a lot more disorganized when I'm using Windows. I'm not saying they're related, it may be that I just don't have enough Windows experience, but I do find that I end up keeping my workspace a bit tidier on macOS or a tiling WM.


> I wondered how I never noticed this, and it looks like I had Accessibility > Display > Reduce Motion enabled.

I use Reduce Motion too, but even then there's an animation (it's a cross-fade instead of a wipe) with the same duration and annoyance, although it is less visually distracting and doesn't try to reinforce the worse-than-useless-to-me spatial ordering.

I have to wonder if there's some deep wizardry possible, some hacky function you can call hidden way deep inside Dock.app or Mission Control.app, that will do the workspace switching without any animation.


> I have to wonder if there's some deep wizardry possible, some hacky function you can call hidden way deep inside Dock.app or Mission Control.app, that will do the workspace switching without any animation.

There's a plist file with animation speeds in it somewhere, and you can reduce the duration of the animations to something extremely low, which is what people with preferences like ours often used to do.

But some time in the last few major releases of macOS, Apple locked that away behind SIP. So to take advantage of it you have to disable some security features (not sure if you have to leave SIP off— you do for some changes but not others), and this may not be possible on a work machine.


> [disabling SIP, even temporarily,] may not be possible on a work machine

I wouldn't do it on a personal machine either (not that you're advocating that).

Yeah, the "full" installation of yabai [0] requires partially disabling SIP permanently, the reasoning for which is laid out very well in [1].

It seems like the "wizardry" I was hoping for would amount to circumventing some basic security design of post-SIP MacOS, so would either be an exploit or else equivalent to turning off the parts of SIP mentioned in [0].

[0] https://github.com/koekeishiya/yabai/wiki/Disabling-System-I... [1] https://github.com/koekeishiya/yabai/issues/798#issuecomment...


When workspaces are finite and defined one can simply bind hotkeys to switch to a particular workspace and tend to put the same things in the same workspace. EG your main browser window is in workspace 9 full screen on your monitor and you can switch to it immediately with super+9

Switching between windows in a unknown workspace arrangement is more effort because you are triggering an action, possibly by taking your hands off the keyboard, grabbing your mouse, moving it somewhere, clicking on something, hunting for the desired item, selecting it. This seems trivial but you are performing the same actually constantly.


I find switching between workspaces annoying, but not particularly more or less annoying than switching between maximized windows on Windows

that's not the problem (for me at least). i have both workspaces and multiple maximized windows on some of those workspaces. each workspace is dedicated to a task. all windows related to that task, maximized or not, are together on one workspace. pushing maximized windows to their own workspace breaks that. gnome currently behaves as expected, on macos i work around by resizing the window to fill size without using the maximize function. if each fullscreen window had their own space the number of work spaces would double, and they would not be in the order that i want them.


That makes sense to me. If you have a specific use for each workspace then I see how reordering them willy-nilly would be problematic and break muscle memory.

I have a multi-monitor setup and I often find myself using particular monitors for particular applications. I would be annoyed if the operating system decided to start reorganizing them.


absolutely. i configured a fixed number of workspaces too, because the dynamic one were more work to set up each time. but either way, everytime the monitor arrangement changes, windows jump around to different workspaces, or all workspaces get merged into one. it drives me nuts!

and it's not just muscle memory. it takes longer when you have twice as many workspaces in a row. if they would arrange in columns, say workspaces are arranged horizontally, but fullscreen windows are stacked vertically on top or below the workspace they were created from, i could work with that. just not the way macos is doing it, adding them to the end of the horizontal workspace list.


everytime the monitor arrangement changes, windows jump around to different workspaces

i just noticed that when i disconnect an external monitor, then a seemingly random number of windows that were not on the external monitor, moved to the active workspace. why, gnome, why?!!!


Swapping between workspaces on Windows is:

- very slow (even with animations turned off - very buggy. Windows resize and move themselves.


Bonus points for not being able to move a window from screen 1 on workspace 1 to screen 2 on workspace 2 without first moving to the other screen and same workspace or vice-versa.


Logged in just to say this is probably one of the only things I prefer about macOS window management, if you are reading this Apple UX team please don’t take it away!


I'm probably in the minority here, but I like that behavior


I like it on smaller laptops and despise it with large external monitors.


If you option-click the green button or double-click the window handle, it expands a window to fill the screen without making it full-screen on its own space.


It's better than full screen, but it's not real maximised. In particular if you drag the right edge of the screen it will resize the window rather than moving the scrollbar.

Honestly Windows has basically nailed window management (earning its name I guess). Mac is much worse and Gnome is a little worse.


I like vlc, mpv, and alacritty because they can fullscreen without making a new 'workspace'. Haven't figured it out for emacs yet.


> Haven't figured it out for emacs yet.

Up until today I'd been using

  (global-set-key (kbd "C-c RET")
                  (lambda () (interactive) 
                     (set-frame-parameter
                      nil 'fullscreen
                      (when (not (frame-parameter nil 'fullscreen)) 'maximized))))
, which just makes the current frame maximized. A quick search turned up [0] which seems to give the desired effect of pre-lion "fullscreen" (hiding the menu bar and taking up 100% of the screen).

I've tentatively switched to it for now, although I noticed some weirdness when I got a message saying that I could run M-x toggle-frame-fullscreen by pressing f11: when I hit globe-f11 the resulting frame/window configuration sometimes ends up being mostly black. When I use M-x toggle-frame-fullscreen, it doesn't have this behavior. [0] https://stackoverflow.com/a/20429390


Pop Shell has solved the problem, please don't rethink too much.


That mosaic concept sounds terrible. All the windows moving whenever a new window opens? That just sounds very annoying and very bad for my spatial memory.

Things should just stay where I left them.


It's called dynamic window management, it's very popular, and that's without the animations showing you that something got moved.


Imagine a desk in a windy park. Maybe the next innovation from the Gnome devs can be a "paperweight" you can drag onto your windows to keep them from blowing away.


An idea everyone will hate: feed window descriptions to a tiny local language model, which decides how to organize the current windows based on the current context and the content of the windows already open.

Oh, you're coding? Put firefox to the left and keep VS Code focused. Oh, you're messing around with file managers? Bring the new file manager instance front and center. Oh, you've a ton of firefox windows open? Tile the new one side by side with the last one. Worst of all worlds.


> Manually placing and sizing windows can be fiddly work, and requires close attention and precise motor control

Indeed, the OS support continues to be awful, and unfortunately there isn't much "rethinking" here since even the new design videos show the same bad precision-based approach

- to close a window you have to hunt down a tiny close button in the corner

- to move a window you have to hunt down a tiny bar at the top

(and all that even after we've gained a dedicated Window button on many keyboards)


Every time when I look at what has become of Gnome, I wish Unity didn't die. Almost everything I loved in Gnome2 was broken or took a turn for the worse.


> I wish Unity didn't die

Hi from Unity on Ubuntu 23.04.

I am running the Unity flavour:

https://ubuntuunity.org/

It uses the latest Unity 7.7, released earlier this year:

https://gitlab.com/ubuntu-unity/unity-x/unityx

I run it on 3 or 4 machines, one of which has 2 screens and one of which has 3. Works great, scales well, handles modern Ubuntu just fine.

I use it with the Waterfox browser, which integrates natively with the Unity global menu bar, without any addons or config. I am currently on -- (hits alt-H, A) -- version 5.1.9.

https://www.waterfox.net/


MATE still exists


It does, true, but it feels like a dead end.


Maybe that's because it's finished. It doesn't need any more revolution, just maintenance and polishing.


And for caja to stop being so buggy.


> Another issue with tiling window manager is that they place new windows in seemingly arbitrary positions

Not all tiling WMs are dynamic. Static tiling WMs exist and they give you both more control and more predictable behaviour. Don't want automatic placement and windows jumping around randomly each time you open/close something? Don't use a window manager which was designed to do exactly that.


I've converted to a tiling window manager person after using Amethyst on MacOS. It's buggy and crashes but I absolutely love using a tiling manager to handle the common scenarios of two windows side by side, or a primary window + multiple windows tiled on the second half.

Once you find a setup that works for you, this ends up being super easy to work with.


Long time i3 user (which I still use on my work laptop) but use Pop!_OS on my workstation at home and have to say it works really well. I like how we have open source but wish we had more open collaboration instead of people wasting time re-inventing the wheel. Gnome people - call the Pop!_OS people.


seems neat, but: how often do you launch a program that defaults to having a teeny-tiny window, like shown here?


I probably don’t want a calculator to be full screen, even a terminal full height might make sense but full width almost never does.


> even a terminal full height might make sense but full width almost never does.

I disagree; things like atop can make good use of a full width (and full height) terminal, and log lines (for instance from dmesg or journalctl) are often long enough that a full width terminal makes reading them more comfortable.


I just resize terminal when(~5% of the time) that's needed; long lines are hard to read without wrap on even 24 inch full size terminal, let alone anything longer


Well, people with bad eyesight use bigger fonts, making terminals full screen is necessary to see the whole 80 chars line without wrapping.


So happy to see this being worked on. I really hate overlapping windows. It was never a good idea. I think it was mainly done the fist few times because it looked impressive. Then it became so ingrained that people couldn't imagine not having them.


I can’t seem to view the videos embedded in the article on iOS, which is disappointing because I really want to see that mosaic mode.


That's on Apple for not supporting WebM in Safari.


* Putting maximized windows automagically in their own workspace is a horrible idea

> As you open more windows, the existing windows move aside to make room for the new ones. If a new window doesn’t fit (e.g. because it wants to be maximized) it moves to its own workspace.

I emphatically disagree fundamentally people want to put the windows they want in a particular workspace because they are often part of a related task. It also violates user expectations from virtually every interface on the planet including prior versions of gnome leading to confusion and frustration as the users mental model of usage will not naturally conflate making it bigger with changing workspaces.

* Even more broken under the broke way gnome handles multiple monitors

This presents additional challenges for multiple monitors if the user has enabled workspaces across multiple monitors. A feature that isn't on by default but which as far as I know still exists.

EG your window gets to big and suddenly everything disappears on monitor 2 and 3 because your universe now switched to workspace 2.

The traditional arrangement for gnome where changing workspace only effects the primary monitor is possibly the worst thing about gnome. It turns a secondary monitor into a singular big bucket of windows you must manage manually as if virtual desktops had never been invented. It is a complete failure of design.

* There is a simple way to allow both usages without a configuration switch that provides users with an obvious mental model and a simple metaphor

An actually competent design that transparently allows both independent workspaces and workspaces across all monitors looks like this.

my first ascii pager

M1 [1][2][3][4][] M2 [1][2][3][4][] M1 [1][2][3][4][]

Locked pagers stay where you put them unlocked change together.

Size issues.

Expecting windows not to expand content arbitrarily may be better handled by just not tiling windows with a small maximum size. Note hints on minimum size and maximum size have existed forever.

Windows with medium maximum sizes can be expanded to $SIZE in a tiled layout but if the space is too plentiful some of that "tile" can be left empty with the app sized appropriately within it. For instance a pdf document on a large monitor may want to be as tall as it can be but only so wide.

If no hints are set one can also expect window to intelligently display content within a reasonable size like how competent web pages don't draw their content arbitrarily wide.

* Concerns about gnome specific designs and usability within other environments.

If gnome app developers rely on gnome specific affordances in other environments they may inherently look or feel like shit. At minimum work should be shared between other environments and existing affordances like WM_NORMAL_HINTS ought to be used where they can be for compatibility.

* Reasonable expectations

If this is adopted multiple monitors across desktops will be unusable thus gnome will simply disable and deprecate that feature.

Gnome apps will be designed in such a way as to work poorly in other environments.

Gnome developers response to any issues will be that you should be using Gnome.

KDE developers will 6 months later support whatever gnome did.


Bring back Alt+Space+N to minimize! Grumble..


Hear, hear! I can't run GNOME because of this. I use MATE and/or IceWM.

Windows + Desktops, it's all just rectangles. There's a drawing surface, XY dimensions, focus, and input.

I don't want paradigm shifts, I want _utility_. I want keyboard shortcuts, and scripts.


Buy ultrawide. Then tiling works without screwing over aspect ratio. It's a real estate issue. (5120 x 1440))


1. You can't pick and choose your monitor like this on laptops.

2. I like my "window/s of interest" (the current "task") to be front and centre; I would like my window management when task switching both to do this for me and to set the previous current task aside for me. It seems to me this would require some kind of undiscovered paradigm that isn't tiling or stacking. Ultrawide is just forcing me to direct my attention to a specific off-centre region for extended periods. This feels like holding breath, except psychological - I can only take it so long, then my eyes, by themselves, are going to look at other areas, whether I like it or not. Which is also one reason why tiling is an absolute non-starter for me.


32:9 is amazing, the Snap Windows feature on Windows gives me exactly what I want for tiling options. But, whew, physical real estate is killer. I've got a huge desk (Biomorph Pro) and the 49" double-wide display makes it feel cramped.


now I'm just worried if pop-OS's gnome extension ever goes away. arc-menu, pop-shell, & dash-to-panel are my jam.


They're overthinking this issue far too much. People actually like that windows disappear into the background, it emulates the idea of stacks of paper (very intuitive) and it allows you to both focus on the stuff that's currently important and with relative ease bring out windows from the background into view again, through the use of alt-tab or the super key. (or by clicking the little part of the background window still visible, as done by all beginner users of a window system, a very intuitive move)

Call me a luddite but we don't need more innovation, just implementation.

- Windows should be able to tile in corners for a 4 window equal size layout by default in gnome, you currently need a plugin for it.

- A way to set up standard locations for windows, best managed in some kind of "work-profile"/"entertainment-profile" way, in a tileable-esque system. This is not something most people will use, but is very helpful for people who want to get back into the workflow of a relatively complex window layout. Say you use three screens, and have a editor, devtools, browser-production, browser-docs, and chat window or music player open. Getting these windows back into a standard location can be done with various secondary tools already, but it's never been implemented by an OS standard. Some applications with floating dockable windows already implement it for their floating windows, like Inkscape.

And that's it. Bear in mind I really think that this is taking the window managment the last 10% of the way, it's fine as is. Not just fine, good and borderline great.

>For a web browser that might be maximized, for a weather app maybe only 700×500 pixels

Those examples of "mosaic" tiling reeks of theoretical idealism. Almost no applications work in an area as small as what, 17% of total screen estate. Taking a weather app as an example is close to disingenous, that's the definition of an outlier regarding small windows. A common "small" window is something like a file manager or a OS settings page, and those arguably take up __at least__ 35% of screen real estate to work well, and are more commonly given a whole 50%. (half-side view)

Their demonstration goes on to demonstrate them opening 3 different weather apps and having them move around in the mosaic, like the demonstration shows a groundbreaking new way to manage what, weather apps? Completely disregarding the fact that a weather app is opened, read, and then closed. You dont' monitor the situation of the weather in your anyones workflow.

Now there are users who use very complex window layouts of very small windows, like some people working in sound production, but they don't want their windows to magically just shuffle around the center of the screen, they want the "open this window in this standard location/size every time im in work-profile mode".


[flagged]


Ok, but please don't fulminate or call names on HN.

https://news.ycombinator.com/newsguidelines.html


In my experience it depends on the user's workflow and preferences. Whenever I'm using a tiling-first desktop I find myself micromanaging my windows a lot more because inevitably, some windows tile in a way that's not usable or limits usability. It feels like I'm fighting it constantly, and the only way to fix it is to opt out of tiling, at which point I have to wonder why I'm using a tiling WM.


Exactly. I have dozens of different ways I like to organize my windows, depending on which task I'm doing or what I need to focus on.

The best I could manage so far with GNOME was the gSnap extension but it's still work and I've just noticed I've switched back to no tiling for a few days now.


Gnome doesn't even have functional drag and drop for files between two of their file windows. Every time I need to do that I end up selecting a lot of files, because that's the only thing that can be done with the mouse.

Then I use Double Commander or something similar to do the work.

If they can't get the basics right, what can we expect about more complex stuff like tilling?


The problem with this fairly complex solution is that the easier path by far is simpler window arrangements, multiple monitors, and many workspaces. Once you have more windows than fit on a workspace its easier just to have more workspaces and 1-3 windows is what basically universally fits on most monitors.

If you organize more things in the same space you probably need indivdual apps that themselves have tabs like browsers, editors, IDEs rather than more windows.

Personally I use https://github.com/chmln/i3-auto-layout to make slightly better layouts automatically be automatically alternating between v and h splits and find this fits my needs 95% of the time.

Shit work under i3 is already very small but if you wanted to reduce it further I think you could probably go a long way with a very simple feature.

Add a save button that saves current layout to a list like so

Browser, calculator

Browser, pdf reader

terminal terminal terminal

ide terminal terminal

Then have a restore function that simply walks the list finds the entry that matches the kind and number of window and shoves existing windows into that layout. You can at creation time use something like i3-save-tree, edit the json, yada yada but its all fairly manual and I think for the use case it would be relatively simpler. The few non standard all match for me a simple pattern eg there really isn't 2 different ways I want IDE terminal terminal




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: