here's a short list of things i think we can do in the short to medium term to make it a first-class terminal: [ ] blink and blink2 attributes need to be supported [ ] dnd text (to/from terminal) [ ] dnd file uri's too as text etc. [ ] general input mode handling improvements (keypad, other key input, etc.) [ ] selection of background "wallpapers" (and support them at all - doesn't right now - should support regular images, animated gifs, and edje files) [ ] scrollbar (elm scroller that mirrors the term smart size/position - gives us fingerscroll - layer on top of term smart, stick invisible rect inside to track for scrolling etc.) [ ] selection mode mirrors entry style for touch displays (handle on_hold flags, etc.) [ ] selection off edge scrolls in that direction (as per selection mode too if it gets NEAR an edge) [ ] selection should have nice visible handles on the start/end so u can drag and change its size once there [ ] improve selection text extraction logic so its reliable [ ] fast text/regex searching similar to urxvt [ ] search in terminal (and keep highlighting until search cleared) [ ] logging of terminal to file [ ] number recognition with base conversion [ ] dnd of file to term offer to paste path, with escapes or paste file content (if text) with or without escaping [ ] helpers when executed need to escape path/uri in command buffer [ ] media - improve position slider to track ucr position as u play [ ] improve look of meida controls [ ] make media controls an api where controls are provided by the media object owner so they can be custom placed/swallowed/handled better [ ] media controls need to have zoom controls for all formats [ ] media controls need next/prev page controls for paged media (ps/pdf) [ ] add better handling of music files (with just playbar+vol, no image) [ ] allow queueing of media (eg music playlist) [ ] add escapes for displaying media [ ] add option for cjk double width mode [ ] apparently there are problems with mutt, screen and tmux? vim mousewheel scroll suport doesnt work [ ] possible evas font problem with proggy fonts: http://www.proggyfonts.com/ [ ] alt+return doesn't copt current selection to input line. [ ] ctrl+shift+c and ctrl+shift+v should do copy & paste things in future to make it totally kick-butt: [ ] reflow text on resize [ ] "tabs" (multiple terminals inside a window) with a nice selector that looks like e17's wallpaper2 selector a bit :) [ ] track child process stats like cwd etc. and when launching a new "tab" or shell use the last child process cwd to put the shell into [ ] track mem and iowait and cpu stats for child procs and their children and display them as little overlays in the terminal so u know if your "grep -r /" is cpu or io bound and what is eating up all your cpu cycles or causing a tonne of hdd interrupts etc. - send results of these stats to theme with messages much like cpufreq, battery etc. do in e17 so theme can display as bars, dials or anything it likes (text, led's etc. too). [ ] tiling layout within 1 window to lay out multiple terms in a flexible split/merge column/row grid setup [ ] remember tile layouts and be able to restore them and at least as much of child processes as the term can manage reasonably reliably [ ] split it out into a library - maybe just as part of elementary and make a terminal widget where you can specify your own read/write funcs for the term fd etc. so u can make a custom bit of code that uses the terminal widget as if it were stdin/out but just as loopback within the app (ie don't exec process - just create pty and offer read/write to/from it) [ ] start supporting some of the crazy escape codes that let you inline images into terminals or just create our own extensions and then start making replacement "std command" wrappers/replacements that are prepended to $PATH that can do the right thing when u do "ls" - i see a list of files and if some are images or documents - u see thumbnails too. if u cat a jpeg.. u see it. if u cat a url or html file.. up comes an inline web browser, provide nicer visual "progessbars" and modified tools like wget that use these escapes etc. all of these are handled by the media object