qgis / QGIS

QGIS is a free, open source, cross platform (lin/win/mac) geographical information system (GIS)
https://qgis.org
GNU General Public License v2.0
10.31k stars 2.97k forks source link

More consistent/useful spawned window handling #32316

Open lbell opened 4 years ago

lbell commented 4 years ago

Feature description. Make spawned windows (processing toolbox actions, layout views, attribute table windows) consistent: All should have native OS window styling, and should behave like native OS windows.

Additional context I currently notice 3 different spawned window behaviours exemplified by the following:

1) Layout View window: Native OS window, can shrink, hide, maximize. Can be placed behind main QGIS window (ie, can still use main QGIS window).

2) Processing Toolbox Window: Looks like Native OS window, but can not minimize, can not push behind main QGIS window (appears set to always on top).

3) Attribute Table: Not native OS styling (thus can not use native OS snapping features. E.g. easily maximize / minimize) yet it does appear in window list. Clunky and difficult to manipulate.

Seems ALL spawned windows should behave like number 1.

QGIS version 3.8.3-Zanzibar QGIS code revision 685d8b15d2
Compiled against Qt 5.9.5 Running against Qt 5.9.5
Compiled against GDAL/OGR 2.4.2 Running against GDAL/OGR 2.4.2
Compiled against GEOS 3.7.1-CAPI-1.11.1 Running against GEOS 3.7.1-CAPI-1.11.1 27a5e771
PostgreSQL Client Version 10.10 (Ubuntu 10.10-0ubuntu0.18.04.1) SpatiaLite Version 4.3.0a
QWT Version 6.1.3 QScintilla2 Version 2.10.2
Compiled against PROJ 5.2.0 Running against PROJ Rel. 5.2.0, September 15th, 2018
OS Version Ubuntu 18.04.3 LTS    
AlisterH commented 3 years ago

It depends whether they are intended to be separate windows or dock widgets. Try unchecking "Settings>Options>Data Sources>Open new attribute tables as docked windows" - it will "solve" number 3, but you won't be able to dock it anymore (I don't want to dock the attribute table, so I uncheck this, but personally I do like to dock most of the things that are dock widgets). Do you really think it is necessary to provide a setting like that for every window in QGIS? I guess all the settings could be collected together, but still...

lbell commented 3 years ago

(3) Has sort of been taken care of (at some point - or maybe I missed it before), in that if you click the "Dock Attribute Table" icon in the attribute table, it toggles whether it is docked, or it's own separate OS window which I can alt-tab to, and hide behind the main QGIS window. However, it might be kind of confusing, because if you have the attribute table docked, then drag it out of its location (rather than toggle the doc icon), it becomes a floating non-OS window that can't be alt-tabbed to, or hidden behind the main QGIS window.

(2) As a whole, deals with "Panels" which I get are meant to be docked... but in small real-estate screens, it would be nice to be able to alt-tab between, say, the Layer Styling panel (un-docked) and the main window (map) so you can have a full view of each one at a time. When I take my 13" laptop into the field, things get a little cramped...

GIMP handles this with the dock-window-hint property, which can be set to "Normal Window" (OS managed) or "Utility Window" (contained within GIMP) so users can choose their preference. And of course there's the nuclear "Multi-Window Mode" which decouples all the dock locations from the main window.

So yes, I do believe it would be beneficial to provide the option for every window to be an OS-managed window, or not. Setting that option by each would be maximum flexibility, or setting them all (like GIMP) would be functional. At the very least, having them be consistent would be a huge plus.

Side Note: While working on this reply, I notice a different window type... I'll call it (4) ;-)

The "Layer Properties" window has native OS styling (with only a close button) but can not be hidden behind the main QGIS window (it's more like a modal) and does not get registered properly in the OS window handler, so that it does not appear in my Alt-Tab list, yet occupies a turn there. Ie, if I have two programs open (browser, and QGIS with the Layer Properties window open) when I hit Alt-Tab to cycle between my browser and QGIS, it takes two hits to get off QGIS (for the two windows) but doesn't change their focus (Layer Properties always stays focused and on top).

Thanks for considering this!

(Here's the current version I'm looking at) QGIS version 3.18.2-Zürich QGIS code revision 515138c171
Compiled against Qt 5.12.8 Running against Qt 5.12.8
Compiled against GDAL/OGR 3.0.4 Running against GDAL/OGR 3.0.4
Compiled against GEOS 3.8.0-CAPI-1.13.1 Running against GEOS 3.8.0-CAPI-1.13.1
Compiled against SQLite 3.31.1 Running against SQLite 3.31.1
Compiled against PDAL 2.0.1 Running against PDAL 2.0.1 (git-version: Release)
PostgreSQL Client Version 12.6 (Ubuntu 12.6-0ubuntu0.20.04.1) SpatiaLite Version 4.3.0a
QWT Version 6.1.4 QScintilla2 Version 2.11.2
Compiled against PROJ 6.3.1 Running against PROJ Rel. 6.3.1, February 10th, 2020
OS Version Ubuntu 20.04.2 LTS