(define (script-fu-Move-columns image layer amount)

	(let* (
		(lay-width (car (gimp-drawable-width layer)))
		(lay-height (car (gimp-drawable-height layer)))
		(X-axis 0)
		(variable 0)
		(base-line lay-height)
	         )

	            (gimp-image-undo-disable image)

		(while (< X-axis lay-width)

			(set! variable (random 3))

			        (case variable
			            ((0)
				(set! base-line (- base-line amount)))
			            ((2)
				(set! base-line (+ base-line amount)))
			        )

			(gimp-rect-select image X-axis 0 1 lay-height 0 FALSE 0)
			(gimp-drawable-transform-scale layer X-axis (- base-line lay-height) (+ X-axis 1) base-line 0 2 FALSE 3 0)

		(set! X-axis (+ X-axis 1)))

	            (gimp-image-undo-enable image)

	)

        (gimp-selection-none image)
        (gimp-image-flatten image)
        (gimp-displays-flush)

)


(script-fu-register
	"script-fu-Move-columns"
	"<Image>/Miscellaneous/Move columns up and down"
	"Test"
	"SteveMi"
	"Unrestricted"
	"2015"
	"*"
	SF-IMAGE	"Image" 0
	SF-DRAWABLE	"Layer" 0
	SF-ADJUSTMENT	"Number of pixels to vary by"  '(4 0 20 1 4 0 0)
)
