Automatic commit
authorFrancois Fleuret <francois@fleuret.org>
Fri, 27 Feb 2009 23:53:00 +0000 (00:53 +0100)
committerFrancois Fleuret <francois@fleuret.org>
Fri, 27 Feb 2009 23:53:00 +0000 (00:53 +0100)
Makefile
selector.cc

index f3918de..476a8db 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -34,3 +34,6 @@ all: selector
 
 selector: selector.o
        $(CXX) $(CXXFLAGS) -o $@ $^ $(LDFLAGS)
+
+clean:
+       rm -f *.o selector
index 7a79979..7d59b2f 100644 (file)
@@ -31,13 +31,15 @@ using namespace std;
 const int buffer_size = 1024;
 const int nb_lines_max = 100000;
 
-void build_display(int *screen_line, int *line, int nb_lines, char **lines, char *regexp) {
+void refresh_screen(int *screen_line, int *line, int nb_lines, char **lines, char *regexp, int noblink) {
   char buffer[buffer_size];
 
   int maxx = getmaxx(stdscr);
   int maxy = min(buffer_size-2, getmaxy(stdscr));
 
-  // clear();         // Cleaning the window
+  if(!noblink) {
+    clear();
+  }
 
   use_default_colors();
 
@@ -56,8 +58,10 @@ void build_display(int *screen_line, int *line, int nb_lines, char **lines, char
         k++;
       }
 
-      while(k < maxx - 1) {
-        buffer[k++] = ' ';
+      if(noblink) {
+        while(k < maxx - 1) {
+          buffer[k++] = ' ';
+        }
       }
       buffer[k++] = '\n';
       buffer[k++] = '\0';
@@ -76,7 +80,7 @@ void build_display(int *screen_line, int *line, int nb_lines, char **lines, char
     y++;
   }
 
-  { // Erase the rest of the window. That's slightly ugly.
+  if(noblink) { // Erase the rest of the window. That's slightly ugly.
     int k = 0;
     while(k < maxx - 1) {
       buffer[k++] = ' ';
@@ -104,6 +108,7 @@ void build_display(int *screen_line, int *line, int nb_lines, char **lines, char
 int main(int argc, char **argv) {
   char buffer[buffer_size];
   char *lines[nb_lines_max];
+  int noblink = 1;
 
   char *file_name;
   char stdin_name[] = "/dev/stdin";
@@ -152,7 +157,7 @@ int main(int argc, char **argv) {
 
   int line = 0, screen_line = 0;
 
-  build_display(&screen_line, &line, nb_lines, lines, regexp);
+  refresh_screen(&screen_line, &line, nb_lines, lines, regexp, noblink);
 
   do {
 
@@ -180,7 +185,7 @@ int main(int argc, char **argv) {
       line++;
     }
 
-    build_display(&screen_line, &line, nb_lines, lines, regexp);
+    refresh_screen(&screen_line, &line, nb_lines, lines, regexp, noblink);
   } while(key != '\n' && key != KEY_ENTER && key != '\a');
 
   echo();
@@ -193,3 +198,4 @@ int main(int argc, char **argv) {
 
   return 0;
 }
+