mirror of https://github.com/mpv-player/mpv
Hide terminal's output and text-mode cursor for LCD and DFP
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3017 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
109caf6b90
commit
62c4bc90cc
|
@ -89,6 +89,27 @@ static inline int VBE_LRMI_int(int int_no, struct LRMI_regs *r)
|
|||
#define VBE_LRMI_int(int_no,regs) (VBE_LRMI_int(int_no,regs))
|
||||
#endif
|
||||
|
||||
static FILE *my_stdin;
|
||||
static FILE *my_stdout;
|
||||
static FILE *my_stderr;
|
||||
|
||||
static void __set_cursor_type(FILE *stdout_fd,int cursor_on)
|
||||
{
|
||||
fprintf(stdout_fd,"\033[?25%c",cursor_on?'h':'l');
|
||||
}
|
||||
|
||||
/* TODO: do it only on LCD or DFP. We should extract such info from DDC */
|
||||
static void hide_terminal_output( void )
|
||||
{
|
||||
my_stdin = fopen(ttyname(fileno(stdin )),"r");
|
||||
my_stdout = fopen(ttyname(fileno(stdout)),"w");
|
||||
my_stderr = fopen(ttyname(fileno(stderr)),"w");
|
||||
__set_cursor_type(stdout,0);
|
||||
/*if(isatty(fileno(stdin ))) stdin =freopen("/dev/null","r",stdin );*/
|
||||
if(isatty(fileno(stdout))) stdout=freopen("/dev/null","w",stdout);
|
||||
if(isatty(fileno(stderr))) stderr=freopen("/dev/null","w",stderr);
|
||||
}
|
||||
|
||||
static unsigned hh_int_10_seg;
|
||||
static int fd_mem;
|
||||
int vbeInit( void )
|
||||
|
@ -115,11 +136,13 @@ int vbeInit( void )
|
|||
&& vbe_pm_info.iopl_ports[i++] > 1023) ioperm(iopl_port,1,1);
|
||||
iopl(3);
|
||||
fd_mem = open("/dev/mem",O_RDWR);
|
||||
hide_terminal_output();
|
||||
return VBE_OK;
|
||||
}
|
||||
|
||||
int vbeDestroy( void )
|
||||
{
|
||||
__set_cursor_type(my_stdout,1);
|
||||
close(fd_mem);
|
||||
return VBE_OK;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue