[Ipe-discuss] Setting default style sheets

Norbert Zeh nzeh at cs.dal.ca
Fri Jan 8 09:37:15 CET 2010


Otfried Cheong [2010.01.08 1031 +0900]:

[...]

> And indeed you are doing everything right.  There is a bug in  
> "main.lua", in that ipelets are loaded after the configuration has been  
> analyzed.
>
> I'm attaching a patch, to be applied in the "lua" directory.

Thanks, the patch did the trick.  Now here's another impertinent feature
request from a grateful ipe user.  This one concerns the way ipe looks
for stylesheets.  Consider a user running on a machine where (s)he does
not have root access.  They want to use basic.isy but add one of their
own stylesheets, again as a default for all documents,  without having
to specify the whole path.  In that case, it would be nice to be able to
say

IPESTYLES="$HOME/.ipe/styles:/usr/local/ipe/.../styles"

or something similar to make ipe look in a user-specific directory *and*
in the system default directory.  Of course, one could simply copy
basic.isy to $HOME/.ipe/styles in this example, but that doesn't feel
right.  So the semantics I propose:

1) IPESTYLES should be a colon-separated list of paths.  For every
   stylesheet that isn't specified as a full path, ipe walks down the
   list and uses the first file it finds that matches the name.  (I.e.,
   in the case of name clashes, user-defined stylesheets take precedence
   over system-wide ones.)

1') It might be nicer to not to have /usr/local/ipe/.../styles in the
    above list, as that path may change when a new version of ipe is
    installed (e.g., on Debian).  Instead, ipe could just walk down the directories
    specified in IPESTYLES and *always* inspect its default system-wide style
    directory last.

2) As there is a default user-specific ipelet directory
   ($HOME/.ipe/ipelet) that is inspected without even having to
   manipulate any environment variables, it would be nice and consistent if, say,
   $HOME/.ipe/styles was searched before the system-wide directory unless
   the user overrides this behaviour by setting IPESTYLES.

Cheers,
Norbert



More information about the Ipe-discuss mailing list