4 ms·
In CLIM, a graphical presentation is only a representation of an underlying type. Types will have default representation (e.g., basic text like you would get f
by toddkaufmann 12y ago
In CLIM, a graphical presentation is only a representation of an underlying type. Types will have default representation (e.g., basic text like you would get from printf), but you can also override this using with-output-as-presentation (see p. IV-1.30 of [1]).
So, when outputting a number, you could display it in the output stream as a circle of radius N. Then, any input which wanted a number as argument (using "(accept 'integer ..)") would let you type a number or click on that circle.
This could be extended to shell command parser for richer input choices (rmdir can only accept directories, cat won't).
Existing utilities could support a "richly typed stream of objects" (graphical ls) or a wrapper or output processor could add it. The latter has the advantage that not all commands would need to be aware, and it could be multi-functional (could work on "ls|grep", "find", "tar tf" output--but you might need to specify type hints).
I think it would be handy to have all my recent files, directories, outputs handy in a list on the side
(with keyboard shortcuts too; I'm not a clicker..).
So in no way should your command history have to be compromised just because you have alternative input methods available.
[1] A Guided Tour of the Common Lisp Interface Manager,
http://3e8.org/pub/scheme/doc/lisp-pointers/v4i1/p17-rao.pdf http://3e8.org/pub/scheme/doc/lisp-pointers/v4i1/p17-rao.pdf