;; Function by Hirose Yuuji and Bob Wiener
(defun resize-window (&optional arg)
"Resize window interactively."
...
(cond ((= c ?h) (enlarge-window arg))
((= c ?s) (shrink-window arg))
((= c ?w) (enlarge-window-horizontally arg))
((= c ?n) (shrink-window-horizontally arg))
((= c ?\^G) (keyboard-quit))
((= c ?q) (throw 'done t))
((and (> c ?0) (<= c ?9)) (setq arg (- c ?0))))))))
(message "Done."))
That seems basically good, but using other characters
such as arrow keys would be an improvement.
/ and \ could be good for vertical size changes
and [,] for horizontal; they don't need a shift key.