1 | /*--------------------------------*-C-*---------------------------------* |
1 | /*--------------------------------*-C-*---------------------------------* |
2 | * File: menubar.c |
2 | * File: menubar.C |
3 | *----------------------------------------------------------------------* |
3 | *----------------------------------------------------------------------* |
4 | * |
4 | * |
5 | * Copyright (c) 1997,1998 mj olesen <olesen@me.QueensU.CA> |
5 | * Copyright (c) 1997,1998 mj olesen <olesen@me.QueensU.CA> |
|
|
6 | * Copyright (c) 2004 Marc Lehmann <pcg@goof.com> |
6 | * |
7 | * |
7 | * This program is free software; you can redistribute it and/or modify |
8 | * This program is free software; you can redistribute it and/or modify |
8 | * it under the terms of the GNU General Public License as published by |
9 | * it under the terms of the GNU General Public License as published by |
9 | * the Free Software Foundation; either version 2 of the License, or |
10 | * the Free Software Foundation; either version 2 of the License, or |
10 | * (at your option) any later version. |
11 | * (at your option) any later version. |
… | |
… | |
1706 | } |
1707 | } |
1707 | } |
1708 | } |
1708 | else if ((n = rxvt_Str_match (str, "pixmap:")) != 0) |
1709 | else if ((n = rxvt_Str_match (str, "pixmap:")) != 0) |
1709 | { |
1710 | { |
1710 | str += n; |
1711 | str += n; |
1711 | xterm_seq (XTerm_Pixmap, str, CHAR_ST); |
1712 | process_xterm_seq (XTerm_Pixmap, str, CHAR_ST); |
1712 | } |
1713 | } |
1713 | #if (MENUBAR_MAX > 1) |
1714 | #if (MENUBAR_MAX > 1) |
1714 | else if ((n = rxvt_Str_match (str, "rm")) != 0) |
1715 | else if ((n = rxvt_Str_match (str, "rm")) != 0) |
1715 | { |
1716 | { |
1716 | str += n; |
1717 | str += n; |
… | |
… | |
1759 | sprintf (buffer, "/tmp/" RESCLASS "-%u", |
1760 | sprintf (buffer, "/tmp/" RESCLASS "-%u", |
1760 | (unsigned int)getpid ()); |
1761 | (unsigned int)getpid ()); |
1761 | |
1762 | |
1762 | if ((fp = fopen (buffer, "wb")) != NULL) |
1763 | if ((fp = fopen (buffer, "wb")) != NULL) |
1763 | { |
1764 | { |
1764 | xterm_seq (XTerm_title, buffer, CHAR_ST); |
1765 | process_xterm_seq (XTerm_title, buffer, CHAR_ST); |
1765 | menubar_dump (fp); |
1766 | menubar_dump (fp); |
1766 | fclose (fp); |
1767 | fclose (fp); |
1767 | } |
1768 | } |
1768 | } |
1769 | } |
1769 | else if (!STRCMP (str, "next")) |
1770 | else if (!STRCMP (str, "next")) |
… | |
… | |
1846 | if (name != NULL || str != NULL) |
1847 | if (name != NULL || str != NULL) |
1847 | { |
1848 | { |
1848 | if (name == NULL || str == NULL || str <= (name + 1) |
1849 | if (name == NULL || str == NULL || str <= (name + 1) |
1849 | || (name > path && name[-1] != '/')) |
1850 | || (name > path && name[-1] != '/')) |
1850 | { |
1851 | { |
1851 | rxvt_print_error ("menu error <%s>\n", path); |
1852 | rxvt_warn ("menu error A<%s>, continuing.\n", path); |
1852 | break; |
1853 | break; |
1853 | } |
1854 | } |
1854 | if (str[1] == MENUITEM_BEG) |
1855 | if (str[1] == MENUITEM_BEG) |
1855 | { |
1856 | { |
1856 | name2 = (str + 2); |
1857 | name2 = (str + 2); |
1857 | str = STRCHR (name2, MENUITEM_END); |
1858 | str = STRCHR (name2, MENUITEM_END); |
1858 | |
1859 | |
1859 | if (str == NULL) |
1860 | if (str == NULL) |
1860 | { |
1861 | { |
1861 | rxvt_print_error ("menu error <%s>\n", path); |
1862 | rxvt_warn ("menu error B<%s>, continuing.\n", path); |
1862 | break; |
1863 | break; |
1863 | } |
1864 | } |
1864 | name2[-2] = '\0'; /* remove prev MENUITEM_END */ |
1865 | name2[-2] = '\0'; /* remove prev MENUITEM_END */ |
1865 | } |
1866 | } |
1866 | if (name > path && name[-1] == '/') |
1867 | if (name > path && name[-1] == '/') |
… | |
… | |
2034 | if (menubarGC == None) |
2035 | if (menubarGC == None) |
2035 | { |
2036 | { |
2036 | /* Create the graphics context */ |
2037 | /* Create the graphics context */ |
2037 | XGCValues gcvalue; |
2038 | XGCValues gcvalue; |
2038 | |
2039 | |
2039 | gcvalue.foreground = (XDEPTH <= 2 ? PixColors[Color_fg] |
2040 | gcvalue.foreground = (display->depth <= 2 ? PixColors[Color_fg] |
2040 | : PixColors[Color_Black]); |
2041 | : PixColors[Color_Black]); |
2041 | menubarGC = XCreateGC (display->display, menuBar.win, |
2042 | menubarGC = XCreateGC (display->display, menuBar.win, |
2042 | GCForeground, &gcvalue); |
2043 | GCForeground, &gcvalue); |
2043 | |
2044 | |
2044 | } |
2045 | } |