mirror of https://github.com/GNOME/gimp.git
130 lines
5.2 KiB
Plaintext
130 lines
5.2 KiB
Plaintext
|
Web Browser GIMP Extension v0.3
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
by Misha Dynin <misha@xcf.berkeley.edu>
|
|||
|
|
|||
|
Introduction
|
|||
|
~~~~~~~~~~~~
|
|||
|
|
|||
|
Web Browser GIMP extension is not an HTML browser (at least, not yet ;-);
|
|||
|
it's just an interface to an external web browser that allows GIMP, using
|
|||
|
a PDB call, to instruct a browser to open a URL.
|
|||
|
|
|||
|
Currently, it works with Netscape, version 1.1 or above, using a protocol
|
|||
|
described in detail on http://home.netscape.com/newsref/std/x-remote.html.
|
|||
|
If Netscape is not running already, the extension starts it, with a URL
|
|||
|
as a command-line argument.
|
|||
|
|
|||
|
Possible uses of this extension:
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
|
|||
|
* Providing a set of bookmarks, accessible from the GIMP.
|
|||
|
|
|||
|
This is implemented -- web-browser.scm, included in a distribution,
|
|||
|
builds a menu of frequently accessed GIMP websites. It's cool.
|
|||
|
|
|||
|
* Implementing GIMP online help.
|
|||
|
|
|||
|
This is the most promising use of the extension. GIMP plugins and
|
|||
|
main application can provide "Help" and "About" buttons, which,
|
|||
|
when pressed, cause a corresponding page to be opened in Netscape.
|
|||
|
|
|||
|
This is doable now; the only problem is to design a standard way
|
|||
|
to do that. It would be great to be able to access the documentation
|
|||
|
either from the web site or, if installed, from local disk.
|
|||
|
(add gimp-path to .gimprc; use as prefix in gimp-help() function?)
|
|||
|
I request input of experienced GIMP developers on this.
|
|||
|
|
|||
|
* Providing a preview in a web browser.
|
|||
|
|
|||
|
Large percentage of the graphics designed in GIMP ends up on the WWW.
|
|||
|
With this extension, you can write a script that automatically
|
|||
|
launches a web browser and displays the image as it will be viewed.
|
|||
|
Imagine: have a set of scripts defining page style, change one attribute,
|
|||
|
and have GIMP not only recompute all the images, but also automagically
|
|||
|
open the redesigned page design in a browser window!
|
|||
|
|
|||
|
How to use the extension:
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
|
|||
|
* Interactively:
|
|||
|
|
|||
|
select Xtns -> Web Browser -> Open URL, type in the URL, press Ok;
|
|||
|
|
|||
|
* Non-interactively:
|
|||
|
|
|||
|
use procedure extension-web-browser (url, new-window), which takes
|
|||
|
as the first argument a URL of a page to open, and second argument
|
|||
|
is a boolean which specifies whether you want the browser to open
|
|||
|
a new window with a document (new-window == TRUE) or use current
|
|||
|
window (new-window == FALSE). If the browser is not already running,
|
|||
|
new-window value is ignored.
|
|||
|
|
|||
|
I didn't provide a more detailed API on purpose -- making it more
|
|||
|
detailed would make it more Netscape-specific, and I want to be able
|
|||
|
to add support for other browsers. If someone has a convincing argument
|
|||
|
for adding more functions (i.e. to check whether browser is running, etc.),
|
|||
|
email me.
|
|||
|
|
|||
|
Status:
|
|||
|
~~~~~~
|
|||
|
|
|||
|
Netscape support is stable. I haven't tested it on many platforms,
|
|||
|
but I don't expect any problems. What other browsers, if any, do we
|
|||
|
need to support?
|
|||
|
|
|||
|
Included "web-browser.scm" has links to the most popular (IMHO)
|
|||
|
GIMP pages. I hope that the extension will get incorporated into
|
|||
|
the main source tree, and I will not have to maintain the bookmarks
|
|||
|
list.
|
|||
|
|
|||
|
Need help system design based on the web browser extension.
|
|||
|
If some GIMP guru (petm? spencer?) tells me what's the right way to do it,
|
|||
|
I can implement the help system.
|
|||
|
|
|||
|
I didn't write a proof-of-concept implementation of the preview
|
|||
|
script mainly because I am lazy. If someone writes such a script --
|
|||
|
please email it to me.
|
|||
|
|
|||
|
Building Web Browser Extension
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
|
|||
|
Compiling it should be fairly easy. I've included Makefile diff's (for
|
|||
|
the Makefile in plug-ins directory). webbrowser requires libXmu;
|
|||
|
it should be linked with -lXmu.
|
|||
|
|
|||
|
Enclosed script, web-browser.scm, creates a bookmarks menu in
|
|||
|
Xnts/Web Browser/*. Note that there is a bug in script-fu
|
|||
|
(at least as of version 0.99.15) which prevents it from handling
|
|||
|
scripts with zero arguments. Enclosed patch to
|
|||
|
plug-ins/script-fu/script-fu-scripts.c fixes that bug. Without
|
|||
|
this patch, web-browser.scm won't work.
|
|||
|
|
|||
|
Where To Find This Extension
|
|||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|||
|
|
|||
|
The extension can be downloaded from
|
|||
|
ftp://ftp.xcf.berkeley.edu/pub/misha/webbrowser.tar.gz
|
|||
|
|
|||
|
For the up-to-date information about this extension, check out
|
|||
|
http://www.xcf.berkeley.edu/~misha/gimp/
|
|||
|
|
|||
|
Author
|
|||
|
~~~~~~
|
|||
|
|
|||
|
This extension is written by Misha Dynin <misha@xcf.berkeley.edu>.
|
|||
|
|
|||
|
I used the code from GUMP plugin, by Adrian Likins <aklikins@eos.ncsu.edu>.
|
|||
|
|
|||
|
Netscape interface code copyright:
|
|||
|
|
|||
|
* Copyright <20> 1996 Netscape Communications Corporation, all rights reserved.
|
|||
|
* Created: Jamie Zawinski <jwz@netscape.com>, 24-Dec-94.
|
|||
|
*
|
|||
|
* Permission to use, copy, modify, distribute, and sell this software and its
|
|||
|
* documentation for any purpose is hereby granted without fee, provided that
|
|||
|
* the above copyright notice appear in all copies and that both that
|
|||
|
* copyright notice and this permission notice appear in supporting
|
|||
|
* documentation. No representations are made about the suitability of this
|
|||
|
* software for any purpose. It is provided "as is" without express or
|
|||
|
* implied warranty.
|