You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Terminal and LocalTerminal are now renamed to TerminalState and LocalTerminalState, respectively, along with some new capabilities:
Add focused boolean which defaults to true. If the terminal supports sending focus changes, this will be updated in real time.
Add theme property which defaults to 'unknown'. If the terminal supports querying theme state, this will be 'light' or 'dark' and be updated in real time. Note: this is not the OS theme, but instead reflects the theme of the terminal color scheme.
Size property now features the size in pixels in addition to cells. These values will be 0 if unsupported by the terminal.
Bind TerminalState.focused to a Lifecycle and expose into the composition as LocalLifecycleOwner. This allows using Compose lifecycle helpers such as LifecycleResumeEffect and others.
Fancy underline styles (single, double, dashed, dotted, curved) and colors can now be specified for text and annotated string spans.
LocalStaticLogger composition local provides access to StaticLogger which allows logging plain strings at arbitrary points for inclusion in the next frame. This can be used from effects, callback, state classes, etc. Support for logging AnnotatedStrings will come in a future release.
runMosaicMain function replaces the existing runMosaicBlocking for use specifically in fun main() or main-like scenarios.
Changed:
Switched to our own terminal integration and parsing library. Report any issues with keyboard input, incorrect size reporting, or garbled output. This unlocks many of the features listed above, as well as many more planned in the future.
Only disable the cursor and emit synchronized rendering markers if the terminal reports support for those features.
Static function is now called StaticEffect to better indicate that it only renders its content once.
runMosaic and runMosaicBlocking now accept a NonInteractivePolicy argument which dictates the behavior when Mosaic cannot connect directly to the TTY.
Fixed:
Prevent final character from being erased when a row writes into the last column of the terminal.
Do not emit ANSI style reset escape sequence when colors are disabled (such as in testing).
Do not draw blank spaces at the end of every line.
Removed:
renderMosaic was removed without replacement. As the capabilities of the library grow, supporting a string as a render target was increasingly difficult.
This discussion was created from the release 0.17.0.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
New:
TerminalandLocalTerminalare now renamed toTerminalStateandLocalTerminalState, respectively, along with some new capabilities:focusedboolean which defaults to true. If the terminal supports sending focus changes, this will be updated in real time.themeproperty which defaults to 'unknown'. If the terminal supports querying theme state, this will be 'light' or 'dark' and be updated in real time. Note: this is not the OS theme, but instead reflects the theme of the terminal color scheme.TerminalState.focusedto aLifecycleand expose into the composition asLocalLifecycleOwner. This allows using Compose lifecycle helpers such asLifecycleResumeEffectand others.LocalStaticLoggercomposition local provides access toStaticLoggerwhich allows logging plain strings at arbitrary points for inclusion in the next frame. This can be used from effects, callback, state classes, etc. Support for loggingAnnotatedStrings will come in a future release.runMosaicMainfunction replaces the existingrunMosaicBlockingfor use specifically infun main()or main-like scenarios.Changed:
Staticfunction is now calledStaticEffectto better indicate that it only renders its content once.runMosaicandrunMosaicBlockingnow accept aNonInteractivePolicyargument which dictates the behavior when Mosaic cannot connect directly to the TTY.Fixed:
Removed:
renderMosaicwas removed without replacement. As the capabilities of the library grow, supporting a string as a render target was increasingly difficult.This discussion was created from the release 0.17.0.
Beta Was this translation helpful? Give feedback.
All reactions