shithub: mez

ref: 1bfa8e43df6e6b3d160c6f0308dd3cf617aea536
dir: /mez.h/

View raw version
typedef struct App App;
typedef struct Chan Chan;
typedef struct Net Net;
typedef struct Text Text;

struct App {
	char *host, *user, *passwd;
};

// The multiple indirection for the screen is because
// multiple texts may share the same screen.
struct Text {
	Frame;
	Rune *text;
	uint textlen, topline, nlines, linescap, textcap, *lines;
	Rectangle scrollr, bodyr;
	Image **screen, *cols[NCOL];
	Screen **_screen;
	char *wsys;
};

struct Chan {
	Text body, nicks;
	Rune *topic;
};

struct Net {
	Chan;
	char *name, *host, *state, *nick, *user, *real;
	Chan *channels;
	int fd, id;
	char buf[1024];
};