steven Mitchell writes:
Currently, icons can be .xpm or .png files and I think are
converted to widgets when loaded, or something like that. I was
saying that I would like to see .svg icons be able to be used in
the same way. SVG files are text, so it is easy to write scripts
to generate new icon sets, mass-change the coloring of the
background of a whole set of icons in a script, substitute new
parts of images for the whole set, etc.
Sure, but that doesn't mean we need to implement the whole SVG
standard (or even some reasonable subset) in XEmacs if we can do
translations on the fly using a freely available tool, same as we do
statistics. For your toolbar use case, we could easily call the tool
and cache the result, in memory or in pixmap image files for
persistence (or in .xemacs/custom.el). The performance hit would
presumably negligible in most cases, unless you were using thousands
of icons or some kind of animation.
I *would* be interested in a good implementation of SVG internally,
because I'd like to be able to work with 2-dimensional "canvases" as
well as 1-dimensional "buffers". But I think that changes the way we
should think about editing (and no, I don't think Inkscape is a good
model for what I have in mind), so it's likely to be hard.
You know, there is one other thing that I'd like to do, that is
to
implement mouse click detections on the toolbar and tabbar. It
seems natural to see an opposite-click menu on tabs to do a variety
of things like save the file in that buffer, close the tab,
save-as, reload that tab, or whatever you want.
Do you know about Xt translations? At least on native Xt (ie, not
windows, not GTK), it should be possible to add translations for those
clicks.
Problem is that there is no response to opposite or middle clicks
on the tabbar. And seemingly no way to get them as long as we are
using the Lucid toolkit to do the tabbar.
Even if translations don't work it should be trivial to add actions
for those in the lwlib/xlwtabs.c file.
There are other things that cannot be implemented easily with the
Lucid tabbar, such as putting 2 buttons (widgets) in the tab bar:
Put the buttons in the gutter, not in the tab bar.
Another thing that cannot be done with the tabbar as it is
implemented now is background pixmaps. The tabbar face lets you set
one and specify a pixmap.
This is currently badly horked and needs a lot of love. Would be
nice, and probably would be a reasonable GSoC project. See below.
Another thing the Lucid tabbar doesn't allow is changing the
color
of individual tabs--all have to be the same face.
I'm pretty sure you can use resources to do this, although I'm not
sure how you can get hold of the relevant widgets. But true, it's not
a face.
All of the above would best be done by make Lucid widgets into Lisp
widgets, I think. The idea would be to make the abstract Lucid widget
objects into Lisp objects.
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta