Files
herolib/lib/osal/screen
2024-12-25 22:33:20 +01:00
..
2024-12-25 08:40:56 +01:00
2024-12-25 22:30:33 +01:00
2024-12-25 22:30:33 +01:00
2024-12-25 22:33:20 +01:00

Screen

The Screen module provides a V interface to manage GNU Screen sessions.

Example Script

Create a file screen_example.vsh:

#!/usr/bin/env -S v run

import freeflowuniverse.herolib.osal.screen

// Create a new screen session with hardcoded parameters
mut s := screen.Screen{
    name: 'test_session'
    cmd: '/bin/bash'  // Default shell
}

// Check if screen is running
is_running := s.is_running() or { 
    println('Error checking screen status: ${err}')
    return 
}

// Get session status
status := s.status() or {
    println('Error getting status: ${err}')
    return
}

// Send a command to the screen session
s.cmd_send('ls -la') or {
    println('Error sending command: ${err}')
    return
}

// Attach to the session
s.attach() or {
    println('Error attaching: ${err}')
    return
}

Basic Screen Commands

#to see sessions which have been created
screen -ls

There is a screen on:
    3230.test    (Detached)

#now to attach to this screen
screen -r test

Testing

vtest ~/code/github/freeflowuniverse/herolib/lib/osal/screen/screen_test.v