瀏覽代碼

Save and restore user screen original cursor position for every unix terminal not only xterm

Margers 1 年之前
父節點
當前提交
bc7c288703
共有 1 個文件被更改,包括 6 次插入3 次删除
  1. 6 3
      packages/ide/fpusrscr.pas

+ 6 - 3
packages/ide/fpusrscr.pas

@@ -873,8 +873,9 @@ procedure TLinuxScreen.SaveConsoleScreen;
 var
   NewSize : longint;
 begin
+  write(#27'7'#27'[?47h');
   if IsXTerm then
-    write(#27'7'#27'[?47h')
+    {write(#27'7'#27'[?47h')}
   else if (TTYfd<>-1) then
     begin
      fpLSeek(TTYFd, 0, Seek_Set);
@@ -908,10 +909,12 @@ end;
 
 procedure TLinuxScreen.SwitchToConsoleScreen;
 begin
+  write(#27'[0m');
+  write(#27'[?47l'#27'8'#27'[m');
   if IsXterm then
     begin
-      write(#27'[0m');
-      write(#27'[?47l'#27'8'#27'[m');
+      {write(#27'[0m');
+      write(#27'[?47l'#27'8'#27'[m');}
     end
   else if (TTyfd<>-1) then
     begin