GNOME Devs Are Working on a New Window Management System
Published on July 31, 2023 at 05:29AM
Managing windows — "even after 50 years, nobody's fully cracked it yet," writes GNOME developer Tobias Bernard: Most of the time you don't care about exact window sizes and positions and just want to see the windows that you need for your current task. Often that's just a single, maximized window. Sometimes it's two or three windows next to each other. It's incredibly rare that you need a dozen different overlapping windows. Yet this is what you end up with by default today, when you simply use the computer, opening apps as you need them. Messy is the default, and it's up to you to clean it up... We've wanted more powerful tiling for years, but there has not been much progress due to the huge amount of work involved on the technical side and the lack of a clear design direction we were happy with. We now finally feel like the design is at a stage where we can take concrete next steps towards making it happen, which is very exciting! 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. The current concept imagines three possible layout states for windows: - Floating, the classic stacked windows model - Edge Tiling, i.e. windows splitting the screen edge-to-edge - Mosaic, a new window management mode which combines the best parts of tiling and floating Mosaic is the default — where "you open a window, it opens centered on the screen at a size that makes the most sense for the app." (Videos in the blog post show how this works.) "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." 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. You're not limited to tiling just two windows side by side. Any tile (or the remaining space) can be split by dragging another window over it, and freely resized as the window minimum sizes allow. So what's next? Windows can already set a fixed size and they have an implicit minimum size, but to build a great tiling experience we need more... At the Brno hackfest in April we had an initial discussion with GNOME Shell developers about many of the technical details. There is tentative agreement that we want to move in the direction outlined in this post, but there's still a lot of work ahead... We'd like to do user research to validate some of our assumptions on different aspects of this, but it's the kind of project that's very difficult to test outside of an actual prototype that's usable day to day. "There's another issue with GNOME's current windowing system," notes 9to5Linux. "If the stacking is interrupted, newly opened windows will be opened from the top, covering the first opened window." For this new windowing system to become a reality, the GNOME devs would have to do a lot of user research and test numerous scenarios so that everyone can be happy. As you can imagine, this could take months or even years, so if you want to get involved and help them do it faster, please reach out to the GNOME team here.
Published on July 31, 2023 at 05:29AM
Managing windows — "even after 50 years, nobody's fully cracked it yet," writes GNOME developer Tobias Bernard: Most of the time you don't care about exact window sizes and positions and just want to see the windows that you need for your current task. Often that's just a single, maximized window. Sometimes it's two or three windows next to each other. It's incredibly rare that you need a dozen different overlapping windows. Yet this is what you end up with by default today, when you simply use the computer, opening apps as you need them. Messy is the default, and it's up to you to clean it up... We've wanted more powerful tiling for years, but there has not been much progress due to the huge amount of work involved on the technical side and the lack of a clear design direction we were happy with. We now finally feel like the design is at a stage where we can take concrete next steps towards making it happen, which is very exciting! 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. The current concept imagines three possible layout states for windows: - Floating, the classic stacked windows model - Edge Tiling, i.e. windows splitting the screen edge-to-edge - Mosaic, a new window management mode which combines the best parts of tiling and floating Mosaic is the default — where "you open a window, it opens centered on the screen at a size that makes the most sense for the app." (Videos in the blog post show how this works.) "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." 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. You're not limited to tiling just two windows side by side. Any tile (or the remaining space) can be split by dragging another window over it, and freely resized as the window minimum sizes allow. So what's next? Windows can already set a fixed size and they have an implicit minimum size, but to build a great tiling experience we need more... At the Brno hackfest in April we had an initial discussion with GNOME Shell developers about many of the technical details. There is tentative agreement that we want to move in the direction outlined in this post, but there's still a lot of work ahead... We'd like to do user research to validate some of our assumptions on different aspects of this, but it's the kind of project that's very difficult to test outside of an actual prototype that's usable day to day. "There's another issue with GNOME's current windowing system," notes 9to5Linux. "If the stacking is interrupted, newly opened windows will be opened from the top, covering the first opened window." For this new windowing system to become a reality, the GNOME devs would have to do a lot of user research and test numerous scenarios so that everyone can be happy. As you can imagine, this could take months or even years, so if you want to get involved and help them do it faster, please reach out to the GNOME team here.
Read more of this story at Slashdot.
Comments
Post a Comment