home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / cons-010.zip / Console / examples / To.cmd < prev   
OS/2 REXX Batch file  |  1997-10-02  |  3KB  |  137 lines

  1. /* rexx */
  2.  '@echo off'
  3.  
  4. /* modify this depending on your settings */
  5.  ScreenW = 1024 /*800*/;
  6.  ScreenH = 768  /*600*/;
  7.  
  8.  tmp = querystat('F');
  9.  parse var tmp junk '-p' wX ',' wY ',' wW ',' wH ' ' junk;
  10.  
  11. /* parse command line */
  12.  line = arg(1);
  13.  if words(line) = 0
  14.   then doHelp();
  15.  
  16.  do while length(line) > 0
  17.   arg = translate(word(line, 1));
  18.   tmp = wordindex(line, 2);
  19.   if tmp > 0 then line = substr(line, tmp); else line = '';
  20.   select
  21.    when abbrev('TOP', arg, 1)
  22.     then wY = ScreenH - wH;
  23.    when abbrev('BOTTOM', arg, 1)
  24.     then wY = 0;
  25.    when abbrev('LEFT', arg, 1)
  26.     then wX = 0;
  27.    when abbrev('RIGHT', arg, 1)
  28.     then wX = ScreenW - wW;
  29.    when abbrev('HCENTER', arg, 1)
  30.     then wX = (ScreenW - wW) / 2;
  31.    when abbrev('VCENTER', arg, 1)
  32.     then wY = (ScreenH - wH) / 2;
  33.    when abbrev('DEFAULT', arg, 1)
  34.     then do
  35.           tmp = querystat('T');
  36.           parse var tmp junk '-p' wX ',' wY ',' wW ',' wH ' ' junk;
  37.          end;
  38.    otherwise
  39.     if pos(left(arg, 1), 'LRTBHVD') > 0
  40.      then line = left(arg, 1)' 'substr(arg, 2)' 'line;
  41.      else doHelp();
  42.   end;
  43.  end;
  44.  
  45.  'console -p'wX','wY;
  46.  
  47. exit;
  48.  
  49. querystat:
  50.  procedure;
  51.  arg default;
  52.  if (default = 'T')
  53.   then 'console -q | rxqueue /lifo';
  54.   else 'console -p -q | rxqueue /lifo';
  55.  do i = 1 to 2
  56.   parse pull line;
  57.  end;
  58.  do while queued() > 0
  59.   pull junk;
  60.  end;
  61. return line;
  62.  
  63. doHelp:
  64.  SetColor('WHITE');
  65.  say '┌[ TO ]──────────────────────────────────────[ Version 0.0.1 ]┐'
  66.  say '├ Copyright 1996,97 by FRIENDS software ─ All rights reserved ┘'
  67.  SetColor('LCYAN');
  68.  say '│ This script will put current console window to either top, left,'
  69.  say '│ right, bottom side of screen or horizontally center, vertically'
  70.  say '│ center or put it to default position'
  71.  SetColor('GREEN');
  72.  say '├ Command-line format:'
  73.  SetColor('LGREEN');
  74.  say '├ to {top|bottom|left|right|hcenter|vcenter|default}'
  75.  SetColor('BLUE');
  76.  say '│ Example:'
  77.  say '├ to top'
  78.  say '├ to top left'
  79.  say '├ to vcenter right'
  80.  say '├ to hv'
  81.  say '├ to default'
  82.  SetColor('LBLUE');
  83.  say '├──────────────────────────────────────────────────────────────'
  84.  SetColor('DGRAY');
  85.  say '├┐Don`t forget to modify ScreenW and ScreenH variables inside'
  86.  say '├┤the script according to your settings since there is no way'
  87.  say '└┤to query them from REXX...'
  88. exit 1;
  89.  
  90. SetColor:
  91.  procedure;
  92.  arg Col;
  93.  Col = ColorNo(Col);
  94.  
  95.  if Col = -1 then return "";
  96.  if Col > 7
  97.   then Col = '1;3'Col-8;
  98.   else Col = '0;3'Col;
  99.  call charOut ,d2c(27)'['Col'm';
  100.  return "";
  101.  
  102. ColorNo:
  103.  procedure;
  104.  arg ColName;
  105.  if Substr(ColName, 1, 1) = 'L'
  106.   then do
  107.         ColName = right(ColName, length(ColName) - 1);
  108.         Light = 8;
  109.        end
  110.   else Light = 0;
  111.  select
  112.   when Abbrev('BLACK', ColName, 3)
  113.    then return Light + 0;
  114.   when Abbrev('BLUE', ColName, 3)
  115.    then return Light + 4;
  116.   when Abbrev('GREEN', ColName, 3)
  117.    then return Light + 2;
  118.   when Abbrev('CYAN', ColName, 3)
  119.    then return Light + 6;
  120.   when Abbrev('RED', ColName, 3)
  121.    then return Light + 1;
  122.   when Abbrev('MAGENTA', ColName, 3)
  123.    then return Light + 5;
  124.   when Abbrev('BROWN', ColName, 3)
  125.    then return Light + 3;
  126.   when Abbrev('GRAY', ColName, 3)
  127.    then return Light + 7;
  128.   when Abbrev('DGRAY', ColName, 3)
  129.    then return 8;
  130.   when Abbrev('YELLOW', ColName, 3)
  131.    then return 11;
  132.   when Abbrev('WHITE', ColName, 3)
  133.    then return 15;
  134.   otherwise
  135.  end;
  136.  return -1;
  137.