discuss-gnustep
[Top][All Lists]
Advanced

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

Re: ANN: GWorkspace 0.6.5


From: Enrico Sersale
Subject: Re: ANN: GWorkspace 0.6.5
Date: Sun, 06 Jun 2004 15:24:46 +0300

On 2004-06-06 02:36:55 +0300 "Sascha Erni, .rb" <rb@nggalai.com> wrote:

Hi Enrico,

Excellent news! Works like a charm, and I am particularly fond of the splitting. Inspector.app is great, and I like the new Finder. Great work, it is much appreciated. :)

I do hope though, from a usability point of view, that you will rethink the Desktop.app <-> Dock <-> Recycler make-up. I was quite dismayed to find I needed to start Desktop.app to get the Recycler functionality, not only because Desktop.app runs sort of weird on my system (screen flashes when clicking on the desktop, only centered images are accepted as desktop backgrounds), but also because you copied some of the bigger interaction design mistakes Apple commited with OS-X, by implementing the dock like this. ;) For some more information on them, feel free to consult the following article:

Please, consider all this stuff pure "work in progress". Till now we have had 
four kind of shelf, the shelf in the file viewers windows, the fiend, the tabbed shelf 
and the old desktop window; I think that, changing this one to represent a real place, 
can be a good thing.
This is why I've written it but, regarding its behaviour, we can find better 
solutions...

Anyway, in the next weeks, I'll write a Recycler.app, dockable on the WindowMaker dock 
(if you want) or with the "old" recycler mini window. This is really not a 
problem and is already in the todo list.

Your screen flashes because I've had to use some hacks to get keyDown event in 
the desktop window. The (very provisional) solution I've found is this: 
NSWindow, in -sendEvent: doesn't send makeKeyAndOrderFront if the window level 
is NSDesktopWindowLevel (this to avoid a *double* flashing); then, in the 
-mouseDown: method of the desktop view, I access directly the GSDisplayServer 
of the window in this way:
  [srv setinputstate: GSTitleBarKey : [win windowNumber]];
  [srv setinputfocus: [win windowNumber]];
But I don't like at all this hack and I think that something should be done at 
the backend level, for the NSDesktopWindowLevel windows. (please, can somebody 
more expert in this part take a look at the problem?)

The background images should work centered, fit and tiled; can you explain 
better what kind of problem you encountered?

Coming to the dock: I've not really wanted to /copy/ the Mac dock; but it has become as it is while 
I wrote it! To explain better: the dock must be resizable because a number of 64 x (screen heigth / 
64) places for the icons is not sufficient; so, I've had to look for something to replace the 
fixed-size tiles, and, the only (aestethically accettable) solution I've found, is a 
"transparent" window. But the resemblance with the OS X dock stops here, I think. For 
example: when you select a icon, the form and the size of the selection recalls the original tiles, 
you need double-click to launch a app, a not running application has the "traditional" 
dots, etc...

To answer also to the other mails in this thread:
don't expect this dock to become a full replacement for the WindowMaker's one; this, 
simply, is not possible. To get this, you'd need a kind of "NSWorkspace - workspace 
application - window manager" object that doesn't exist.
If you read NSWorkspace.h, it is evident that, in its original conception, this 
class implies the existence of a workspace application; but, in our 
implementation, this is not possible.
Said this, I must add that something in this direction can be done; the 
introduction of the _workspaceApplication ivar in NSWorkspace, for example, has 
helped me very much; a daemon keeping track of the running applications, as 
Chad says in a other mail, would be an other step in the right direction. And, 
take a look in Desktop.m; I've a full implementation of all the NSWorkspace 
methods that mount and umount volumes; actually it is a bit too linux-specific 
but, with some ifdefs in the part that parse /etc/mtab, I think that could be 
moved in NSWorkspace.

For the moment: open Info->Preferences->Volumes, in Desktop.app, and edit your 
mount points.
Now mount something or give a command-E; the new volume is on your desktop :-)


http://www.asktog.com/columns/044top10docksucks.html

Specifically, I'm talking of points 7 and 5, and in part 3 and 1. 7 is not too serious, as we've only got applications in the dock (for now?). Also, the situation is not half as bad as with OS-X as the dock doesn't hide itself or bloats the icons on mouse-over. Right now though, I'm employing a folder on the Fiend as my "Recycler" rather than using Desktop.app, which is also due to the fact I use Window Maker and thus already have an Appdock, appicons of running programs, the Clip, and GWorkspace's Fiend running. I don't really need yet another Dock eatig up screen real estate just to have the Recycler back.

If you stick to splitting GWorkspace up into more modules in the future, may I suggest a Recycler.app to go along with the others? Alternatively, an option to chose whether the Recycler should be in the dock or on the desktop (as before, so to speak) might be dandy, too. And the dock needs to be disableable for those who don't like docks to begin with.

Please mark I'm speaking as an end-user here, not as a developer, and off the top of my head at that. Also, it's past 1.30am here. So don't take this criticism too seriously. :D

Have a great day,
-Sascha.rb






reply via email to

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