closing documents, take 2

Matthew Woehlke mw_triad at users.sourceforge.net
Tue May 19 22:25:39 CEST 2009


Maciej Pilichowski wrote:
> On Tuesday 19 May 2009 19:16:59 Matthew Woehlke wrote:
> 
>>> Wait, do we allow that one application instance (process) would
>>> have several windows?
>> Ideally, no :-). In reality, this already happens. Maybe that's the
>> problem, I am assuming "application instance" = process.
>>
>> Okay... if I replace "application instance" with... hmm,
>> "application window" isn't a great term, but that idea anyway...
> 
> This what I was thinking about. There is an application (kind), you 
> can launch it, and you get one instance of it -- to display 
> information it uses window (one).

Yeah. In the end I kept "instance", with some glossary edits to make it 
explicit how this is being used.

I replaced some occurrences of "application instance" with "window" 
where either a leaf or container should be permitted.

>> Would this make more sense? Does it cover what options you are
>> wanting to provide?
> 
> Errrm, not only me :-))
> 
>> When closing a document...
>>   ( ) Never close the window (application changes to "empty"
>>       state) 
>>   (X) Close the window if there are sibling windows of the 
>>       same application type*.
>>     [X] Disallow closing the document if there are no such
>> siblings.
> 
> Nope, putting this as negation does not make sense -- there are 
> siblings and you cannot close the document? 

Eh? No, you can't close the document if there are /not/ siblings. If 
there are siblings, the whole window is closed as per the parent option. 
(Suggestion for better wording?)

> Ok, I corrected this (sorry for previous mess):
> [ ] on close of document, close "its" application as well if there are 
> sibling instances of that application within the container
> [x] on close of last application instance in container, keep this 
> instance (do not close it)
>      [x] close the document only instead

Okay, I think I follow now. Same effect, but your options are worded 
quite differently.

What about this?

[ ] Closing a document also closes the window if their are other 
instances of the application in the container.
[X] Do not allow the last instance of an application to be closed by 
closing the document

The problem is applications that don't have an empty state, yes? I don't 
think we need an option to not close the document if we could go to 
empty state; if I asked to close the document, that should happen. Only 
if the application doesn't have an empty state (i.e. can close window, 
can't close document without closing window) should we possibly not do 
anything.

>> This is why careful terminology is important ;-).
> 
> Yes, I just noticed :-D
> 
> Matthew, in KDE is it really possible to have two application windows 
> for one instance? What app is able to pull this out?

As "application instance" has been defined now? Well... we basically 
defined it as "window". It's a bit fuzzy talking about e.g. a mail/IM 
client where you have a "main" window and "documents"/"conversations". 
I'm also assuming that dialogs are generally not part of NWI (actually, 
that modal dialogs should always float, and probably that non-modal 
should be considered as regular leaves).

As I said, my original confusion was that I was reading "instance" as 
"process" (which is more correct from a technical standpoint without 
having specified otherwise)... and yes. Start KWrite, hit "New" a few 
times (you need to type something into the empty documents or it won't 
make new windows)... you'll get several windows, but only one kwrite 
process.

-- 
Matthew
Please do not quote my e-mail address unobfuscated in message bodies.
-- 
Here endeth the rant... which I realize is not likely to Win Friends or 
Influence People, especially the person to whom it was directed.
   -- Charles Wilson (generalized)



More information about the Kde-usability-devel mailing list