Skip to content

Commit

Permalink
Merge pull request #1978 from profanity-im/feat/1974-actlist
Browse files Browse the repository at this point in the history
Make statusbar actlist respect the /statusbar show setting
  • Loading branch information
jubalh authored Jun 20, 2024
2 parents 534c149 + ebcb198 commit 29fd819
Showing 1 changed file with 22 additions and 42 deletions.
64 changes: 22 additions & 42 deletions src/ui/statusbar.c
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ static int _status_bar_draw_time(int pos);
static int _status_bar_draw_maintext(int pos);
static int _status_bar_draw_bracket(gboolean current, int pos, const char* ch);
static int _status_bar_draw_extended_tabs(int pos, gboolean prefix, int start, int end, gboolean is_static);
static int _status_bar_draw_tab(StatusBarTab* tab, int pos, int num);
static int _status_bar_draw_tab(StatusBarTab* tab, int pos, int num, gboolean include_brackets);
static int _status_bar_draw_tabs(int pos);
static void _destroy_tab(StatusBarTab* tab);
static int _tabs_width(int start, int end);
Expand Down Expand Up @@ -317,7 +317,7 @@ _status_bar_draw_tabs(int pos)
for (int i = start; i <= end; i++) {
StatusBarTab* tab = g_hash_table_lookup(statusbar->tabs, GINT_TO_POINTER(i));
if (tab) {
pos = _status_bar_draw_tab(tab, pos, i);
pos = _status_bar_draw_tab(tab, pos, i, TRUE);
}
}

Expand All @@ -342,14 +342,9 @@ _status_bar_draw_tabs(int pos)
for (guint i = 1; i <= tabnum && print_act; ++i) {
StatusBarTab* tab = g_hash_table_lookup(statusbar->tabs, GINT_TO_POINTER(i));
if (tab && tab->highlight) {
if (print_act == 1) {
mvwprintw(statusbar_win, 0, pos, "%d", i);
pos++;
} else {
mvwprintw(statusbar_win, 0, pos, "%d,", i);
pos += 2;
}
for (guint limit = 10; i >= limit; limit *= 10) {
pos = _status_bar_draw_tab(tab, pos, i, FALSE);
if (print_act > 1) {
mvwprintw(statusbar_win, 0, pos, ",");
pos++;
}
print_act--;
Expand Down Expand Up @@ -429,7 +424,7 @@ _status_bar_draw_extended_tabs(int pos, gboolean prefix, int start, int end, gbo
}

static int
_status_bar_draw_tab(StatusBarTab* tab, int pos, int num)
_status_bar_draw_tab(StatusBarTab* tab, int pos, int num, gboolean include_brackets)
{
gboolean is_current = num == statusbar->current_tab;

Expand All @@ -441,7 +436,9 @@ _status_bar_draw_tab(StatusBarTab* tab, int pos, int num)
if (!show_read && !is_current && !tab->highlight)
return pos;

pos = _status_bar_draw_bracket(is_current, pos, "[");
if (include_brackets) {
pos = _status_bar_draw_bracket(is_current, pos, "[");
}

int status_attrs;
if (is_current) {
Expand All @@ -468,7 +465,9 @@ _status_bar_draw_tab(StatusBarTab* tab, int pos, int num)
}
wattroff(statusbar_win, status_attrs);

pos = _status_bar_draw_bracket(is_current, pos, "]");
if (include_brackets) {
pos = _status_bar_draw_bracket(is_current, pos, "]");
}

return pos;
}
Expand Down Expand Up @@ -550,39 +549,20 @@ _status_bar_draw_maintext(int pos)
return pos;
}

if (statusbar->fulljid) {
jidp = jid_create(statusbar->fulljid);
if (g_strcmp0(self, "user") == 0) {
maintext = jidp->localpart;
} else if (g_strcmp0(self, "barejid") == 0) {
maintext = jidp->barejid;
} else {
maintext = statusbar->fulljid;
}
}

if (maintext == NULL) {
if (statusbar->fulljid == NULL) {
return pos;
}

if (statusbar->fulljid) {
auto_gchar gchar* pref = prefs_get_string(PREF_STATUSBAR_SELF);

if (g_strcmp0(pref, "off") == 0) {
return pos;
}
if (g_strcmp0(pref, "user") == 0) {
auto_jid Jid* jidp = jid_create(statusbar->fulljid);
mvwprintw(statusbar_win, 0, pos, "%s", jidp->localpart);
return pos;
}
if (g_strcmp0(pref, "barejid") == 0) {
auto_jid Jid* jidp = jid_create(statusbar->fulljid);
mvwprintw(statusbar_win, 0, pos, "%s", jidp->barejid);
return pos;
}
jidp = jid_create(statusbar->fulljid);
if (!jidp)
return pos;

mvwprintw(statusbar_win, 0, pos, "%s", statusbar->fulljid);
if (g_strcmp0(self, "user") == 0) {
maintext = jidp->localpart;
} else if (g_strcmp0(self, "barejid") == 0) {
maintext = jidp->barejid;
} else {
maintext = statusbar->fulljid;
}

gboolean actlist_tabmode = _tabmode_is_actlist();
Expand Down

0 comments on commit 29fd819

Please sign in to comment.