/* Copyright (C) 1996 Bjoern Beutel. */ /* Description. =============================================================*/ /* Invoke the display process from Malaga. */ /* Includes. ================================================================*/ #include #include #include #include #include #include #include "basic.h" #include "files.h" #include "input.h" #include "commands.h" #include "processes.h" #include "display.h" /* Global variables. ========================================================*/ FILE *display_stream; /* Stream to send data to the display process. */ /* Variables. ===============================================================*/ static process_t display_process; /* Functions. ===============================================================*/ void stop_display_process( void ) /* Stop the Malaga display process. */ { stop_process( &display_process ); display_stream = NULL; } /*---------------------------------------------------------------------------*/ void start_display_process( void ) /* Start the Malaga display process by executing DISPLAY_COMMAND_LINE * if it is not already running. */ { display_process.use_input = FALSE; display_process.use_output = TRUE; display_process.name = "display process"; if (display_process.command_line == NULL) display_process.command_line = new_string( "malshow", NULL ); start_process( &display_process ); display_stream = display_process.output_stream; } /*---------------------------------------------------------------------------*/ static void do_display_cmd_option( string_t arguments ) /* Set the command line to start the display process. */ { if (*arguments == EOS) { printf( "display-cmd: \"%s\"\n", (display_process.command_line == NULL ? "" : display_process.command_line) ); } else { stop_display_process(); display_process.command_line = parse_word( &arguments ); } parse_end( &arguments ); } command_t display_cmd_option = { "display-cmd display-line display", do_display_cmd_option, "Usage: set display-cmd \"DISPLAY_COMMAND_LINE\"\n" "Set the command that is used to start the display process.\n" }; /* End of file. =============================================================*/