mirror of
https://github.com/profanity-im/profanity.git
synced 2025-01-03 14:57:42 -05:00
Add message to status bar
This commit is contained in:
parent
be8ff9fdcd
commit
1215ec9bc8
@ -85,6 +85,7 @@ status_bar_init(void)
|
|||||||
|
|
||||||
statusbar = malloc(sizeof(StatusBar));
|
statusbar = malloc(sizeof(StatusBar));
|
||||||
statusbar->time = NULL;
|
statusbar->time = NULL;
|
||||||
|
statusbar->message = NULL;
|
||||||
|
|
||||||
int row = screen_statusbar_row();
|
int row = screen_statusbar_row();
|
||||||
int cols = getmaxx(stdscr);
|
int cols = getmaxx(stdscr);
|
||||||
@ -135,6 +136,10 @@ status_bar_close(void)
|
|||||||
if (statusbar->time) {
|
if (statusbar->time) {
|
||||||
g_free(statusbar->time);
|
g_free(statusbar->time);
|
||||||
}
|
}
|
||||||
|
if (statusbar->message) {
|
||||||
|
free(statusbar->message);
|
||||||
|
}
|
||||||
|
free(statusbar);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -341,14 +346,20 @@ status_bar_new(const int win)
|
|||||||
void
|
void
|
||||||
status_bar_get_password(void)
|
status_bar_get_password(void)
|
||||||
{
|
{
|
||||||
// status_bar_print_message("Enter password:");
|
status_bar_print_message("Enter password:");
|
||||||
//
|
|
||||||
// _status_bar_draw();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
status_bar_print_message(const char *const msg)
|
status_bar_print_message(const char *const msg)
|
||||||
{
|
{
|
||||||
|
if (statusbar->message) {
|
||||||
|
free(statusbar->message);
|
||||||
|
statusbar->message = NULL;
|
||||||
|
}
|
||||||
|
statusbar->message = strdup(msg);
|
||||||
|
|
||||||
|
_status_bar_draw();
|
||||||
|
|
||||||
// werase(status_bar);
|
// werase(status_bar);
|
||||||
//
|
//
|
||||||
// if (message) {
|
// if (message) {
|
||||||
@ -409,22 +420,12 @@ status_bar_clear(void)
|
|||||||
void
|
void
|
||||||
status_bar_clear_message(void)
|
status_bar_clear_message(void)
|
||||||
{
|
{
|
||||||
// if (message) {
|
if (statusbar->message) {
|
||||||
// free(message);
|
free(statusbar->message);
|
||||||
// message = NULL;
|
statusbar->message = NULL;
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// werase(status_bar);
|
_status_bar_draw();
|
||||||
//
|
|
||||||
// int cols = getmaxx(stdscr);
|
|
||||||
// int bracket_attrs = theme_attrs(THEME_STATUS_BRACKET);
|
|
||||||
//
|
|
||||||
// wattron(status_bar, bracket_attrs);
|
|
||||||
// mvwprintw(status_bar, 0, cols - 34, _active);
|
|
||||||
// mvwprintw(status_bar, 0, cols - 34 + ((current - 1) * 3), bracket);
|
|
||||||
// wattroff(status_bar, bracket_attrs);
|
|
||||||
//
|
|
||||||
// _status_bar_draw();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//static void
|
//static void
|
||||||
@ -493,8 +494,11 @@ _status_bar_draw(void)
|
|||||||
{
|
{
|
||||||
wbkgd(statusbar_win, theme_attrs(THEME_STATUS_TEXT));
|
wbkgd(statusbar_win, theme_attrs(THEME_STATUS_TEXT));
|
||||||
|
|
||||||
|
int pos = 1;
|
||||||
|
|
||||||
char *time_pref = prefs_get_string(PREF_TIME_STATUSBAR);
|
char *time_pref = prefs_get_string(PREF_TIME_STATUSBAR);
|
||||||
if (g_strcmp0(time_pref, "off") != 0) {
|
if (g_strcmp0(time_pref, "off") != 0) {
|
||||||
|
// time
|
||||||
if (statusbar->time) {
|
if (statusbar->time) {
|
||||||
g_free(statusbar->time);
|
g_free(statusbar->time);
|
||||||
statusbar->time = NULL;
|
statusbar->time = NULL;
|
||||||
@ -510,14 +514,27 @@ _status_bar_draw(void)
|
|||||||
|
|
||||||
size_t len = strlen(statusbar->time);
|
size_t len = strlen(statusbar->time);
|
||||||
wattron(statusbar_win, bracket_attrs);
|
wattron(statusbar_win, bracket_attrs);
|
||||||
mvwaddch(statusbar_win, 0, 1, '[');
|
mvwaddch(statusbar_win, 0, pos, '[');
|
||||||
|
pos++;
|
||||||
wattroff(statusbar_win, bracket_attrs);
|
wattroff(statusbar_win, bracket_attrs);
|
||||||
wattron(statusbar_win, time_attrs);
|
wattron(statusbar_win, time_attrs);
|
||||||
mvwprintw(statusbar_win, 0, 2, statusbar->time);
|
mvwprintw(statusbar_win, 0, pos, statusbar->time);
|
||||||
|
pos += len;
|
||||||
wattroff(statusbar_win, time_attrs);
|
wattroff(statusbar_win, time_attrs);
|
||||||
wattron(statusbar_win, bracket_attrs);
|
wattron(statusbar_win, bracket_attrs);
|
||||||
mvwaddch(statusbar_win, 0, 2 + len, ']');
|
mvwaddch(statusbar_win, 0, pos, ']');
|
||||||
wattroff(statusbar_win, bracket_attrs);
|
wattroff(statusbar_win, bracket_attrs);
|
||||||
|
pos += 2;
|
||||||
|
|
||||||
|
// message
|
||||||
|
if (statusbar->message) {
|
||||||
|
mvwprintw(statusbar_win, 0, pos, statusbar->message);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// message
|
||||||
|
if (statusbar->message) {
|
||||||
|
mvwprintw(statusbar_win, 0, pos, statusbar->message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
prefs_free_string(time_pref);
|
prefs_free_string(time_pref);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user