📄 samterm.h
字号:
#define SAMTERM#define RUNESIZE sizeof(Rune)#define MAXFILES 256#define READBUFSIZE 8192#define NL 5enum{ Up, Down};typedef struct Text Text;typedef struct Section Section;typedef struct Rasp Rasp;typedef struct Readbuf Readbuf;struct Section{ long nrunes; Rune *text; /* if null, we haven't got it */ Section *next;};struct Rasp{ long nrunes; Section *sect;};#define Untagged ((ushort)65535)struct Text{ Rasp rasp; short nwin; short front; /* input window */ ushort tag; char lock; Flayer l[NL]; /* screen storage */};struct Readbuf{ short n; /* # bytes in buf */ uchar data[READBUFSIZE]; /* data bytes */};enum Resource{ RHost, RKeyboard, RMouse, RPlumb, RResize, NRes,};extern Text **text;extern uchar **name;extern ushort *tag;extern int nname;extern int mname;extern Cursor bullseye;extern Cursor deadmouse;extern Cursor lockarrow;extern Cursor *cursor;extern Flayer *which;extern Flayer *work;extern Text cmd;extern Rune *scratch;extern long nscralloc;extern char hostlock;extern char hasunlocked;extern long snarflen;extern Mousectl* mousectl;extern Keyboardctl* keyboardctl;extern Mouse* mousep;extern long modified;extern int maxtab;extern Readbuf hostbuf[2]; /* double buffer; it's synchronous communication */extern Readbuf plumbbuf[2]; /* double buffer; it's synchronous communication */extern Channel *plumbc;extern Channel *hostc;extern int hversion;extern int plumbfd;extern int exiting;extern int autoindent;Rune *gettext(Flayer*, long, ulong*);void *alloc(ulong n);void iconinit(void);void getscreen(int, char**);void initio(void);void setlock(void);void outcmd(void);void rinit(Rasp*);void startnewfile(int, Text*);void getmouse(void);void mouseunblock(void);void kbdblock(void);void extstart(void);void hoststart(void);int plumbstart(void);int button(int but);int load(char*, int);int waitforio(void);int rcvchar(void);int getch(void);int kbdchar(void);int qpeekc(void);void cut(Text*, int, int, int);void paste(Text*, int);void snarf(Text*, int);int center(Flayer*, long);int xmenuhit(int, Menu*);void buttons(int);int getr(Rectangle*);void current(Flayer*);void duplicate(Flayer*, Rectangle, Font*, int);void startfile(Text*);void panic(char*);void panic1(Display*, char*);void closeup(Flayer*);void Strgrow(Rune**, long*, int);int RESIZED(void);void resize(void);void rcv(void);void type(Flayer*, int);void menu2hit(void);void menu3hit(void);void scroll(Flayer*, int);void hcheck(int);void rclear(Rasp*);int whichmenu(int);void hcut(int, long, long);void horigin(int, long);void hgrow(int, long, long, int);int hdata(int, long, uchar*, int);int hdatarune(int, long, Rune*, int);Rune *rload(Rasp*, ulong, ulong, ulong*);void menuins(int, uchar*, Text*, int, int);void menudel(int);Text *sweeptext(int, int);void setpat(char*);void scrdraw(Flayer*, long tot);int rcontig(Rasp*, ulong, ulong, int);int rmissing(Rasp*, ulong, ulong);void rresize(Rasp *, long, long, long);void rdata(Rasp*, long, long, Rune*);void rclean(Rasp*);void scrorigin(Flayer*, int, long);long scrtotal(Flayer*);void flnewlyvisible(Flayer*);char *rcvstring(void);void Strcpy(Rune*, Rune*);void Strncpy(Rune*, Rune*, long);void flushtyping(int);void dumperrmsg(int, int, int, int);int screensize(int*,int*);void getmouse(void);#include "mesg.h"void outTs(Tmesg, int);void outT0(Tmesg);void outTl(Tmesg, long);void outTslS(Tmesg, int, long, Rune*);void outTsll(Tmesg, int, long, long);void outTsl(Tmesg, int, long);void outTsv(Tmesg, int, vlong);void outTv(Tmesg, vlong);void outstart(Tmesg);void outcopy(int, uchar*);void outshort(int);void outlong(long);void outvlong(vlong);void outsend(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -