From: Karel Kulhavy (clock@atrey.karlin.mff.cuni.cz)
Date: Mon 08 Apr 2002 - 21:22:31 IDT
Hi I need to implement a function similar to "OS shell". In fact I have a web browser written under svgallib that calls external, text-mode program. I need to implement function vga_block and vga_unblock. vga_block restores original state before start of the program (vga_setmode(TEXT)) and also has to restore original mouse state (so that the program can use mouse services without problems). vga_unblock has to set up the graphics mode and restart the mouse. I found it is impossible under 1.9.13. Because only way how to restore original mouse state is mouse_close. When I call mouse_close, __svgalib_mouse_fd is closed, and mouse_open is still left at 1. The only way how to reengage the mouse is do in my program this gross hack: extern int mouse_open; There are also two limiting factors in my program: a) I need to know the __svgalib_mouse_fd because I need to do a select() on the descriptor when the program is idle and doing nothing. This is only possible via calling mouse_init_return_fd when the mouse is already running. b) I may not use mouse_init because I don't know the values that are normally set up in /etc/vga/libvga.config. So I can't use mouse_init and mouse_init_return_fd to kick up the mouse. The only remaining possibility is vga_init. I have written it this way: vga_ublock(int mode) { ... mouse_open=0; vga_init(); vga_setmousesupport(1); vga_setmode(mode); mouse_fd_for_use_ini_select=mouse_init_return_fd(...); } But the I realized my program doesn't work with svgalib 1.4.1 because it knows nothing about mouse_open. I am gonna puke from the svgalib. Please tell me how to correctly write my vga_block and vga_unblock according to said specifications. Clock ------------------------------------------------------------------ Unsubscribe: To: listbot@svgalib.org Body: unsubscribe linux-svgalib
This archive was generated by hypermail 2.1.4 : Wed 21 Jan 2004 - 22:10:24 IST