pop-os / gnome-control-center

Pop!_OS fork of https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/gnome-control-center
GNU General Public License v2.0
29 stars 10 forks source link

Feature request: Toggle switch for window edge tiling #231

Open KloudKoder opened 2 years ago

KloudKoder commented 2 years ago

Distribution (run cat /etc/os-release):

22.04

Related Application and/or Package Version (run apt policy $PACKAGE NAME):

Settings -> Desktop -> Desktop Options -> Window Controls

Issue/Bug Description:

Issue, not bug. When you drag a window to the top of the screen, it suddenly explodes to full size. This is at best a redundant feature. I have no idea what purpose it serves, but to replace the maximize button that has worked for the last 3 decades. It saves no screen space because the title bar of the window is still there. What it does do is create abrupt, unexpected, and annoying behavior that can potentially leak canvas resolution information (for example, from a browser or other internet-facing application). Making it easy to disable (if not disabling it by default in favor of enabling the maximize button by default) would be fabulous.

Steps to reproduce (if you know):

Drag window into top edge of desktop. Watch it explode to full size.

Expected behavior:

Window hits top edge and stops moving.

Other Notes:

We have the minimize button on by default. Why not the maximize button as well? I have to wonder whether this dubious hide-absolutely-everything approach to UI design was imported from Apple. By many accounts, it was a design flaw that should be eschewed from Linux distros. Better to show these buttons and leave it up to the user if they want to go full screen (F11) and hide them all after the fact.

"Edge tiling" is a misnomer. This doesn't tile windows by arranging them flush with the edges of the desktop. To be crystal clear, this is zoom-on-impact.

KloudKoder commented 2 years ago

Other people seem to be annoyed by it as well. They're effectively asking for the same feature.

https://www.reddit.com/r/pop_os/comments/ud39d3/gnome_42_edge_tiling

Here's how one can do it at the command prompt (but it should be in the appropriate Settings menu, and who knows how long this hack will work):

dconf write /org/gnome/mutter/edge-tiling false

JanPokorny commented 2 years ago

Disable with:

gsettings set org.gnome.mutter edge-tiling false
jacobgkau commented 2 years ago

I have to wonder whether this dubious hide-absolutely-everything approach to UI design was imported from Apple.

This was not "imported from Apple." If anything, the Windows 7 Aero interface was the first to implement top edge maximization and left/right half snapping. That was 13 years ago.

that can potentially leak canvas resolution information (for example, from a browser or other internet-facing application).

You're arguing that the maximize button should be enabled by default, which would do the exact same thing from a security perspective.

This doesn't tile windows by arranging them flush with the edges of the desktop. To be crystal clear, this is zoom-on-impact.

"Zoom" is entirely the wrong word to use to describe maximization because the size the content is being drawn at is not being increased. Furthermore, edge snapping does make the windows flush with the edges-- the left edge, right edge, or both edges if you maximize.

It's worth noting this feature is not unique to GNOME or Pop's GNOME implementation, it is widely accepted and expected by users on most major desktops today.

jacobgkau commented 2 years ago

If this is implemented as a toggle separate from pop-shell auto-disabling snapping when tiling is enabled, then it might end up going in the Desktop section (https://github.com/pop-os/desktop-widget) since that's where most GUI customization for Pop takes place.

KloudKoder commented 2 years ago

@jacobgkau Any toggle in any setup menu would be greatly appreciated. Yes, you're right, maximizing carries the same canvas-leaking security risk. But it's a lot harder to hit the maximize button by accident than to accidentally edge-tile-maximize a window when trying to migrate it vertically.

gwillen commented 6 months ago

Only because this issue seems not to have a lot of attention, I will me-too it. I find edge-tiling confusing and irritating, I only ever do it by accident, and I do it by accident frequently. It's very difficult to figure out how to disable it, because first you have to figure out that it's called "edge tiling", which I never would have guessed. (I eventually turned up another thread of someone complaining about it, which got me the name; I was trying google searches for things like "annoying window snapping in popos".)

A GUI toggle seems in order to me personally; but mainly I want to speak up to provide evidence for some future debate, to ensure at least the CLI toggle stays available, for the benefit of people like me who really dislike the feature.

(I am generally happy with the split between "Settings" and "Tweaks"; I don't really care personally whether this toggle is in "Settings", but I'm surprised it's not at least in "Tweaks".)

mmstick commented 6 months ago

You may want to take future debate to GNOME's issue board, because this will be replaced with COSMIC as soon as we released 24.04

JanPokorny commented 6 months ago

@gwillen This is the appropriate upstream for GNOME (but maybe it got fixed in the meantime, keep in mind that PopOS currently lags behind quite a bit on the GNOME version): https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues

Just to be more clear -- PopOS is switching away from GNOME as the desktop environment, and will soon release with COSMIC, which is a brand new desktop environment developed in-house for PopOS. Thus, if you keep using PopOS, GNOME will soon not be relevant for you.