RE: links



> From: 	Mark Eaton[SMTP:hettar@uq.net.au]
> I disagree. I use ln -s blah blah blah all the time and it is exellent
> yes. I wish I could use it under Windoze. But it doesn't do what say
> kdelnk does. It doesn't store gui info such as icon or tooltips. It
> doesn't let you setup up parameters to be passed when run. There are
> lots of things that say a glnk could do that linking can't. I think
> that having both would be the best solution.
> 
I'd say let the user attach icon/tooltips/parameters and other extended
information to ANY file, not just to a link.  If I want tooltips
(comments) and specific icons for certain folders, my executables, and
specific data files (in addition to sym links to programs), I should be
able to do this.  It would be simple to add extended attributes without
filesystem support (since we don't have fs support) using either DFM's
one-file-database-in-home-dir or (my preference) in a .EAs file in each
directory that contains files with extended attributes.
The .EAs file could be text editable looking something like this:
---------
"A filename that has EAs associated with it" {
  icon=hideous.xpm
}

anotherFile.dat {
  mimetype="some mimetype to override the extension-assumed type"
  tooltip="A piece of text to quickly describe the program/folder/file"
  icon=cool.xpm
  doc="man:manpage"
  #doc="info:foo.info"
  run="$x -d4 $f"
  # $x is system-wide program associated with this mimetype
  # $f is filename (of this file)
  # $p is full pathname of file
  # $1, $2, $* etc. represent dropped files
  # $1p, $2p, etc. represent full path names of dropped files
  # $c is current working directory
  # $? would suggest that the shell prompt the user for input
parameter(s)
  # default for non-executable files is run="$x $f" 
  # default for executable files is "$f $*"
  paramsDefault="untitled.text"
  # default paramsDefault is "$f" for non-executable, "$*" for
executable
  paramsPrompt="Enter filename(s):"
  # default prompt is "Enter parameters for $x:" for nonexecutable
  # default prompt is "Enter parameters for $f:" for executable
}

"aJavaProg.class" {
  icon=neato.xpm
  doc="some prog.html"
  run="java thePackage.theSubPackage.aJavaProg"
  # needed because an association isn't sufficient to run
  #   a java class that's in a package
  #   (alternatively, the standard program launcher could parse
  #     the class file for package name as well as for the existence
  #     of main() or "extends Applet")
}

"some text file" {
  tooltip="third letter to my mother requesting that raise to my
allowance:-)"
  run="preferedEditor $f":"altEditor -lineNumbers $f":"yaEditor -f $f"
  # will run preferedEditor by default (double click),
  #   but context menu, for example, would contain the other options
  print=preferedEditor:"text2ps $f | lpr"
}
-----------

Any program (not limited to desktop or file managers) could use the
GetEA() API via C/C++/Guile/CORBA.
Because these attributes could be attached to any file, this has a big
advantage over .lnk files.  Using this facility in conjunction with
symbolic links accomplishes what the .lnk ppl want, but in a more
flexible way.  This also permits adding attributes to folders, files,
etc.
I'm not sure what the best way to internationalize these settings would
be.


Paul



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