path: root/TODO
blob: 201ce4e23fba0f237e192a55c5db85b280f78d87 (plain) (tree)













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:

[ ] edje objects need to be able to swallow sub-objects (and specify
    group, text, signals etc.)
[ ] vt100-compatibility: pass all of tests!
[ ] general input mode handling improvements (keypad, other key
    input, etc.)
[ ] tyls code is just horrible. fix it.
[ ] better info in tyls -m
[ ] tabs: reordering should be possible
[ ] splits need to size only by steps in font size (elm feature)
[ ] blink and blink2 attributes need to be supported
[ ] 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 off edge scrolls in that direction (as per selection
    mode too if it gets NEAR an edge)
[ ] selection mode mirrors entry style for touch displays (handle
    on_hold flags, etc.)
[ ] 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 (hex/dec/oct/binary etc.) conversion
    with some overlay/popup on mouseover
[ ] dnd of file to term offer to paste path, with escapes or paste file
    content (if text) with or without escaping
[ ] media - improve position slider to track position as u play
[ ] improve look of meida controls (youtube like better with mouse move show)
[ ] 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)
[ ] display queue of media visually and allow deletion from queue etc.
[ ] add option for cjk double width mode
[ ] possible evas font problem with proggy fonts:
[ ] key controls to begin/change/end selections
[ ] key controls to hilight visible links and select them

things in future to make it totally kick-butt:

[ ] maybe want a new "tab" sel width that slides/fades in on mouseover on top
    that lists miniature thumbs like current sel does but in a linear
    way along the top
[ ] support double-width when reflowing text on resize
[ ] 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).
[ ] remember split layouts/tabs 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)