From: Geoff Y. <g...@in...> - 2003-10-15 09:40:51
|
On Tue, Oct 14, 2003 at 06:23:35PM -0700, Erik Harrison wrote: > Geoff Youngs wrote: > > 3. (IMHO) The panel shouldn't be part of the main filer. But it > > can't be hived off into a separate app until there is > > a reliable form of IPC which can be used to trigger spring-open > > directories. As in D-BUS. And when this is done, a > > strategic decision can be made about (1) and adding (2) won't >seem > > like adding bloat to the filer... > Why do we have to wait for D-BUS? If hovering over a folder in the > panel just open open the directory using "rox $DIR". > Am I missing something? Sprung open directories try to open underneath the dragged file - AFAICS there's no mechanism for specifying where a directory viewer should be opened. Which is not to say that it's not possible to add the option to the filer without D-BUS, just that the filer doesn't support it at the moment. Which leads on to the topic of ROX's IPC as used for communicating between processes. It works fine most of the time, but it is not reliable, because it relies on an X property of an invisible window not changing inbetween the time that X sends the PropertyNotify message to ROX and the time that ROX reads the value of the property from the invisible window. If you want an example (albeit unlikely in normal usage), then try finding a large directory (e.g. /usr/lib) and running for i in *; do (rox -s $i &); done And see how long it is before your terminal window is filled with messages telling you that the exisiting ROX-Filer is not responding. But the main advantage of switching to using D-BUS is that once we're there, all sorts of stuff becomes possible: in particular, broadcasting messages to all compatible apps that are currently running is a better way (IMHO) to load files into an existing process than expecting each app to have it's own way to detect whether it has an existing process running already... TTFN, Geoff. |