"SfR Fresh" - the SfR Freeware/Shareware Archive

Member "xiterm-2.0/doc/test/menus/jedmenu.sl" of archive xiterm-2.0.tar.gz:


As a special service "SfR Fresh" has tried to format the requested source page into HTML format using source code syntax highlighting with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. That can be also achieved for any archive member file by clicking within an archive contents listing on the first character of the file(path) respectively on the according byte size field.
    1 %--------------------------------*-SLang-*--------------------------------
    2 % An example of menuBar for the JED editor
    3 #if$TERM xterm*
    4 define toggle_menu () { tt_send ("\e[?10t"); }
    5 define menucmd (str) { tt_send (Sprintf ("\e]10;%s\a", str, 1)); }
    6 define menu_clear () { tt_send ("\e]10;-/\a\e]10;=\a"); }
    7 
    8 define menu_title (str) { menucmd (strcat ("=", str)); }
    9 
   10 define menu (str) { menucmd (strcat ("+", str)); }
   11 define rm_menu (str) { menucmd (strcat ("-", str)); }
   12 
   13 define menuitem (str,ev) { menucmd (Sprintf ("+{%s} %s", str, ev, 2)); }
   14 define rm_menuitem (str) { menucmd (Sprintf ("-{%s}", str, 1)); }
   15 
   16 define menuFn ()
   17 {
   18    variable ch, cmd;
   19 
   20    cmd = Null_String;
   21    forever
   22      {
   23 	ch = getkey ();
   24 	if (ch == '\r') break;
   25 	cmd = strcat (cmd, char (ch));
   26      }
   27    eval (cmd);
   28 }
   29 local_setkey ("menuFn", "\e[m");	% menu
   30 
   31 define menu_eval (str,ev) { menuitem (str, strncat ("\\e[m", ev, "\\r", 3)); }
   32 define menukey (str, key) { menucmd (Sprintf ("+{%s}{%s}", str, key, 2)); }
   33 
   34 define separator () { menucmd ("+{-}"); }
   35 define rm_separator () { menucmd ("-{-}"); }
   36 
   37 % no other reasonable way to stack hooks?
   38 !if (is_defined ("resume_esc")) variable resume_esc = Null_String;
   39 !if (is_defined ("suspend_esc")) variable suspend_esc = Null_String;
   40 
   41 % enable menus and permit 80/132 column toggle
   42 resume_esc = strcat (resume_esc, "\e[?10;40h");
   43 suspend_esc = strcat (suspend_esc, "\e[?10;40l");
   44 
   45 define resume_hook () { tt_send (resume_esc); }
   46 define suspend_hook ()  { tt_send (suspend_esc); }
   47 define exit_hook () { suspend_hook (); menu_clear (); exit_jed (); }
   48 
   49 %-------------------------------------------------------------------------
   50 
   51 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   52 % possibly useful things for the JED editor -- assuming Emacs bindings
   53 menu_clear ();		% clear menus before construction
   54 
   55 % format _jed_version xyyzz	into x.yy-zz
   56 menu_title (Sprintf ("Jed %d.%d-%d (xiterm-%%v)",
   57 		     (_jed_version/10000),
   58 		     ((_jed_version mod 10000)/100),
   59 		     (_jed_version mod 100),
   60 		     3));
   61 
   62 % some convenient arrows
   63 menucmd ("<b>\\E[m<l>bskip_word<u>backward_paragraph<d>forward_paragraph<r>skip_word<e>\\r");
   64 
   65 menu ("/File");
   66 menukey ("Open",	"^X^F");
   67 menukey ("Save",	"^X^W");
   68 menukey ("Save Buffers","^Xs");
   69 menukey ("Insert File",	"^Xi");
   70 separator ();
   71 menukey ("Shell Cmd",	"M-!");
   72 separator ();
   73 menukey ("Exit",	"^X^C");
   74 
   75 menu ("/Edit");
   76 menukey ("Undo",	"^_");
   77 % menukey ("Redo",	"^G^_");
   78 separator ();
   79 menukey ("Cut",		"^W");
   80 menukey ("Copy",	"M-W");
   81 menukey ("Paste",       "^Y");
   82 
   83 menu ("/Search");
   84 menukey ("Forward",	"^S");
   85 menukey ("Backward",	"^R");
   86 menukey ("Replace",	"M-%");
   87 separator ();
   88 menu ("Regexp");
   89 menukey ("Forward",	"M-^S");
   90 menukey ("Backward",	"M-^R");
   91 menu_eval ("Replace",	"query_replace_match");
   92 menu ("../../");
   93 
   94 menu ("Buffers");
   95 menukey ("Kill",	"^Xk");
   96 menukey ("List",	"^X^B");
   97 menukey ("Switch",	"^Xb");
   98 separator ();
   99 menu ("Modes");
  100 menu_eval ("C",	"c_mode");
  101 menu_eval ("SLang",	"slang_mode");
  102 menu_eval ("None",	"no_mode");
  103 menu_eval ("LaTeX",	"latex_mode");
  104 menu_eval ("Text",	"text_mode");
  105 menu_eval ("Fortran",	"fortran_mode");
  106 menu ("../../");
  107 
  108 menu ("/Window");
  109 menukey ("Delete",	"^X0");
  110 menukey ("One",		"^X1");
  111 menukey ("Split",	"^X2");
  112 menukey ("Other",	"^Xo");
  113 separator ();
  114 menukey ("Recenter",	"^L");
  115 separator ();
  116 menu ("Color Schemes");
  117 menu_eval ("White-on-Black",	"set_color_scheme(\"white-on-black\")");
  118 menu_eval ("Black-on-White",	"set_color_scheme(\"black-on-white\")");
  119 menu_eval ("White-on-default-Black","set_color_scheme(\"white-on-default-black\")");
  120 menu_eval ("Black-on-default-White","set_color_scheme(\"black-on-default-white\")");
  121 menu ("../");
  122 menu ("../");
  123 
  124 menu ("/Utils");
  125 menu_eval ("Bufed",	"bufed");
  126 menu_eval ("Dired",	"dired");
  127 menu_eval ("Mail",	"mail");
  128 menu_eval ("Rmail",	"rmail");
  129 separator ();
  130 menu_eval ("EvalBuffer",	"evalbuffer");
  131 menu_eval ("Trim-Buffer",	"trim_buffer");
  132 menu ("../");
  133 
  134 menu ("/Terminal/Font");
  135 menuitem ("Normal",	"^@\\E]50;#\\a");
  136 menuitem ("Larger",	"^@\\E]50;#+\\a");
  137 menuitem ("Smaller",	"^@\\E]50;#-\\a");
  138 separator ();
  139 menuitem ("Font 1",	"^@\\E]50;#1\\a");
  140 menuitem ("Font 2",	"^@\\E]50;#2\\a");
  141 menuitem ("Font 3",	"^@\\E]50;#3\\a");
  142 menuitem ("Font 4",	"^@\\E]50;#4\\a");
  143 menu ("../Screen");
  144 menuitem ("Reverse Video",	"^@\\E[?5t");
  145 menuitem ("Toggle Width",	"^@\\E[?3t");
  146 menuitem ("Cursor",		"^@\\E[?25t");
  147 menuitem ("Switch",		"^@\\E[?47t");
  148 separator ();
  149 menuitem ("menuBar",	"^@\\E[?10t");
  150 menuitem ("scrollBar",	"^@\\E[?30t");
  151 menu	 ("../Keys");
  152 menuitem ("XTerm",	"^@\\E[?35t");
  153 menuitem ("Backspace",	"^@\\E[?36t");
  154 menuitem ("Cursor",	"^@\\E[?1t");
  155 menuitem ("KeyPad",	"^@\\E[?66t");
  156 menu	 ("../");
  157 #if$COLORTERM xiterm-xpm
  158 separator ();
  159 menu ("Background/Pixmap");
  160 menuitem ("None",	"^@\\E]20;\\a");
  161 separator ();
  162 % load .xpm files
  163 menuitem ("Wingdogs",	"^@\\E]20;wingdogs\\a");
  164 menuitem ("Mona",	"^@\\E]20;mona\\a");
  165 
  166 menu ("../Scaling");
  167 menuitem ("Full",	"^@\\E]20;;100;?\\a");
  168 menuitem ("Tiled",	"^@\\E]20;;0\\a");
  169 separator ();
  170 menuitem ("400/25%",	"^@\\E]10;<b>\\^@\\\\E]20;;<l>400x0<r>25x0<u>0x400<d>0x25<e>;?\\^G\\a");
  171 menuitem ("250/40%",	"^@\\E]10;<b>\\^@\\\\E]20;;<l>250x0<r>40x0<u>0x250<d>0x40<e>;?\\^G\\a");
  172 menuitem ("200/50%",	"^@\\E]10;<b>\\^@\\\\E]20;;<l>200x0<r>50x0<u>0x200<d>0x50<e>;?\\^G\\a");
  173 menuitem ("125/80%",	"^@\\E]10;<b>\\^@\\\\E]20;;<l>125x0<r>80x0<u>0x125<d>0x80<e>;?\\^G\\a");
  174 menu ("../Position");
  175 menuitem ("5%}{5%",	"^@\\E]10;<b>\\^@\\\\E]20;;<l>-5+0<r>+5+0<u>+0-5<d>+0+5<e>;?\\^G\\a");
  176 menuitem ("10%}{10%",	"^@\\E]10;<b>\\^@\\\\E]20;;<l>-10+0<r>+10+0<u>+0-10<d>+0+10<e>;?\\^G\\a");
  177 menuitem ("centre",	"^@\\E]20;;=+50+50;?\\a");
  178 menu ("../../");
  179 #endif	% COLORTERM
  180 separator ();
  181 menuitem ("Version",	"^@^[[8n");
  182 
  183 menu ("/?");
  184 menukey ("Info",	"^X?i");
  185 menukey ("Man",		"^X?m");
  186 separator ();
  187 menukey ("Apropos",	"^X?a");
  188 menukey ("Show Key",	"^X?k");
  189 menukey ("Where Is",	"^X?w");
  190 menu ("/");
  191 
  192 resume_hook ();			% enable menu, mouse, etc
  193 #endif	% xterm*
  194 %%%%%%%%%%%%%%%%%%%%%%%%%%% end-of-file (SLang) %%%%%%%%%%%%%%%%%%%%%%%%%%