Skip to main content

Standing

Trait Standing 

Source
pub trait Standing {
    // Required methods
    fn show(&self, sessions: &[Listed], troubles: &[Trouble], mood: Mood);
    fn taken(&self) -> Vec<Chosen>;

    // Provided method
    fn holding(&self) -> bool { ... }
}
Expand description

The standing list of what is open.

Concept 12 gives this a tray icon on Windows, a menu bar item on macOS and the command line on Linux — which is why doing nothing is a complete implementation and Nowhere is one. Concept 9 says the tray joins later without the engine noticing, and not noticing is what this trait is for: the loop hands it lines it was going to format anyway and asks what came back.

Required Methods§

Source

fn show(&self, sessions: &[Listed], troubles: &[Trouble], mood: Mood)

What is open, what is wrong, and the colour those add up to, whenever any of the three changes.

Source

fn taken(&self) -> Vec<Chosen>

What has been chosen since this was last asked. Does not block.

Provided Methods§

Source

fn holding(&self) -> bool

Whether this surface is itself a reason for the instance to stay.

A standing list stands until it is dismissed, and that supersedes concept 8’s exit rule wherever there is one. The rule ends an instance when no session, no lingering session and no unanswered question remain, which was right while the process had no face: there was nothing for it to be, so there was no reason for it to be. An icon changes that. It is where a warning lives, and a warning that appears in a process already on its way out has nowhere to go but a notification somebody may never see — which is the whole reason the colours exist.

The cost, said plainly: open one container and a background process stays until it is asked to leave. That is the bargain every sync client makes, and the icon is what turns it from a surprise into a bargain.

Where a terminal started this there is no icon, by crate::present’s own rule that the command line is the floor — so that invocation keeps concept 8 exactly as written, and open at a prompt still returns.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§