1
0
mirror of https://github.com/Tha14/toxic.git synced 2024-11-23 02:43:01 +01:00

Merge pull request #281 from JFreegman/master

cursor done better, fixed for chat windows
This commit is contained in:
irungentoo 2013-08-03 05:14:44 -07:00
commit 5d91b83fc2
4 changed files with 5 additions and 23 deletions

3
chat.c
View File

@ -106,6 +106,7 @@ static void chat_onKey(ToxWindow* self, int key) {
} }
static void chat_onDraw(ToxWindow* self) { static void chat_onDraw(ToxWindow* self) {
curs_set(1);
int x, y; int x, y;
ChatContext* ctx = (ChatContext*) self->x; ChatContext* ctx = (ChatContext*) self->x;
@ -117,7 +118,7 @@ static void chat_onDraw(ToxWindow* self) {
wclear(ctx->linewin); wclear(ctx->linewin);
mvwhline(ctx->linewin, 0, 0, '_', COLS); mvwhline(ctx->linewin, 0, 0, '_', COLS);
mvwprintw(ctx->linewin, 1, 0, "%s\n", ctx->line); mvwprintw(self->window, y-1, 0, "%s\n", ctx->line);
wrefresh(self->window); wrefresh(self->window);
} }

View File

@ -113,6 +113,7 @@ static void friendlist_onKey(ToxWindow* self, int key) {
} }
static void friendlist_onDraw(ToxWindow* self) { static void friendlist_onDraw(ToxWindow* self) {
curs_set(0);
size_t i; size_t i;
wclear(self->window); wclear(self->window);

23
main.c
View File

@ -280,26 +280,6 @@ void prepare_window(WINDOW* w) {
wresize(w, LINES-2, COLS); wresize(w, LINES-2, COLS);
} }
/*
* Draws cursor relative to input on prompt window.
* Removes cursor on friends window and chat windows.
*
* TODO: Make it work for chat windows
*/
void position_cursor(WINDOW* w, char* title)
{
curs_set(1);
if (strcmp(title, "[prompt]") == 0) { // main/prompt window
int x, y;
getyx(w, y, x);
move(y, x);
}
else if (strcmp(title, "[friends]") == 0) // friends window
curs_set(0);
else // any other window (i.e chat)
curs_set(0);
}
int main(int argc, char* argv[]) { int main(int argc, char* argv[]) {
int ch; int ch;
ToxWindow* a; ToxWindow* a;
@ -317,9 +297,8 @@ int main(int argc, char* argv[]) {
a = &windows[w_active]; a = &windows[w_active];
prepare_window(a->window); prepare_window(a->window);
a->blink = false; a->blink = false;
a->onDraw(a);
draw_bar(); draw_bar();
position_cursor(a->window, a->title); a->onDraw(a);
// Handle input. // Handle input.
ch = getch(); ch = getch();

View File

@ -288,6 +288,7 @@ static void prompt_onKey(ToxWindow* self, int key) {
} }
static void prompt_onDraw(ToxWindow* self) { static void prompt_onDraw(ToxWindow* self) {
curs_set(1);
int x, y; int x, y;
getyx(self->window, y, x); getyx(self->window, y, x);