cyan,
magenta,
yellow,
+ ired,
+ igreen,
+ iblue,
+ icyan,
+ imagenta,
+ iyellow,
bred,
bgreen,
bblue,
init_pair (magenta, COLOR_MAGENTA, COLOR_BLACK);
init_pair (yellow, COLOR_YELLOW, COLOR_BLACK);
init_pair (cyan, COLOR_CYAN, COLOR_BLACK);
+ init_pair (ired, COLOR_RED, COLOR_WHITE);
+ init_pair (igreen, COLOR_GREEN, COLOR_WHITE);
+ init_pair (iblue, COLOR_BLUE, COLOR_WHITE);
+ init_pair (imagenta, COLOR_MAGENTA, COLOR_WHITE);
+ init_pair (iyellow, COLOR_YELLOW, COLOR_WHITE);
+ init_pair (icyan, COLOR_CYAN, COLOR_WHITE);
init_pair (bred, COLOR_BLACK, COLOR_RED);
init_pair (bgreen, COLOR_BLACK, COLOR_GREEN);
init_pair (bblue, COLOR_BLACK, COLOR_BLUE);
return j;
}
+void menuwindow (window_t *win, char *menu, int *index)
+{
+ int i;
+ set_color (black);
+ for (i = 0; i < win->xsize; i++) {
+ mvaddch (win->yoffset, win->xoffset + i, ' ');
+ }
+
+ if (*index < 0) {
+ *index = 0;
+ }
+ if ((int)strlen (menu) - *index < win->xsize) {
+ *index = strlen (menu) - win->xsize;
+ }
+ if (*index < 0) {
+ *index = 0;
+ }
+
+ for (i = 0; (i < win->xsize) && (menu[*index + i] != 0); i++) {
+ set_color (((menu[*index + i] >= 'A') && (menu[*index + i] <= 'Z')) ? iblue : black);
+ mvaddch (win->yoffset, win->xoffset + i, menu[*index + i]);
+ }
+ set_color (white);
+
+ set_color (blue);
+ if (*index > 0) {
+ mvaddch (win->yoffset, win->xoffset, ACS_LARROW);
+ }
+ if ((int)strlen (menu) - *index > win->xsize) {
+ mvaddch (win->yoffset, win->xoffset + win->xsize - 1, ACS_RARROW);
+ }
+ set_color (white);
+}
+
void displaywindow (window_t *win, list_t *list, int page, int *index_x, int *index_y)
{
int i, j;
int helpwindow (char *msg, int xoffset, int yoffset);
+void menuwindow (window_t *win, char *status, int *index);
+
void displaywindow (window_t *win, list_t *list, int page, int *index_x, int *index_y);
void elementwindow (window_t *win, char *status, int *index);
"<u> Status left\n"
;
+char *menu = "Help View Edit Copy Move Rename Newdir Select Filter chmOd Quit";
+
int usage (int ret)
{
FILE *fd = ret ? stderr : stdout;
width = COLS;
}
+ /* init menu window */
+ window_t *winmenu = allocwindow ();
+ winmenu->xoffset = 0;
+ winmenu->xsize = width;
+ winmenu->yoffset = 0;
+ winmenu->ysize = 1;
+
/* init pane windows */
window_t *windir[MAXPANES] = {0};
for (i = 0; i < MAXPANES; i++) {
winelem[i]->ysize = 1;
}
+ int index_menu = 0;
int index[MAXPANES] = {0};
int index_x[MAXPANES] = {0};
int index_y[MAXPANES] = {0};
int stop = 0;
while (!stop) {
+ menuwindow (winmenu, menu, &index_menu);
+
/* display panes */
for (i = 0; i < MAXPANES; i++) {
if (list[i] == NULL) {