A GNOME Shell extension that automatically maximizes new windows, leaving "useless gaps" around them.
Get it on extensions.gnome.org!
- Sizes and positions a new window so that it takes the full workspace, except for the gaps around it.
- Sizes and positions a window that moves to another monitor so that it takes the full workspace, except for the gaps around it.
- The size of the gaps is configurable.
- You can define a list of apps that should be left alone by this extension (the 'ignore list').
- You can define a list of apps that should forcibly be kept in place (the 'force list').
Note that One Window Wonderland leaves windows alone after they've been created or moved to another monitor. You are free to resize them as you see fit, or add them to the force list to keep them in place.
This extension works well alongside such extensions as Useless Gaps and Tiling Assistant: just make sure you configure the gap size correctly in each extension.
It doesn't work with full blown tiling window manager extensions like Material Shell.
- Working on a laptop with limited screen real estate, I like my windows to be maximized. This provides focus.
- Having used tiling window managers in the past, I've become fond of "useless gaps". They provide a sense of space.
Tiling window managers (like AwesomeWM and QTile) provide this, they have downsides too:
- The rabbit hole of configuring a TWM is deep.
- They have more features than I'll ever use, anyway.
- I like the creature comforts of GNOME, where plugging a new keyboard or monitor into my laptop at runtime just works.
This extension seeks to fill the niche of what I miss from TWM's in GNOME.
In order to install this extension locally, run ./build.sh local
.
In order to create a package for upload to extensions.gnome.org, run ./build.sh package
.
I'm open for issues and PRs, but keep in mind that I don't have a lot of time to work on this extension. Therefore, I'll only consider features that I'm likely to use myself; otherwise maintaining them would cost too much time.
For this plugin, I took inspiration from:
- tiling window managers
- The Maximized by default extension (which still kind of works)
- The Useless Gaps extension
- ChatGPT, which, among other things, came up with the name. What can I say.