! ! ! ***** SHIFT_LEFT ***** ! ! Shift the window left the specified number of columns. ! PROCEDURE fred$shift_left fred$x_window_shift := SHIFT (CURRENT_WINDOW,+8); ! Shift text left fred$display_shift; ENDPROCEDURE; ! ! ! ***** SHIFT_RIGHT ***** ! ! Shift the window right the specified number of columns. ! PROCEDURE fred$shift_right if GET_INFO (CURRENT_WINDOW,"shift_amount") = 0 then MESSAGE ("Already at the left border of this buffer..."); RETURN; endif; fred$x_window_shift := SHIFT (CURRENT_WINDOW,-8); ! Shift text left fred$display_shift; ENDPROCEDURE; ! ! ! ***** SHIFT_HOME ***** ! ! Shift the window all the way back to the left. ! PROCEDURE fred$shift_home fred$x_window_shift := SHIFT (CURRENT_WINDOW,-fred$x_window_shift); ! Shift text back home MESSAGE ("Positioned to the left border of the current buffer..."); fred$display_shift; ENDPROCEDURE; PROCEDURE fred$display_shift LOCAL ln, rn; ln := GET_INFO (CURRENT_WINDOW,"shift_amount") + 1; rn := ln + GET_INFO (CURRENT_WINDOW,"width") - 1; MESSAGE (" " + STR (ln) + "<-------------------Screen shift-------------------->" + STR(rn)); ENDPROCEDURE;