]> granicus.if.org Git - neomutt/commitdiff
feature: sidebar
authorRichard Russon <rich@flatcap.org>
Thu, 14 Jul 2016 01:45:30 +0000 (02:45 +0100)
committerRichard Russon <rich@flatcap.org>
Thu, 18 Aug 2016 15:15:32 +0000 (16:15 +0100)
configure.ac
globals.h
mx.c
sidebar.c

index 75517f6f23a216a2149eb0b385b3ad384a25d8f4..c032c08c36c7b3caa5a0f65ad0c23ff18620c597 100644 (file)
@@ -175,12 +175,11 @@ if test x$have_smime != xno ; then
        SMIMEAUX_TARGET="smime_keys"
 fi
 
-AC_ARG_ENABLE(sidebar, AC_HELP_STRING([--enable-sidebar], [Enable Sidebar support]),
-[       if test x$enableval = xyes ; then
-               AC_DEFINE(USE_SIDEBAR, 1, [Define if you want support for the sidebar.])
-               OPS="$OPS \$(srcdir)/OPS.SIDEBAR"
-                MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS sidebar.o"
-        fi
+AC_ARG_ENABLE(sidebar, AC_HELP_STRING([--enable-sidebar], [Enable Sidebar support]), enable_sidebar=$enableval, enable_sidebar=no)
+AS_IF([test x$enable_sidebar = "xyes"], [
+          AC_DEFINE(USE_SIDEBAR, 1, [Define if you want support for the sidebar.])
+          OPS="$OPS \$(srcdir)/OPS.SIDEBAR"
+          MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS sidebar.o"
 ])
 
 AC_ARG_WITH(mixmaster, AS_HELP_STRING([--with-mixmaster@<:@=PATH@:>@],[Include Mixmaster support]),
index 95a6869baa03b4a01336947a34a64df1cb773807..b9e8f5c06bba6d387ed62654ce4600e24a1912b5 100644 (file)
--- a/globals.h
+++ b/globals.h
@@ -222,7 +222,7 @@ WHERE short ScoreThresholdRead;
 WHERE short ScoreThresholdFlag;
 
 #ifdef USE_SIDEBAR
-WHERE short SidebarWidth;
+WHERE short SidebarWidth INITVAL(0);
 WHERE LIST *SidebarWhitelist INITVAL(0);
 WHERE int SidebarNeedsRedraw INITVAL (0);
 #endif
diff --git a/mx.c b/mx.c
index fbe82e4ca38d0cae230569603110a2b323fbd36a..b1f006aed44ee5dd7ee4ef105d46f9a355083b3e 100644 (file)
--- a/mx.c
+++ b/mx.c
@@ -328,7 +328,7 @@ static void mx_unlink_empty (const char *path)
 /* try to figure out what type of mailbox ``path'' is
  *
  * return values:
- *     M_*     mailbox type
+ *     MUTT_*  mailbox type
  *     0       not a mailbox
  *     -1      error
  */
index 5b7edafdfd749b2cea6e139c216d25421d6efb8e..f5977402e7db206d296636c7c411df8a7346d303 100644 (file)
--- a/sidebar.c
+++ b/sidebar.c
@@ -202,7 +202,7 @@ static const char *cb_format_str(char *dest, size_t destlen, size_t col, int col
  * @buflen:  Buffer length
  * @width:   Desired width in screen cells
  * @box:     Mailbox name
- * @b:       Mailbox object
+ * @sbe:     Mailbox object
  *
  * Take all the relevant mailbox data and the desired screen width and then get
  * mutt_FormatString to do the actual work. mutt_FormatString will callback to
@@ -490,7 +490,7 @@ static int draw_divider (int num_rows, int num_cols)
   int i;
   for (i = 0; i < num_rows; i++)
   {
-    mutt_window_move (MuttSidebarWindow, i, SidebarWidth - delim_len); //RAR 0 for rhs
+    mutt_window_move (MuttSidebarWindow, i, SidebarWidth - delim_len);
     addstr (NONULL(SidebarDividerChar));
   }
 
@@ -513,7 +513,7 @@ static void fill_empty_space (int first_row, int num_rows, int width)
   int r;
   for (r = 0; r < num_rows; r++)
   {
-    mutt_window_move (MuttSidebarWindow, first_row + r, 0);    //RAR rhs
+    mutt_window_move (MuttSidebarWindow, first_row + r, 0);
     int i;
     for (i = 0; i < width; i++)
       addch (' ');
@@ -667,6 +667,14 @@ void mutt_sb_draw (void)
   if (!option (OPTSIDEBAR))
     return;
 
+#ifdef USE_SLANG_CURSES
+  int x = SLsmg_get_column();
+  int y = SLsmg_get_row();
+#else
+  int x = getcurx (stdscr);
+  int y = getcury (stdscr);
+#endif
+
   int num_rows  = MuttSidebarWindow->rows;
   int num_cols  = MuttSidebarWindow->cols;
 
@@ -684,6 +692,7 @@ void mutt_sb_draw (void)
     return;
 
   draw_sidebar (num_rows, num_cols, div_width);
+  move (y, x);
 }
 
 /**