]> git.wh0rd.org Git - nano.git/commitdiff
add -U/--quickblank option, a Meta-U toggle, and a "quickblank" rcfile
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Fri, 17 Jun 2005 19:06:25 +0000 (19:06 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Fri, 17 Jun 2005 19:06:25 +0000 (19:06 +0000)
option to blank the statusbar after 1 keystroke instead of 25; note that
this is disabled when NANO_SMALL is defined

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2709 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
doc/man/nano.1
doc/man/nanorc.5
doc/nanorc.sample
src/global.c
src/nano.c
src/nano.h
src/rcfile.c
src/winio.c

index 36ff36399b603b20f6bdbd74269ffbb1d195f07a..d3c2e00a12d750bfb085bd52d2c28abb966ff353 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -105,6 +105,12 @@ CVS code -
        - Since the DISABLE_CURPOS flag is only used in winio.c, reduce
          it to a static bool there.  Changes to statusbar() and
          disable_cursorpos(). (DLR)
+       - Add -U/--quickblank option, a Meta-U toggle, and a
+         "quickblank" rcfile option to blank the statusbar after 1
+         keystroke instead of 25.  Note that this is disabled when
+         NANO_SMALL is defined.  Changes to toggle_init(), usage(),
+         main(), statusbar(), nanorc.sample, nano.1, and nanorc.5.
+         (DLR, suggested by CHAO Wei-Lun)
 - chars.c:
   make_mbstring()
        - Change erroneous ENABLE_EXTRA #ifdef to NANO_EXTRA to fix a
index 9a50b49fe6be3e24fe318157211d399e147e8c3c..240f231650fa159816d3c1196b419c921d1658cb 100644 (file)
@@ -6,7 +6,7 @@
 .\" Public License for copying conditions.  There is NO warranty.
 .\"
 .\" $Id$
-.TH NANO 1 "version 1.3.8" "June 16, 2005"
+.TH NANO 1 "version 1.3.8" "June 17, 2005"
 .\" Please adjust this date whenever revising the manpage.
 .\"
 
@@ -91,6 +91,10 @@ usual chunk-by-chunk behavior.
 .B \-T \fIcols\fP (\-\-tabsize=\fIcols\fP)
 Set the size (width) of a tab to \fIcols\fP columns.
 .TP
+.B \-U (\-\-quickblank)
+Do quick statusbar blanking.  Statusbar messages will disappear after 1
+keystroke instead of 25.
+.TP
 .B \-V (\-\-version)
 Show the current version number and author.
 .TP
index 6b306c19c46e67827f556d719269f6a283bbfafb..6f20acffd7065dfa50f9290fa5dcfb04f9537f2b 100644 (file)
@@ -114,6 +114,10 @@ Set the characters treated as closing punctuation.  They cannot contain
 blank characters.  Only closing punctuation, optionally followed by
 closing brackets, can end sentences.
 .TP
+.B set quickblank
+Do quick statusbar blanking.  Statusbar messages will disappear after 1
+keystroke instead of 25.
+.TP
 .B set quotestr "\fIstring\fP"
 The email-quote string, used to justify email-quoted paragraphs.  This
 is an "extended regular expression" if your system supports them,
index 285edca32ed2246a4e026066b946c35e5a6089b2..92fd9738e623209fc87db766902497dcd7db672d 100644 (file)
 ##
 # set punct ".?!"
 
+## Do quick statusbar blanking.  Statusbar messages will disappear after
+## 1 keystroke instead of 25.
+##
+# set quickblank
+
 ## The email-quote string, used to justify email-quoted paragraphs.
 ## This is an extended regular expression if your system supports them,
 ## otherwise a literal string.  Default:
 ## highlight possible errors and parameters
 # color brightwhite "^ *(set|unset|syntax|color).*$"
 ## set, unset and syntax
-# color cyan "^ *(set|unset) +(autoindent|backup|backupdir|backwards|brackets|casesensitive|const|cut|fill|historylog|morespace|mouse|multibuffer|noconvert|nofollow|nohelp|nowrap|operatingdir|preserve|punct|quotestr|rebinddelete|regexp|smarthome|smooth|speller)\>"
-# color cyan "^ *(set|unset) +(suspend|tabsize|tabstospaces|tempfile|view|whitespace)"
+# color cyan "^ *(set|unset) +(autoindent|backup|backupdir|backwards|brackets|casesensitive|const|cut|fill|historylog|morespace|mouse|multibuffer|noconvert|nofollow|nohelp|nowrap|operatingdir|preserve|punct|quickblank|quotestr|rebinddelete|regexp|smarthome|smooth)\>"
+# color cyan "^ *(set|unset) +(speller|suspend|tabsize|tabstospaces|tempfile|view|whitespace)"
 # color green "^ *(set|unset|syntax)\>"
 ## colors
 # color yellow "^ *color *(bright)?(white|black|red|blue|green|yellow|magenta|cyan)(,(white|black|red|blue|green|yellow|magenta|cyan))?\>"
index ce6dd575b87966084f636d77cbb1e4ec184ad859..af715e4d7fdcffa042a9121db5bb88e4db5eab0a 100644 (file)
@@ -1153,6 +1153,8 @@ void toggle_init(void)
        N_("Use of more space for editing"), MORE_SPACE);
     toggle_init_one(TOGGLE_TABSTOSPACES_KEY,
        N_("Conversion of typed tabs to spaces"), TABS_TO_SPACES);
+    toggle_init_one(TOGGLE_QUICKBLANK_KEY,
+       N_("Quick statusbar blanking"), QUICK_BLANK);
 }
 #endif /* !NANO_SMALL */
 
index c76a9347187e754b95f282c58cb7cf5a9b05e622..a048028f634bae5c91b0a706f2f94ea4acd2d87a 100644 (file)
@@ -1056,6 +1056,8 @@ void usage(void)
 #endif
     print1opt(_("-T [#cols]"), _("--tabsize=[#cols]"),
        N_("Set width of a tab in cols to #cols"));
+    print1opt("-U", _("--quickblank"),
+       N_("Do quick statusbar blanking"));
     print1opt("-V", "--version",
        N_("Print version information and exit"));
 #ifdef ENABLE_COLOR
@@ -4151,6 +4153,7 @@ int main(int argc, char **argv)
        {"historylog", 0, NULL, 'H'},
        {"noconvert", 0, NULL, 'N'},
        {"smooth", 0, NULL, 'S'},
+       {"quickblank", 0, NULL, 'U'},
        {"restricted", 0, NULL, 'Z'},
        {"autoindent", 0, NULL, 'i'},
        {"cut", 0, NULL, 'k'},
@@ -4192,11 +4195,11 @@ int main(int argc, char **argv)
     while ((optchr =
 #ifdef HAVE_GETOPT_LONG
        getopt_long(argc, argv,
-               "h?ABC:EFHINOQ:ST:VY:Zabcdefgijklmo:pr:s:tvwxz",
+               "h?ABC:EFHINOQ:ST:UVY:Zabcdefgijklmo:pr:s:tvwxz",
                long_options, NULL)
 #else
        getopt(argc, argv,
-               "h?ABC:EFHINOQ:ST:VY:Zabcdefgijklmo:pr:s:tvwxz")
+               "h?ABC:EFHINOQ:ST:UVY:Zabcdefgijklmo:pr:s:tvwxz")
 #endif
                ) != -1) {
 
@@ -4263,6 +4266,11 @@ int main(int argc, char **argv)
                    exit(1);
                }
                break;
+#ifndef NANO_SMALL
+           case 'U':
+               SET(QUICK_BLANK);
+               break;
+#endif
            case 'V':
                version();
                exit(0);
index 013b6e0f916c8e744df18de07f9ae3205eca5f88..5cdfe6a52d7a5d049449ba2c9891e6358a423109 100644 (file)
@@ -303,7 +303,8 @@ typedef struct syntaxtype {
 #define WHITESPACE_DISPLAY     (1<<26)
 #define MORE_SPACE             (1<<27)
 #define TABS_TO_SPACES         (1<<28)
-#define USE_UTF8               (1<<29)
+#define QUICK_BLANK            (1<<29)
+#define USE_UTF8               (1<<30)
 
 /* Control key sequences.  Changing these would be very, very bad. */
 #define NANO_CONTROL_SPACE 0
@@ -490,6 +491,7 @@ typedef struct syntaxtype {
 #define TOGGLE_WHITESPACE_KEY  NANO_ALT_P
 #define TOGGLE_MORESPACE_KEY   NANO_ALT_O
 #define TOGGLE_TABSTOSPACES_KEY        NANO_ALT_E
+#define TOGGLE_QUICKBLANK_KEY  NANO_ALT_U
 #endif /* !NANO_SMALL */
 
 #define MAIN_VISIBLE 12
index b76f6ad502934bbfc643fbe53b6ee275183ba419..7bf5d254fd4b3501f2b15b0d0c3d58089088fb92 100644 (file)
@@ -84,6 +84,7 @@ const static rcoption rcopts[] = {
     {"cut", CUT_TO_END},
     {"historylog", HISTORYLOG},
     {"noconvert", NO_CONVERT},
+    {"quickblank", QUICK_BLANK},
     {"smarthome", SMART_HOME},
     {"smooth", SMOOTH_SCROLL},
     {"tabstospaces", TABS_TO_SPACES},
index 58bed7a1524c594cb20e7d056cfa46b9d7990057..60c9a48598753074c77eebc13f0fd4763a465ad6 100644 (file)
@@ -2893,7 +2893,11 @@ void statusbar(const char *msg, ...)
     }
 
     disable_cursorpos = TRUE;
-    statusblank = 25;
+    statusblank =
+#ifndef NANO_SMALL
+       ISSET(QUICK_BLANK) ? 1 :
+#endif
+       25;
 }
 
 void bottombars(const shortcut *s)