⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dismgr.c

📁 linux下通讯软件.实现了linux下一对多的通讯.
💻 C
字号:
#include <ncurses.h>
#include "kapp.h"
#define BV '.'
WINDOW * recvMsgListWin,* sendMsgWin,* sysMsgWin;
char blank[256]="";
attr_t sattr;
short cPair=0;
void *p=0;

void BackToInput()
{
	int x,y;
	getbegyx(sendMsgWin,y,x);
	move(y + 1,x + 1);
	wrefresh(sendMsgWin);
}
void AppInit()
{
	int i;
	initscr();
	raw();
	keypad(stdscr,TRUE);
	noecho();
    recvMsgListWin = newwin(LINES - 8,COLS,0,0);
	sendMsgWin =  newwin(5,COLS,LINES - 8,0);
	sysMsgWin =   newwin(3,COLS,LINES - 3,0);
	
	wborder(recvMsgListWin,BV,BV,BV,BV,BV,BV,BV,BV);
	wborder(sendMsgWin,BV,BV,BV,BV,BV,BV,BV,BV);
	wborder(sysMsgWin,BV,BV,BV,BV,BV,BV,BV,BV);
	wrefresh(recvMsgListWin);
	wrefresh(sendMsgWin);
    wrefresh(sysMsgWin);
	start_color();
	init_pair(1,COLOR_BLUE,COLOR_WHITE);

	wattr_get(recvMsgListWin,&sattr,&cPair,NULL);

	for(i=0;i < (COLS - 2);i++) blank[i]=' ';
}
void KExit(char * arg_msg)
{
	ShowTips(arg_msg);
	AppClean();
	exit(1);
}
void AppClean()
{
	endwin();
}

void ShowRcvMsg(char * arg_msg)
{
	static int NextLine = 1;
	static int CurrLine = 0;
	static int LastMsgLen = 0;
	static char buf[128]="";

    if(CurrLine != 0)
	{
		mvwprintw(recvMsgListWin,CurrLine,1,buf);
		mvwchgat(recvMsgListWin,CurrLine,1,LastMsgLen,sattr,cPair,NULL);
	}
	
	sprintf(buf,"%s",arg_msg);

	mvwprintw(recvMsgListWin,NextLine,1,blank);
	mvwprintw(recvMsgListWin,NextLine,1,arg_msg);
	LastMsgLen = strlen(arg_msg);
	mvwchgat(recvMsgListWin,NextLine,1,LastMsgLen,A_BLINK|A_STANDOUT|A_BOLD,1,NULL);

    wrefresh(recvMsgListWin);
	CurrLine = NextLine;
	NextLine ++;
	if(NextLine > (getmaxy(recvMsgListWin)  - 2)) NextLine = 1;
	BackToInput();
}
void GetSendingMsg(char * arg_msg)
{
	
	mvwprintw(sendMsgWin,1,1,blank);
	echo();
	mvwgetnstr(sendMsgWin,1,1,arg_msg,COLS - 2); 
	wrefresh(sendMsgWin);
	noecho();

}
void ShowTips(char * arg_msg)
{
	mvwprintw(sysMsgWin,1,1,blank);
	mvwprintw(sysMsgWin,1,1,arg_msg);
	wrefresh(sysMsgWin);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -