discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Transparent Window, or event catcher


From: Enrico Sersale
Subject: Re: Transparent Window, or event catcher
Date: Tue, 12 Feb 2002 13:21:41 +0200 (EET)

On Mon, 11 Feb 2002, Pascal Bourguignon wrote:

> > From: Luis Garcia Alanis <luis@sogrp.com>
> > Date: 11 Feb 2002 12:55:12 +0000
> >
> > Well
> > the way I have been doing this is, to have the dock receve a
> > notification (Distributed) that the icon is on a drag candidate spot, or
> > doking position. I would need to add a notification to tell GWorkspace
> > that Dock.app is present. and it can be extended to a list of posible
> > ares into where the dock(s) can be and we could have multiples docks and
> > different kinds of them.
>
> Good idea.  And we  could have other applications allowing application
> icons to be docked.
>
> (And why not (optionaly) dock documents or folders too?)
>
> > and separated code.
> >
> > But enrico does not seem to be happy about making notifications for an
> > external app.
>
> Why?

I think that we are missing an important point.

A GWorkspace icon, as any other object that is a dragging source, since
the moment in which
[dragImage:at:offset:event:pasteboard:source:slideBack:] is called,
*doesn't* own anymore the drag process. From that moment, it can know
about the dragging operation only if implements also the
NSDraggingDestination protocol.

So, the single GWorkspace object that could detect the position of the
dragged icon would be the desktop view in [draggingEntered:] and,
successively, in [draggingUpdated:].

Well, the first point is that I don't know if it would be a good thing to
send a distribute notification at every call of [draggingUpdated:]...

The second, but more important point, is that the DesktopWindow is a
little more than a hack. I wanted a kind of desktop to use it as a big
shelf and, not beeing able to get a GNUstep representation of the X root
window, the only solution has been to put a big window on it keeped at the
"NSDesktopWindowLevel" (and a preference to abilitate/disabilitate it).
So, I think that it wouldn't be a good idea to rely on something, the
DesktopWindow, that has sense only till we are running our apps in a X
environment.

The only (practical) solution I can see, is a transparent window. Actually
it will not work but the next XFree86 release will allow transparent
windows.
In the meantime, this window could use the same background color used by
the DesktopWindow.
It is in .GNUstepDefaults in this form:

  backcolor = {
    alpha = 1.00;
    blue = 0.57;
    green = 0.51;
    red = 0.39;
  }

> ...




reply via email to

[Prev in Thread] Current Thread [Next in Thread]