… | |
… | |
955 | } |
955 | } |
956 | |
956 | |
957 | if (ActiveMenu->win == None) |
957 | if (ActiveMenu->win == None) |
958 | { |
958 | { |
959 | ActiveMenu->win = XCreateSimpleWindow (display->display, TermWin.vt, |
959 | ActiveMenu->win = XCreateSimpleWindow (display->display, TermWin.vt, |
960 | x, ActiveMenu->y, |
960 | x, ActiveMenu->y, |
961 | ActiveMenu->w, ActiveMenu->h, |
961 | ActiveMenu->w, ActiveMenu->h, |
962 | 0, |
962 | 0, |
963 | pix_colors[Color_fg], |
963 | pix_colors[Color_fg], |
964 | pix_colors[Color_scroll]); |
964 | pix_colors[Color_scroll]); |
965 | ActiveMenu->drawable = new rxvt_drawable (display, ActiveMenu->win); |
965 | ActiveMenu->drawable = new rxvt_drawable (display, ActiveMenu->win); |
966 | XMapWindow (display->display, ActiveMenu->win); |
966 | XMapWindow (display->display, ActiveMenu->win); |
967 | } |
967 | } |
968 | |
968 | |
969 | rxvt_Draw_Shadow (display->display, ActiveMenu->win, |
969 | rxvt_Draw_Shadow (display->display, ActiveMenu->win, |
… | |
… | |
982 | GC gc = menubarGC; |
982 | GC gc = menubarGC; |
983 | |
983 | |
984 | if (isSeparator (item->name)) |
984 | if (isSeparator (item->name)) |
985 | { |
985 | { |
986 | rxvt_Draw_Shadow (display->display, ActiveMenu->win, |
986 | rxvt_Draw_Shadow (display->display, ActiveMenu->win, |
987 | topShadowGC, botShadowGC, |
987 | topShadowGC, botShadowGC, |
988 | SHADOW, y + SHADOW + 1, |
988 | SHADOW, y + SHADOW + 1, |
989 | ActiveMenu->w - 2 * SHADOW, 0); |
989 | ActiveMenu->w - 2 * SHADOW, 0); |
990 | h = HEIGHT_SEPARATOR; |
990 | h = HEIGHT_SEPARATOR; |
991 | } |
991 | } |
992 | else |
992 | else |
993 | { |
993 | { |
994 | char *name = item->name; |
994 | char *name = item->name; |
… | |
… | |
1035 | } |
1035 | } |
1036 | else if (item->name2 && !strcmp (name, item->name2)) |
1036 | else if (item->name2 && !strcmp (name, item->name2)) |
1037 | name = NULL; |
1037 | name = NULL; |
1038 | |
1038 | |
1039 | if (len && name) |
1039 | if (len && name) |
1040 | draw_string (*ActiveMenu->drawable, gc, TermWin.fontset, |
1040 | draw_string (*ActiveMenu->drawable, gc, TermWin.fontset[0], |
1041 | xoff, 2 * SHADOW + y, name, len); |
1041 | xoff, 2 * SHADOW + y, name, len); |
1042 | |
1042 | |
1043 | len = item->len2; |
1043 | len = item->len2; |
1044 | name = item->name2; |
1044 | name = item->name2; |
1045 | |
1045 | |
1046 | if (len && name) |
1046 | if (len && name) |
1047 | draw_string (*ActiveMenu->drawable, gc, TermWin.fontset, |
1047 | draw_string (*ActiveMenu->drawable, gc, TermWin.fontset[0], |
1048 | ActiveMenu->w - (xoff + Width2Pixel (xright)), 2 * SHADOW + y, name, len); |
1048 | ActiveMenu->w - (xoff + Width2Pixel (xright)), 2 * SHADOW + y, name, len); |
1049 | |
1049 | |
1050 | h = HEIGHT_TEXT + 2 * SHADOW; |
1050 | h = HEIGHT_TEXT + 2 * SHADOW; |
1051 | } |
1051 | } |
1052 | y += h; |
1052 | y += h; |
… | |
… | |
2015 | const int y = (menuBar_TotalHeight () - w) / 2; |
2015 | const int y = (menuBar_TotalHeight () - w) / 2; |
2016 | int x = Arrows_x + (5 * Width2Pixel (i)) / 4; |
2016 | int x = Arrows_x + (5 * Width2Pixel (i)) / 4; |
2017 | |
2017 | |
2018 | if (!name || name == Arrows[i].name) |
2018 | if (!name || name == Arrows[i].name) |
2019 | rxvt_Draw_Triangle (display->display, menuBar.win, top, bot, x, y, w, |
2019 | rxvt_Draw_Triangle (display->display, menuBar.win, top, bot, x, y, w, |
2020 | Arrows[i].name); |
2020 | Arrows[i].name); |
2021 | } |
2021 | } |
2022 | XFlush (display->display); |
2022 | XFlush (display->display); |
2023 | } |
2023 | } |
2024 | |
2024 | |
2025 | void |
2025 | void |
… | |
… | |
2062 | |
2062 | |
2063 | if (x >= TermWin.ncol) |
2063 | if (x >= TermWin.ncol) |
2064 | len = (TermWin.ncol - (menu->x + HSPACE)); |
2064 | len = (TermWin.ncol - (menu->x + HSPACE)); |
2065 | |
2065 | |
2066 | drawbox_menubar (menu->x, len, +1); |
2066 | drawbox_menubar (menu->x, len, +1); |
2067 | draw_string (*menuBar.drawable, menubarGC, TermWin.fontset, |
2067 | draw_string (*menuBar.drawable, menubarGC, TermWin.fontset[0], |
2068 | (Width2Pixel (menu->x) + Width2Pixel (HSPACE) / 2), |
2068 | (Width2Pixel (menu->x) + Width2Pixel (HSPACE) / 2), |
2069 | SHADOW, menu->name, len); |
2069 | SHADOW, menu->name, len); |
2070 | |
2070 | |
2071 | if (x >= TermWin.ncol) |
2071 | if (x >= TermWin.ncol) |
2072 | break; |
2072 | break; |
… | |
… | |
2125 | } |
2125 | } |
2126 | title[len] = '\0'; |
2126 | title[len] = '\0'; |
2127 | |
2127 | |
2128 | ncol -= (x + len + HSPACE); |
2128 | ncol -= (x + len + HSPACE); |
2129 | if (len > 0 && ncol >= 0) |
2129 | if (len > 0 && ncol >= 0) |
2130 | draw_string (*menuBar.drawable, menubarGC, TermWin.fontset, |
2130 | draw_string (*menuBar.drawable, menubarGC, TermWin.fontset[0], |
2131 | Width2Pixel (x) + Width2Pixel (ncol + HSPACE) / 2, |
2131 | Width2Pixel (x) + Width2Pixel (ncol + HSPACE) / 2, |
2132 | SHADOW, title, len); |
2132 | SHADOW, title, len); |
2133 | } |
2133 | } |
2134 | } |
2134 | } |
2135 | |
2135 | |