Adapt to mingw
authorLaurent MAZET <laurent.mazet@thalesgroup.com>
Thu, 9 Jan 2025 12:09:42 +0000 (13:09 +0100)
committerLaurent MAZET <laurent.mazet@thalesgroup.com>
Thu, 9 Jan 2025 12:09:42 +0000 (13:09 +0100)
display.c
fm.c

index c96b5730d5743b0a7a94d0af2e62d09a0e57868f..32736a8fb427937d786a5b0ea29e377ed96d6087 100644 (file)
--- a/display.c
+++ b/display.c
@@ -309,17 +309,17 @@ char *getwindow (char *msg, window_t *win, int length)
     int yoffset = win->yoffset + (win->ysize - 1) / 2;
 
     set_color (black);
-    _dobound (strlen (msg) + 1 + length, 1, xoffset, yoffset);
+    _dobound (strlen (msg) + 1 + length, 2, xoffset, yoffset);
     mvaddstr (yoffset, xoffset, msg);
     set_color (white);
 
-    xoffset += strlen (msg) + 1;
+    //xoffset += strlen (msg) + 1;
     int i = 0, j;
     int stop = 0;
     while (!stop) {
         for (j = 0; j < length; j++) {
             set_color ((j == i) ? yellow : black);
-            mvaddch (yoffset, xoffset + j, name[j]);
+            mvaddch (yoffset + 1, xoffset + j, name[j]);
             set_color (white);
         }
         int ch = getch ();
diff --git a/fm.c b/fm.c
index e59ca5c467084ea7b53140b3c9f09c81110446c7..e2253ec1b8a196e39a387022b07227e4721a5f06 100644 (file)
--- a/fm.c
+++ b/fm.c
 #define MAXPANES 2
 #define MAXSTATUS 128
 
+#ifdef PDCURSES
+#define ALT_(x) ALT_##x
+#else
+#define ALT_(x) '#x'
+#endif
+
 /* static variables */
 char *progname = NULL;
 char *version = "0.1";
@@ -289,44 +295,51 @@ int main (int argc, char *argv[])
         case 'u':
             index[pane]--;
             break;
+#ifndef PDCURSES
         case KEY_ESC:
             switch (getch ()) {
-            case 'c': /* copy */
+#endif /* PDCURSES */
+            case ALT_(C): /* copy */
                 break;
-            case 'd': /* delete */
+            case ALT_(D): /* delete */
                 break;
-            case 'e': /* edit */
+            case ALT_(E): /* edit */
                 break;
-            case 'f': /* filter */
-                filter = getwindow ("Set filter", windir[pane], 32);
-                filterlist (list[pane], filter);
-                free (filter);
+            case ALT_(F): /* filter */
+                VERBOSE(DEBUG, fprintf (stderr, "ALT F\n"));
+                filter = getwindow ("Set filter", windir[pane], 16);
+                if (filter) {
+                    filterlist (list[pane], filter);
+                    free (filter);
+                }
                 break;
-            case 'h': /* help */
+            case ALT_(H): /* help */
                 helpwindow (help, (width - strmaxlen (help, '\n')) / 2, 3 * yoffset);
                 while (getch () == ERR) {
                     usleep (200 * 1000);
                 }
                 break;
-            case 'm': /* move */
+            case ALT_(M): /* move */
                 break;
-            case 'n': /* new dir */
+            case ALT_(N): /* new dir */
                 break;
-            case 'q': /* quit */
+            case ALT_(Q): /* quit */
                 if (askwindow (" Restart (Y/N) ", max (windir[pane]->xoffset + (windir[pane]->xsize - 15) / 2, 1), windir[pane]->yoffset + (windir[pane]->ysize - 1) / 2, "Yy", "Nn") == 1) {
                     stop = 1;
                 }
                 break;
-            case 'r': /* rename */
+            case ALT_(R): /* rename */
                 break;
-            case 's': /* select */
+            case ALT_(S): /* select */
                 current = list[pane]->tab + windir[pane]->index;
                 current->selected = (current->selected) ? 0 : 1;
                 break;
-            case 'v': /* view */
+            case ALT_(V): /* view */
                 break;
+#ifndef PDCURSES
             }
             break;
+#endif /* PDCURSES */
         }
     }