withoutboats / notty

A new kind of terminal
GNU Affero General Public License v3.0
2.31k stars 41 forks source link

Road Map to Version 0.2 #32

Open withoutboats opened 8 years ago

withoutboats commented 8 years ago

I would like to start versioning these crates instead of just pegging them at 0.1 at some point soon, incrementing them all to 0.2 to distinguish from the phase up until now. After this, any breaking change to a crate's public API would require a minor version increment (because we're still pre-1.0), and any visible change to any command recognized by notty would also require a minor version increment of the notty library. Between 0.2 and 1.0, at least, I don't think its valuable to keep the versions in sync between different crates associated with the project.

At version 0.2, we'll put notty, notty-encoding, and the GTK terminal (under a better name) on crates.io. Any subcrates of these should be bundled up into these three crates by whatever means is most appropriate (thinking of pangocairo and tty).

Here's the roadmap of features I'd like to see before we increment the minor version:

notty

Both of these goals are aimed at getting scaffolding/anterminal's build instructions down to:

  1. Download Rust from rust-lang.org or your package manager.
  2. cargo install anterminal
waynr commented 8 years ago

I would like to include in this some consideration for the public API offered by notty.

withoutboats commented 8 years ago

I notice that notty has a number of people watching it, so if anyone is following the (decidedly languid) development of notty, here's an update on getting notty into a state that could be called 'usable':

notty (lib)

scaffolding/anterminal

Looking beyond 'making this a usable terminal,' I think there the road map bifurcates:

  1. The first project is making it feasible for people to write applications that take advantage of notty's features. I have a design in mind for a framework which would take the role of both ncurses and GNU readline, using notty's features on notty terminals and emulating them on non-notty terminals.
  2. The second project is creating an adoptable terminal with notty support. scaffolding/anterminal was never really intended to be a widely usable terminal, I built it so I could confirm the notty lib was working. Its occurred to me that rather than add more features to scaffolding, it might be a better approach to try to write a wrapper around notty which implements the API of GNOME VTE, so that any VTE-based terminal (including gnome-terminal, termite, guake, and many more) can be rebuilt against notty.