Skip to main content

Crate termstate_store

Crate termstate_store 

Source
Expand description

The terminal side of OSC 7501: the set of records one terminal holds.

Store applies decoded Messages from termstate-core following the “Records and ids”, “States” (lifetime) and “Limits” sections of the Program Status Protocol, revision 0.4:

  • a report replaces its record completely;
  • clear removes the addressed record and every record beneath it;
  • a record without app inherits it from its nearest ancestor;
  • process exit and a new shell prompt drop working and blocked (and, by policy, idle); done and error survive;
  • at most 256 records, least recently updated evicted first;
  • a full reset (RIS) removes everything.

Presentation (notifications, icons, rate limiting) is left to the caller. Every mutating method returns the Changes it made, in order.

Structs§

Record
What one record holds: exactly the keys of the last report for its id.
Store
The records of one terminal. See the crate docs.

Enums§

Change
One change to the store. Ids are None for the root record.