v2025.10.20
Changes
- Introduce visual overlays for Lua script output.
<script="vtm.desktop.SetOverlay(0, 'desk_fg');" on="..."/> <!-- Set foreground visual overlay for all connected users. --> <script="vtm.desktop.SetOverlay(-1, '\t\tdesk_bg');" on="..."/> <!-- Set background (index<0) visual overlay for all connected users. --> <script="vtm.gate.SetOverlay(0, 'e[42mgate_fg');" on="..."/> <!-- Set foreground visual overlay for current user. --> <script="vtm.gate.SetOverlay(-1, '\t\t\e[44mgate_bg');" on="..."/> <!-- Set background (index<0) visual overlay for current user. --> <script="vtm.desktop.SetOverlay(0, '');" on="..."/> <!-- Remove (due to empty string) foreground visual overlay for all connected users. -->
- With the kbmodifier active, draw a visual red 'B' mark near the right side of the viewport (example in architecture.md).
<desktop> <SetMark="vtm.gate.SetOverlay(0, kbmodifier[vtm.gate] and '\\n\e[11:2p\e[41mB' or ''); vtm.gate.Deface();"/> <!-- `SetMark` macro. If the kbmodifier is active, draw a visual red "B" mark near the right side of the viewport. --> <script="kbmodifier[vtm.gate] = not kbmodifier[vtm.gate];" | SetMark on="Ctrl+B"/> <!-- Emulate tmux-like prefix key. Store the mode state value in the `kbmodifier` table using a unique vtm.gate (user's console) value for each user. --> ... </desktop>