a note on application-based window-management behavior



GNOME-Shell seems to want to use the application-based paradigm (that
is, group all windows under an application and switch between
Applications as the representation of a program on the Desktop).

Pardon my overanalysis; I am trying to get to one point below.  But
first, there are a couple of inconsistencies where the abstraction of
purely window-based grouping for Applications fails:

1.  Consistently defining the "open a new window action" [some apps
open tabs, some Apps only have one unique window, some open a
completely new instance, etc.]
2.  Integrating application tasks into the environment (possible
solutions:  an "application menu" of common tasks ala Shell's intended
plan, or global menu bar via OS X/gnome-global-menu)
3.  Application-based window management actions (closing all windows,
hiding the application, etc).


G-Shell (pardon my abbrev.), living in the window-based world, has a
central problem with #3.

-- Open program instances are linked to applications:  ex, closing the
last window closes the application (and takes away two advantages, 1)
access to common tasks [see #2] and 2) quick access to new windows
[from being in memory]).

So, closing the last Brasero window means that opening a new one
requires re-launching the App, and any quick tasks such as "Burn
Image..." or whatever Brasero function may be integrated into G-Shell
require the same [or may not even be available, if integrated G-Shell
Application commands are only shown while the App is running].


I have an idea for this #3 problem.  The solution is to hide the
window management behind G-Shell's app management.  That is, only
G-Shell has full control over when an Application really closes.

This is relatively simple to imagine:  when the last window of an app
is "closed" by the window manager, G-Shell merely hides the last
window instead of closing the program instance.  It then can mark the
Application internally as "hidden" rather than merely minimized.

And now, G-Shell can quickly relaunch the application (by checking the
"hidden" flag and just restoring the closed main Application window),
and can still access any application-related tasks integrated into
G-Shell quickly (since the instance is still open in the background).

This also requires the strict reservation of the G-Shell command to
Close Application (closes all windows, as opposed to "close window"),
which could be alternately either Ctrl-Q (G-Shell would intercept this
before the program would), or Super-Q, or whatever.  In addition,
"close window" on the last window would obviously hide the Application
rather than actually terminate it.

Anyway, that was my thought.  Thanks for reading.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]