Mercurial > ~mikael > mcabber > hg
comparison mcabber/mcabber/screen.c @ 2342:d7b52c883ca4
Do not include status lines in Log_Win_Height
author | franky |
---|---|
date | Tue, 28 May 2019 20:57:35 +0200 |
parents | 6424627913be |
children | 762ee698c8cd |
comparison
equal
deleted
inserted
replaced
2341:c78988260b9f | 2342:d7b52c883ca4 |
---|---|
62 int COLOR_ATTRIB[COLOR_max]; | 62 int COLOR_ATTRIB[COLOR_max]; |
63 | 63 |
64 #define get_color(col) (COLOR_PAIR(col)|COLOR_ATTRIB[col]) | 64 #define get_color(col) (COLOR_PAIR(col)|COLOR_ATTRIB[col]) |
65 #define compose_color(col) (COLOR_PAIR(col->color_pair)|col->color_attrib) | 65 #define compose_color(col) (COLOR_PAIR(col->color_pair)|col->color_attrib) |
66 | 66 |
67 #define DEFAULT_LOG_WIN_HEIGHT (5+2) | 67 #define DEFAULT_LOG_WIN_HEIGHT (5) |
68 #define DEFAULT_ROSTER_WIDTH 24 | 68 #define DEFAULT_ROSTER_WIDTH 24 |
69 #define CHAT_WIN_HEIGHT (maxY-1-Log_Win_Height) | 69 #define CHAT_WIN_HEIGHT (maxY-2-1-Log_Win_Height) |
70 | 70 |
71 #define DEFAULT_ATTENTION_CHAR '!' | 71 #define DEFAULT_ATTENTION_CHAR '!' |
72 | 72 |
73 const char *LocaleCharSet = "C"; | 73 const char *LocaleCharSet = "C"; |
74 | 74 |
931 return maxY - Log_Win_Height - 3; | 931 return maxY - Log_Win_Height - 3; |
932 } | 932 } |
933 | 933 |
934 guint scr_getlogwinheight(void) | 934 guint scr_getlogwinheight(void) |
935 { | 935 { |
936 if (Log_Win_Height >= 2) | 936 return Log_Win_Height; |
937 return Log_Win_Height - 2; | |
938 return 0; | |
939 } | 937 } |
940 | 938 |
941 // scr_print_logwindow(string) | 939 // scr_print_logwindow(string) |
942 // Display the string in the log window. | 940 // Display the string in the log window. |
943 // Note: The string must be in the user's locale! | 941 // Note: The string must be in the user's locale! |
1687 | 1685 |
1688 Log_Win_Height = DEFAULT_LOG_WIN_HEIGHT; | 1686 Log_Win_Height = DEFAULT_LOG_WIN_HEIGHT; |
1689 requested_size = settings_opt_get_int("log_win_height"); | 1687 requested_size = settings_opt_get_int("log_win_height"); |
1690 if (requested_size > 0) { | 1688 if (requested_size > 0) { |
1691 if (maxY > requested_size + 3) | 1689 if (maxY > requested_size + 3) |
1692 Log_Win_Height = requested_size + 2; | 1690 Log_Win_Height = requested_size; |
1693 else | 1691 else |
1694 Log_Win_Height = ((maxY > 5) ? (maxY - 2) : 3); | 1692 Log_Win_Height = ((maxY > 5) ? (maxY - 4) : 1); |
1695 } else if (requested_size < 0) { | 1693 } else if (requested_size < 0) { |
1696 Log_Win_Height = 3; | 1694 Log_Win_Height = 1; |
1697 } | 1695 } |
1698 | 1696 |
1699 if (maxY < Log_Win_Height+2) { | 1697 if (maxY < Log_Win_Height+4) { |
1700 if (maxY < 5) { | 1698 if (maxY < 5) { |
1701 Log_Win_Height = 3; | 1699 Log_Win_Height = 1; |
1702 maxY = Log_Win_Height+2; | 1700 maxY = 5; |
1703 } else { | 1701 } else { |
1704 Log_Win_Height = maxY - 2; | 1702 Log_Win_Height = maxY - 4; |
1705 } | 1703 } |
1706 } | 1704 } |
1707 | 1705 |
1708 if (roster_hidden) { | 1706 if (roster_hidden) { |
1709 Roster_Width = 0; | 1707 Roster_Width = 0; |
1719 | 1717 |
1720 log_win_on_top = (settings_opt_get_int("log_win_on_top") == 1); | 1718 log_win_on_top = (settings_opt_get_int("log_win_on_top") == 1); |
1721 roster_win_on_right = (settings_opt_get_int("roster_win_on_right") == 1); | 1719 roster_win_on_right = (settings_opt_get_int("roster_win_on_right") == 1); |
1722 | 1720 |
1723 if (log_win_on_top) { | 1721 if (log_win_on_top) { |
1724 chat_y_pos = Log_Win_Height-1; | |
1725 log_y_pos = 0; | 1722 log_y_pos = 0; |
1726 chatstatus_y_pos = Log_Win_Height-2; | 1723 chatstatus_y_pos = Log_Win_Height; |
1724 chat_y_pos = Log_Win_Height + 1; | |
1727 } else { | 1725 } else { |
1728 chat_y_pos = 0; | 1726 chat_y_pos = 0; |
1729 log_y_pos = CHAT_WIN_HEIGHT+1; | |
1730 chatstatus_y_pos = CHAT_WIN_HEIGHT; | 1727 chatstatus_y_pos = CHAT_WIN_HEIGHT; |
1728 log_y_pos = CHAT_WIN_HEIGHT + 1; | |
1731 } | 1729 } |
1732 | 1730 |
1733 if (roster_win_on_right) { | 1731 if (roster_win_on_right) { |
1734 roster_x_pos = maxX - Roster_Width; | 1732 roster_x_pos = maxX - Roster_Width; |
1735 chat_x_pos = 0; | 1733 chat_x_pos = 0; |
1746 rosterWnd = newwin(CHAT_WIN_HEIGHT, Roster_Width, chat_y_pos, roster_x_pos); | 1744 rosterWnd = newwin(CHAT_WIN_HEIGHT, Roster_Width, chat_y_pos, roster_x_pos); |
1747 chatWnd = newwin(CHAT_WIN_HEIGHT, maxX - Roster_Width, chat_y_pos, | 1745 chatWnd = newwin(CHAT_WIN_HEIGHT, maxX - Roster_Width, chat_y_pos, |
1748 chat_x_pos); | 1746 chat_x_pos); |
1749 activechatWnd = newwin(CHAT_WIN_HEIGHT, maxX - Roster_Width, chat_y_pos, | 1747 activechatWnd = newwin(CHAT_WIN_HEIGHT, maxX - Roster_Width, chat_y_pos, |
1750 chat_x_pos); | 1748 chat_x_pos); |
1751 logWnd = newwin(Log_Win_Height-2, maxX, log_y_pos, 0); | 1749 logWnd = newwin(Log_Win_Height, maxX, log_y_pos, 0); |
1752 chatstatusWnd = newwin(1, maxX, chatstatus_y_pos, 0); | 1750 chatstatusWnd = newwin(1, maxX, chatstatus_y_pos, 0); |
1753 mainstatusWnd = newwin(1, maxX, maxY-2, 0); | 1751 mainstatusWnd = newwin(1, maxX, maxY-2, 0); |
1754 inputWnd = newwin(1, maxX, maxY-1, 0); | 1752 inputWnd = newwin(1, maxX, maxY-1, 0); |
1755 if (!rosterWnd || !chatWnd || !logWnd || !inputWnd) { | 1753 if (!rosterWnd || !chatWnd || !logWnd || !inputWnd) { |
1756 scr_terminate_curses(); | 1754 scr_terminate_curses(); |
1765 wbkgd(mainstatusWnd, get_color(COLOR_STATUS)); | 1763 wbkgd(mainstatusWnd, get_color(COLOR_STATUS)); |
1766 } else { | 1764 } else { |
1767 /* Resize/move windows */ | 1765 /* Resize/move windows */ |
1768 wresize(rosterWnd, CHAT_WIN_HEIGHT, Roster_Width); | 1766 wresize(rosterWnd, CHAT_WIN_HEIGHT, Roster_Width); |
1769 wresize(chatWnd, CHAT_WIN_HEIGHT, maxX - Roster_Width); | 1767 wresize(chatWnd, CHAT_WIN_HEIGHT, maxX - Roster_Width); |
1770 wresize(logWnd, Log_Win_Height-2, maxX); | 1768 wresize(logWnd, Log_Win_Height, maxX); |
1771 | 1769 |
1772 mvwin(chatWnd, chat_y_pos, chat_x_pos); | 1770 mvwin(chatWnd, chat_y_pos, chat_x_pos); |
1773 mvwin(rosterWnd, chat_y_pos, roster_x_pos); | 1771 mvwin(rosterWnd, chat_y_pos, roster_x_pos); |
1774 mvwin(logWnd, log_y_pos, 0); | 1772 mvwin(logWnd, log_y_pos, 0); |
1775 | 1773 |
1856 | 1854 |
1857 if (!(wbp && wbp->win)) | 1855 if (!(wbp && wbp->win)) |
1858 return; | 1856 return; |
1859 | 1857 |
1860 if (log_win_on_top) | 1858 if (log_win_on_top) |
1861 chat_y_pos = Log_Win_Height-1; | 1859 chat_y_pos = Log_Win_Height + 1; |
1862 else | 1860 else |
1863 chat_y_pos = 0; | 1861 chat_y_pos = 0; |
1864 | 1862 |
1865 if (roster_win_on_right) | 1863 if (roster_win_on_right) |
1866 chat_x_pos = 0; | 1864 chat_x_pos = 0; |