char c = screen[getPos(m,i)].getChar(); if (c >= ' ' && !screen[getPos(m,i)].nonDisplay)
char c = screen[getPos(m - 1,i - 1)].getChar(); if (c >= ' ' && !screen[getPos(m - 1,i - 1)].nonDisplay)
   protected final void copyMe() {      Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();      StringBuffer s = new StringBuffer();      if (!gui.rubberband.isAreaSelected())         workR.setBounds(0,0,numCols,numRows);      else {         // lets get the bounding area using a rectangle that we have already         // allocated         gui.rubberband.getBoundingArea(workR);         // get starting row and column         int sPos = getRowColFromPoint(workR.x ,                                    workR.y );         // get the width and height         int ePos = getRowColFromPoint(workR.width ,                                    workR.height );         int r = getRow(sPos);         int c = getCol(sPos);         int r2 = getRow(ePos) + 1;         int c2 = getCol(ePos) + 1;//         if (c2 == 0)//            c2 = getCols();//         if (r2 == 0)//            r2 = 1;         workR.setBounds(r,c,c2,r2);         gui.rubberband.reset();         gui.repaint();      }      System.out.println("Copying");      System.out.println(workR);      // loop through all the screen characters to send them to the clip board      int m = workR.x;      int i = 0;      int t = 0;      while (workR.height-- > 0) {         t = workR.width;         i = workR.y;         while (t-- > 0) {            // only copy printable characters (in this case >= ' ')            char c = screen[getPos(m,i)].getChar();            if (c >= ' ' && !screen[getPos(m,i)].nonDisplay)               s.append(c);            else               s.append(' ');            i++;         }         s.append('\n');         m++;      }      StringSelection contents = new StringSelection(s.toString());      cb.setContents(contents, null);   }