>In principle you can add full colors, image capabilities and direct manipulation of objects to a shell, see for example IPython (the Qt-shell) or Mathematica.
Sure, but I'd call those GUI apps.
A GUI app can have textual command input, as it just needs a text entry widget to do so, but a CLI command can not have graphical elements -- since with CLI most people (including me) mean stuff that runs in a terminal, either with command line input or with some curses library.
In my eyes it is unfortunate that the terminal standard we are stuck with is dictated by a device designed in the 70s (vt100). There have been more advanced terminals, that had support for graphics and so on.
Sure, but I'd call those GUI apps.
A GUI app can have textual command input, as it just needs a text entry widget to do so, but a CLI command can not have graphical elements -- since with CLI most people (including me) mean stuff that runs in a terminal, either with command line input or with some curses library.