[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Dockng windows to each other (was RE: NSToolbar)
From: |
Uli Kusterer |
Subject: |
Re: Dockng windows to each other (was RE: NSToolbar) |
Date: |
Sun, 18 Jan 2004 23:26:51 +0100 |
User-agent: |
MT-NewsWatcher/3.3b1 (PPC Mac OS X) |
In article <mailman.569.1074034959.928.discuss-gnustep@gnu.org>,
"Vaisburd, Haim" <HVaisbur@Advent.COM> wrote:
> Yes, I think it is a very powerful idea. I used to think about that for
> quite a while. In my mind, different apps can dock to each other,
> and the docking would change their behavior: they would know to communicate.
> Something like a micro-network within a desktop.
Tima,
that'd be quite a huge step to add on top of that. Even if it only
worked inside applications and not across, it would be a good deal of
work to implement right. Across applications ... well, just "docking
together" windows would definitely work if you are able to do that at
the window server level.
> > Of course, to the application programmers, all of this would look like
> > one honkin' big window
>
> So - not nesessarily.
Sure, if it's inter-application, it wouldn't. I was more thinking of
the developer's point of view:
Usually it's much easier to just create a single window and stuff views
in it, then to create a decent multi-view layout. So, what I'd like to
do is let developers design one huge window and define the various
"subwindows". A "window group" if you will. All these "subwindows" would
be glued together by split views, tab views, or by being inside drawers
attached to the actual window.
The developer's code only treats the whole group as one window, while
the user can actually shred them apart in pieces, hide some of them
individually, or re-show them, without the developer really needing to
know about it.
Of course, if that happened inter-application, each application would
be insulated from the other, the developer would still think it was one
huge window, even if one of its drawers had been ripped off and stuck to
a file manager window. But there'd have to be some way (maybe Services?)
to detect such a case and provide additional behaviour, so developers
that want to allow that can make their app smarter.
> I have to admit though that I do not know how to implement that.
> I feel something about DO-based protocols the apps would use to communicate,
> but that's all I can tell for now.
Well, the problem with inter-application communication isn't really the
low-level method (whether it'd be DO, which lends itself to this use in
GNUstep, or pipes, or whatever), it's how the applications would
communicate sensibly without knowing each other beforehand.
Simple cases would probably include that each window could advertise
some bits of data (like Services), for which another window can look.
E.g. a text editor could advertise its visible range of text, or
selected text, and if it's attached to a browser window, the browser
could look for any text, look for any URLs in there and automatically
open them, maybe in separate tabs.
I don't immediately see a use for something like this, but it seems
simple enough to implement. At a very basic level, a document window
could maybe vend its document's path, and a file inspector window docked
to it could pick it up and display the file's attributes.
But personally, intra-application-docking of windows would already be
useful enough for me. inter-application-docking in a generic fashion
still seems to me like a solution looking for a problem right now. While
docking inside one application would give me the flexibility I like to
decide myself when I need a single-window interface and when I want
dozens of little window-thingies to clutter my screen and make optimal
use of screen space.
Cheers,
-- Uli
"Where oh where has my server gone..."