1. 16 May, 2021 1 commit
    • Ahmad Samir's avatar
      Don't override profile icon in "New Tab" menu · e03a4680
      Ahmad Samir authored
      We only need to set the favourite emblem for the default profile icon, for
      other profiles, the profile icon is already set on the menu action.
      
      Rename a lambda to a more meaningful name.
      
      BUG: 437200
      FIXED-IN: 21.08
      e03a4680
  2. 07 May, 2021 1 commit
  3. 06 May, 2021 1 commit
  4. 05 May, 2021 3 commits
  5. 03 May, 2021 4 commits
  6. 01 May, 2021 1 commit
    • Carlos Alves's avatar
      Fix crash showing Settings Dialog · 49692c0f
      Carlos Alves authored
      When you open settings and close it, than open a new window, than
      close the old window, the MainWindow with the settings will
      delete the configDialog. If you try to open settings againg it crashes.
      
      Fix is each MainWindow now has its own configDialog.
      
      BUG: 436366
      49692c0f
  7. 30 Apr, 2021 1 commit
  8. 29 Apr, 2021 1 commit
  9. 28 Apr, 2021 1 commit
  10. 26 Apr, 2021 2 commits
  11. 25 Apr, 2021 1 commit
  12. 24 Apr, 2021 1 commit
  13. 21 Apr, 2021 1 commit
  14. 17 Apr, 2021 16 commits
    • Kurt Hindenburg's avatar
      4227a7bc
    • Kurt Hindenburg's avatar
    • Kurt Hindenburg's avatar
    • Kurt Hindenburg's avatar
      64dbb83d
    • Kurt Hindenburg's avatar
      Remove code for pre Qt 5.15.0 versions · 70ffd75e
      Kurt Hindenburg authored
      70ffd75e
    • Luis Javier Merino's avatar
      Keep track of line properties for image update · fd1612ba
      Luis Javier Merino authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      Konsole wasn't really keeping track of changes to line rendition
      attributes, and was just always marking for update the top line of
      double-height lines. This didn't account for double-width lines, changes
      back to single-width single-height, and did not provide proper support for
      separate rendering of the bottom of double-height lines.
      
      The effect can be seen on vttest "Test of known bugs" (9) -> "Erase
      right half of double-width lines" (8), where a line is changed from
      single-width to double-width and back. The line wasn't re-rendered on
      each change, as it should.
      
      Can also be tested with:
      
      echo -e "\e[2J\e[1;1HTEST\n"; sleep 1; echo -e "\e[1;1H\e#6\e[2;1H"
      fd1612ba
    • Luis Javier Merino's avatar
      Do not reflow double-height lines · 05d81656
      Luis Javier Merino authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      Double height lines are actually two lines, the first with the top part
      of the characters, the second with the bottom part. Reflowing could lead
      to situations where we render a top part, a double height line with its
      top and bottom parts, and a bottom part, which looks weird.
      05d81656
    • Luis Javier Merino's avatar
      Prevent selecting beyond last column on double-width lines · 3cd160f5
      Luis Javier Merino authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      There is a difference with xterm behavior: when the screen width is an
      odd number of columns, xterm allows selecting up to columns/2+1, we just
      allow selecting up to columns/2.
      3cd160f5
    • Luis Javier Merino's avatar
      Make reflow aware of line rendition attributes · 9771b1d9
      Luis Javier Merino authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      While DECDHL/DECDWL lines are not wrapped at the correct column, now at
      least reflowing doesn't clear line rendition attributes, so resizing
      Konsole and going back to the original size always recovers the original
      content, including double-height/double-width status of each line.
      
      Reflowing double-height lines doesn't make much sense, since a
      double-height line actually consists of a top (T) and a bottom (B)
      line. Shrinking them could lead to TTBB lines, which look weird. At
      least now going back to the original size brings back the original
      content in all its glory.
      9771b1d9
    • Luis Javier Merino's avatar
      Support scrolling double-height/width lines · 57ce654d
      Luis Javier Merino authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      The scrollback buffer has support for a wrapped property for every line.
      Extend it to support the line rendition attributes.
      57ce654d
    • Luis Javier Merino's avatar
      Allow writing only half of a double-height line · c61e4cac
      Luis Javier Merino authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      While DECHDL sequences should be used in pairs on adjacent lines, the
      first line drawing the top half, and the second line drawing the bottom
      half, apparently real VTxxx (or at least the VT220) terminals did draw
      only the top or bottom of characters when confronted with an isolated
      DECDHL line (https://retrocomputing.stackexchange.com/questions/18023/).
      xterm has that same behavior. So behave likewise.
      c61e4cac
    • Luis Javier Merino's avatar
      Fix selection on double width lines · 2232ed67
      Luis Javier Merino authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      TerminalDisplay::getCharacterPosition() should take double-width lines
      into account to return the right column.
      2232ed67
    • Luis Javier Merino's avatar
      Don't clear line rendition on EL and partial ED · e1e832f5
      Luis Javier Merino authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      EL (Erase Line) should not reset the line rendition attribute to
      single-width. ED (Erase Display) should only reset it for completely
      cleared lines. ECH (Erase CHaracters) should obviously not reset it.
      DECSED and DECSEL (Selective Erase, not supported by Konsole) should not
      reset it.
      
      This fixes a vttest test where a line is set to double-height-top and
      then EL before writing its text and the double-height-bottom line below.
      
      Can also be tested with:
      
      echo -e "\e[2J\e[4;1HNormal\n\e#6DOUBLE\n\e#6DOUBLE\nNormal" &&
      sleep 2; echo -e "\e[5;3H\e[1J\e[8;1H"
      e1e832f5
    • Luis Javier Merino's avatar
      Use the correct last column for double-width lines · 4352df00
      Luis Javier Merino authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      Some control functions special case the last column. When a line has
      been set to double-width via DECDWL or DECDHL (double-height and
      double-width), the correcr last column for that line should be used.
      Control functions which special case the last column include TAB, CUF,
      ICH and DECRC.
      
      Can be tested with:
      
      perl -E '$r=join "", map{$_%10}1..80; say "\e<\e[?40h\e[?3l\e[?7l$r";
               $s="L"."\tx"x4 ."\t\tR"; say "\e#3$s\n\e#4$s"'
      
      The above tests that tabs don't travel beyond the last column in
      double-width lines.  The last column (below columns 79 and 80 of
      the previous line) should have an "R".
      
      perl -E '$r=join "", map{$_%10}1..80; say "\e<\e[?40h\e[?3l\e[?7h$r";
               $s="L"."X"x36 ."\e[6C"."R"; say "\e#3$s\n\e#4$s"'
      
      The above tests that CUF (Cursor Forward) doesn't travel beyond the last
      column in double-width lines.  The last column (below columns 79 and 80
      of the previous line) should have an "R".
      
      perl -E '$r=join "", map{$_%10}1..80; say "\e<\e[?40h\e[?3l\e[?7h$r";
               $s="L"."X"x22 ."R"."x"x8 ."r"."\e[17D\e[16@";
               say "\e#3$s\n\e#4$s"'
      
      The above tests that ICH (Insert CHaracters; VT200+) doesn't write past
      the last column, visible on repaints (switch to another window and
      back).
      
      perl -E '$r=join "", map{$_%10}1..80; say "\e<\e[?40h\e[?3l\e[?7h$r";
               $s="L"."X"x38 ."r\e7\e[H\e8R"; say "\e#3$s\n\e#4$s"'
      
      The above tests that DECRC (Restore Cursor) doesn't restore the cursor
      to a position beyond the last column on double-width lines.  The last
      column should have an "R", "r" should not be visible.
      
      perl -E '$r=join "", map{$_%10}1..80; say "\e<\e[?40h\e[?3l\e[?7l$r";
               $s="L"."X"x38 ."R"; print "\e#6$s"'; sleep 5; echo
      
      The above tests that the cursor stays at the rightmost column. The
      cursor should stay over the "R" for 5 seconds.
      4352df00
    • Luis Javier Merino's avatar
      Fix appending characters at end of line in double width lines · 9ffe33a2
      Luis Javier Merino authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      Since double-width/double-height lines have room for just half the
      characters, take that into account.
      
      Can be tested with:
      
      perl -E '$r=join "", map{$_%10}1..80; say "\e<\e[?40h\e[?3l\e[?7h$r";
               $s="L"."X"x38 ."RL"; say "\e#6$s"'
      
      The above tests that appending characters to double-width lines in
      DECAWM (Auto Wrap Mode) wraps at the correct last column. There should
      appear a second line (single-width) with a single "L".
      
      perl -E '$r=join "", map{$_%10}1..80; say "\e<\e[?40h\e[?3l\e[?7l$r";
               $s="L"."X"x42 ." TEST FAILED OUTOFBOUNDS R"; say "\e#6$s"'
      
      The above tests that appending characters to double-width lines in
      non-DECAWM (Auto Wrap Mode) doesn't write past the last column (visible
      on repaints - switch to another window and back). The last column (below
      columns 79 and 80 of prev line) should have an "R".
      9ffe33a2
    • Luis Javier Merino's avatar
      Fix positioning of double width/double height runs · 398a6657
      Luis Javier Merino authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      When there were several runs of double width/double height runs with
      differing color/rendition/line draw/..., the second and subsequent runs
      were positioned wrong. Fix the calculation of the starting x position to
      account for double width, and fix a bug were the y position was
      incremented for every run instead of for every line.
      
      Can be tested with:
      perl -E '$s="\e[0mTEST\e[32mTEST\e[0m"; say "\e#3$s\n\e#4$s"'
      398a6657
  15. 16 Apr, 2021 2 commits
  16. 14 Apr, 2021 1 commit
  17. 12 Apr, 2021 2 commits