Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
#######
#
# E-scripts on Gimp.
#
# Note 1: use the eev command (defined in eev.el) and the
# ee alias (in my .zshrc) to execute parts of this file.
# Executing this file as a whole makes no sense.
# An introduction to eev can be found here:
#
#   (find-eev-quick-intro)
#   http://angg.twu.net/eev-intros/find-eev-quick-intro.html
#
# Note 2: be VERY careful and make sure you understand what
# you're doing.
#
# Note 3: If you use a shell other than zsh things like |&
# and the for loops may not work.
#
# Note 4: I always run as root.
#
# Note 5: some parts are too old and don't work anymore. Some
# never worked.
#
# Note 6: the definitions for the find-xxxfile commands are on my
# .emacs.
#
# Note 7: if you see a strange command check my .zshrc -- it may
# be defined there as a function or an alias.
#
# Note 8: the sections without dates are always older than the
# sections with dates.
#
# This file is at <http://angg.twu.net/e/gimp.e>
#           or at <http://angg.twu.net/e/gimp.e.html>.
#        See also <http://angg.twu.net/emacs.html>,
#                 <http://angg.twu.net/.emacs[.html]>,
#                 <http://angg.twu.net/.zshrc[.html]>,
#                 <http://angg.twu.net/escripts.html>,
#             and <http://angg.twu.net/>.
#
#######




# «.python-mode»		(to "python-mode")
# «.gimp-help»			(to "gimp-help")
# «.keybindings»		(to "keybindings")
# «.gimp-python»		(to "gimp-python")
# «.grokking-the-gimp»		(to "grokking-the-gimp")
# «.convert-to-monochrome»	(to "convert-to-monochrome")
# «.scanning»			(to "scanning")
# «.whiteboard»			(to "whiteboard")
# «.keyboard-shortcuts»		(to "keyboard-shortcuts")
# «.layers»			(to "layers")





# (find-zsh "installeddebs | sort | grep gimp")
# (find-zsh "availabledebs | sort | grep gimp")





#####
#
# python-mode
# 2004nov02
#
#####

# «python-mode»  (to ".python-mode")
# (find-available "python-elisp")
# (find-available "python2.1-elisp")
# (find-available "python2.2-elisp")
# (find-available "python-mode")

apti python-mode





#####
#
# gimp
# 2004oct23 / 2013sep27
#
#####

# «gimp-help» (to ".gimp-help")
# (find-status   "gimp")
# (find-vldifile "gimp.list")
# (find-udfile   "gimp/")
# (find-status   "gimp-help-en")
# (find-vldifile "gimp-help-en.list")
# (find-udfile   "gimp-help-en/")
# (find-status   "gimp-help-common")
# (find-vldifile "gimp-help-common.list")
# (find-udfile   "gimp-help-common/")
# (find-status   "gimp-helpbrowser")
# (find-vldifile "gimp-helpbrowser.list")
# (find-udfile   "gimp-helpbrowser/")

# (find-fline "/usr/share/doc/gimp-help-en/html/en/")
#       file:///usr/share/doc/gimp-help-en/html/en/index.html
# file:///usr/share/doc/gimp-help-en/html/en/index.html

(code-c-d "gimphelp" "/usr/share/gimp/2.0/help/en/")
# (find-gimphelpfile "")
# file:///usr/share/gimp/2.0/help/en/index.html
# (find-w3m "file:///usr/share/gimp/2.0/help/en/index.html")
# (find-w3m "file:///usr/share/gimp/2.0/help/en/ch02s08s04.html")

file:///usr/share/gimp/2.0/help/en/gimp-using-paths.html
file:///usr/share/gimp/2.0/help/en/gimp-imaging-photos.html
file:///usr/share/gimp/2.0/help/en/gimp-using-script-fu-tutorial.html

_T_ools -> _C_olor tools -> _L_evels

# (find-udfile "gimp/NEWS.gz")




#####
#
# gimp-manual
# 2004oct23
#
#####

# (find-status   "gimp-manual")
# (find-vldifile "gimp-manual.list")
# (find-udfile   "gimp-manual/")
#*
firefox /usr/share/doc/gimp-manual/html/index.html &
#*




#####
#
# keybindings
# 2004nov04
#
#####

# «keybindings»  (to ".keybindings")
# (find-w3m "file:///usr/share/doc/gimp-manual/html/dyn_key.html")
# (find-fline "~/.gimp-2.0/")
# (find-sh "cd ~/.gimp-2.0/; sort menurc")
# (find-udfile "gimp/keybindings.txt.gz")
# (find-udfile "gimp/keybindings.txt.gz" "Dynamic Keyboard\nShortcuts")

File/Preferences/Interface/Use Dynamic Keyboard nShortcuts

# file:///usr/share/gimp/2.0/help/en/index.html
# file:///usr/share/gimp/2.0/help/en/gimp-help-keyboard-shortcuts.html
# file:///usr/share/gimp/2.0/help/en/gimp-pimping.html#gimp-prefs-help



#####
#
# Gimp: my first script-fu's (very old)
#
#####

# (find-gimpfile "plug-ins/gee/gee.c" "plug_in_the_egg")
# (find-gimpfile "app/batch.c")
# (find-gimpfile "app/interface.c" 118)
# (find-gimpfile "app/menus.c")

lynx /snarf/http/www.rru.com/~meo/gimp/faq-user.html
lynx /snarf/http/www.rru.com/~meo/gimp/faq-dev.html

l /snarf/http/www.gimp.org/~adrian/scripts/test.scm
l /snarf/http/www.rru.com/~meo/gimp/rand-noted.c

# (find-gimpfile "plug-ins/script-fu/")
# (find-gimpfile "plug-ins/script-fu/script-fu-console.c")
# (find-gimpfile "plug-ins/script-fu/script-fu.c" "extension_script_fu_console")
# (find-gimptag "gimp_install_procedure")
# (find-gimpfile "app/")
# (find-gimpfile "app/fileops.c")
# (find-gimpfile "plug-ins/jpeg/jpeg.c")

gglimpse gimp_install_procedure
gglimpse procedural_db_register




######
#
# siod
#
######

# (find-fline "/snarf/ftp/ftp.std.com/pub/gjc/siod.tar.gz")




######
#
# gimp: batch mode
#
######

man gimp
gimp -n --no-data --no-splash -b 
gimp --no-splash
gimp --no-splash --console-messages
gimp --no-splash --debug-handlers

lynx /snarf/http/adrian.gimp.org/batch/index.html

gimp -n -b '(let () (script-fu-mono3 30 60 200 100 150) (gimp-quit 0))'

# Como é que eu faço "progn" em Scheme?




#####
#
# gimp-python
# 2004nov02
#
#####

# «gimp-python»  (to ".gimp-python")
# (find-status   "gimp-python")
# (find-vldifile "gimp-python.list")
# (find-udfile   "gimp-python/")
# (find-fline "/usr/lib/gimp/2.0/")
# (find-fline "/usr/lib/gimp/2.0/plug-ins/")
# (find-fline "/usr/lib/gimp/2.0/plug-ins/clothify.py")
# (find-fline "/usr/lib/gimp/2.0/python/gimpenums.py")
# (find-fline "/usr/lib/gimp/2.0/python/gimpfu.py")
# (find-fline "/usr/lib/gimp/2.0/python/gimpplugin.py")
# (find-fline "/usr/lib/gimp/2.0/python/gimpshelf.py")
# (find-fline "/usr/lib/gimp/2.0/python/gimpui.py")


# (find-pylibnode "Generic Operating System Services")
# (find-pylibnode "datetime")
# (find-pylibnode "Miscellaneous Index")

#*
python =(<<'%%%'
import datetime
saida = open("/tmp/o", "w")
data =  datetime.date.today()
print >> saida, data
%%%)

#*
python =(<<'%%%'
import os
print >> open("/tmp/o", "w"), os.system("echo foo")
%%%)
date
cat /tmp/o

#*
python =(<<'%%%'
import os
print "dois: ", os.system("date > /tmp/o")
print "three: ", os.system("echo $[1+2]")
%%%)
date
cat /tmp/o

#*

# http://www.jamesh.id.au/software/pygimp/
# (find-pylibnode "popen2")
# (find-pylibnode "File Object Creation")


#*
# (find-fline "~/.gimp-2.0/plug-ins/")
# (find-fline "~/.gimp-2.0/pluginrc")
# (find-fline "~/.gimp-2.0/pluginrc" "<Toolbox>/Xtns/_DB Browser")

cat > ~/.gimp-2.0/plug-ins/myplugin.py <<'%%%'
#!/usr/bin/python
# (find-file "/usr/lib/gimp/2.0/python/gimpfu.py")
# (find-file "/usr/lib/gimp/2.0/plug-ins/clothify.py")
#
import os
from gimpfu import *
def ee_python_plugin_func(image, drawable, args):
    os.system("date > /tmp/o")
register("ee_python_plugin_func",
	 "ee blurb",  "ee help message",
	 "ee author", "ee copyright", "ee year",
	 "<Image>/Python-Fu/_ee",
	 "*",
	 [(PF_STRING, "arg", "The argument", "default-value")],
	 [],
	 ee_python_plugin_func)
main()
%%%

chmod 755 ~/.gimp-2.0/plug-ins/myplugin.py

rm -v ~/.gimp-2.0/pluginrc

#*
rm -v ~/.gimp-2.0/plug-ins/myplugin.py

#*




#####
#
# A real ee()
# 2004nov03
#
#####

# Not working:
# /home/aleph(aleph:pe)# Traceback (most recent call last):
#   File "/usr/lib/gimp/2.0/python/gimpfu.py", line 470, in _run
#     res = apply(func, params)
# TypeError: ee() takes no arguments (2 given)

#*
# (find-fline "~/.gimp-2.0/plug-ins/")
# (find-fline "~/.gimp-2.0/pluginrc")
# (find-fline "~/.gimp-2.0/pluginrc" "<Toolbox>/Xtns/_DB Browser")
# (find-pyrefnode "import statement")
# (find-pyrefnode "Module Index" "sys")
# (find-pylibnode "Built-in Functions" "`execfile(filename")

cat > ~/.gimp-2.0/plug-ins/eeplugin.py <<'%%%'
#!/usr/bin/python
# (find-file "/usr/lib/gimp/2.0/python/gimpfu.py")
# (find-file "/usr/lib/gimp/2.0/plug-ins/clothify.py")
#
import os
from gimpfu import *
def mywritefile(fname, str):
  fd = open(fname, "w")
  fd.write(str)
  fd.close
#
def ee(*args):
  # mywritefile("/tmp/o", str(args)+"\n")
  print str(args)
  execfile(os.getenv("EEVTMPDIR")+"/ee.py", globals())
#
register("ee",
	 "ee blurb",  "ee help message",
	 "ee author", "ee copyright", "ee year",
	 "<Image>/Python-Fu/_ee",
	 "*",
	 [(PF_STRING, "arg", "The argument", "default-value")],
	 [],
	 ee)
main()
%%%

chmod 755 ~/.gimp-2.0/plug-ins/eeplugin.py
rm -v ~/.gimp-2.0/pluginrc
gimp &

#*

mywritefile("/tmp/o", "2222\n")

# (find-fline "~/.gimp-2.0/menurc")
# (find-sh "sort ~/.gimp-2.0/menurc")




#####
#
# grokking the gimp (book)
# 2004dec21
#
#####

# «grokking-the-gimp»  (to ".grokking-the-gimp")
# (find-status   "grokking-the-gimp")
# (find-vldifile "grokking-the-gimp.list")
# (find-udfile   "grokking-the-gimp/")
firefox /usr/share/doc/grokking-the-gimp/html/Grokking_the_GIMP.html &




#####
#
# Converting an image to monochrome
# 2010sep19
#
#####

# «convert-to-monochrome»  (to ".convert-to-monochrome")
# http://www.gimp.org/tutorials/Color2BW/
# http://news.softpedia.com/news/Learning-GIMP-Convert-Color-Images-to-Black-and-White-52109.shtml
# http://news.softpedia.com/newsImage/Learning-GIMP-Convert-Color-Images-to-Black-and-White-3.png/
# http://www.cambridgeincolour.com/techniques/color-black-white.htm
# http://www.gimp.org/tutorials/Anti-Aliased_Threshold/




#####
#
# Scanning
# 2013may23
#
#####

# «scanning» (to ".scanning")
# (find-es "scan" "xsane-deb-src")
# File -> Create -> XSane -> Device dialog
# http://www.xsane.org/
# http://www.xsane.org/doc/sane-xsane-preview-doc.html




#####
#
# Whiteboard
# 2013dec08
#
#####

# «whiteboard» (to ".whiteboard")
# (find-es "android" "camscanner")
# http://registry.gimp.org/node/19822 Whiteboard clean-up
# http://matthew.mceachen.us/blog/how-to-clean-up-photos-of-whiteboards-with-gimp-403.html
# (find-anggfile "GIMP/")
# (find-djvupage "GIMP/20131122_GAB.djvu")

http://www.mmk.ei.tum.de/publ/pdf/08/08sch18.pdf
http://docs.gimp.org/nl/plug-in-dog.html
http://stackoverflow.com/questions/14191967/opencv-efficient-difference-of-gaussian
http://superuser.com/questions/107313/software-to-clean-up-photos-of-whiteboards-and-documents
http://snapclean.me/
http://www.fmwconcepts.com/imagemagick/whiteboard/
http://www.fmwconcepts.com/imagemagick/
http://jqmagick.imagemagick.org/
http://www.fmwconcepts.com/imagemagick/tidbits/index.php

# (find-angg "IMAGEMAGICK/whiteboard")
# (find-angg "bin/whiteboard")
# (find-fline "~/2013.2-GA/" "20131122_GAA.jpg")
# (xz "~/2013.2-GA/20131122_GAA.jpg")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cp -v ~/2013.2-GA/20131122_GAA.jpg /tmp/a.jpg
whiteboard /tmp/a.jpg /tmp/b.jpg
whiteboard /tmp/a.jpg /tmp/a.png
# (xz "/tmp/a.png")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd ~/2013.2-GA/
cd /tmp/
make -f ~/2013.2-GA/Makefile djvus
make 2013.2-GA.djvu
# (find-djvupage "/tmp/a.djvu")




#####
#
# keyboard shortcuts
# 2014aug07
#
#####

# «keyboard-shortcuts» (to ".keyboard-shortcuts")
# http://docs.gimp.org/en/gimp-concepts-shortcuts.html
# file:///usr/share/gimp/2.0/help/en/gimp-pimping.html
# (find-sh "locate gimp-pimping")




#####
#
# layers
# 2020aug31
#
#####

# «layers»  (to ".layers")






# (find-man "gimp")




http://www.amazon.com/GIMP-2-6-Photographers-Editing-Software/dp/1933952490/
http://www.youtube.com/user/GimpKnowHow
http://www.youtube.com/user/GIMPtricks
http://research.microsoft.com/en-us/um/people/lhe/papers/icassp04.wbscan.pdf

Script pra processar fotos de quadros brancos

http://blog.johnnovak.net/2016/09/21/what-every-coder-should-know-about-gamma/
https://setosa.io/ev/image-kernels/

Po Lu: Re: Abysmal state of GTK build
https://lists.gnu.org/archive/html/emacs-devel/2022-08/msg01186.html

https://news.ycombinator.com/item?id=33808435 GIMP Turns 27 (gimp.org)




#  Local Variables:
#  coding:               utf-8-unix
#  End: