1. 28 Mar, 2020 5 commits
  2. 10 Feb, 2020 1 commit
    • Arthur Kasimov's avatar
      Add an option to set the custom color of text under the cursor · a7f23d21
      Arthur Kasimov authored
      Current version of Konsole allows to select the custom color of the
      cursor (Settings -> Edit Current Profile -> Appearance -> Cursor ->
      Custom cursor color). This works well for I-Beam and Underline cursor
      shapes. But for block-shaped cursors the text under the cursor is often
      hard to read, e.g. bright text under the bright cursor or dark text
      under the dark cursor.
      
      This patch adds an ability to select the custom color of the character
      under the cursor. The character uses this color only when the cursor
      shape is Block and Konsole window is focused. Otherwise the character
      uses its foreground color as usual.
      
      FEATURE: 407915
      FIXED-IN: 20.04
      a7f23d21
  3. 30 Jan, 2020 1 commit
    • Tomaz  Canabrava's avatar
      Fix context menu actions when search bar is enabled · 96cda154
      Tomaz Canabrava authored
      The actions are destroyed during a focusIn / focusOut, and recreated
      with the same content but different memory positions, and that
      killed the QActions inside of the menu.
      
      To trigger this is simple, open the search bar, type some url in
      konsole, and right click on it: you will not see the actions
      to copy and go to url.
      
      moving the related code to QSharedPointer fixes this by delaying
      the destruction of the pointer untill the menu is closed.
      96cda154
  4. 17 Jan, 2020 1 commit
    • Christian Muehlhaeuser's avatar
      Support status report requests for text-colors · 967c42a1
      Christian Muehlhaeuser authored
      Summary:
      Konsole already responds to background color status report
      requests, but ignores requests for the foreground color.
      This adds the support and makes Konsole behave like other xterm /
      VTE-based terminals.
      
      Test Plan:
      Run 'printf "\033]10;?\a"' in a bash shell and Konsole should
      respond with the current foreground color setting on stdout.
      967c42a1
  5. 23 Dec, 2019 1 commit
  6. 03 Dec, 2019 1 commit
  7. 25 Nov, 2019 1 commit
    • Ahmad Samir's avatar
      Paste urls of local files as a list of quoted strings · 9bc892ef
      Ahmad Samir authored
      When pasting urls of local files, remove the the scheme part, "file://",
      and paste the urls as a space-separated list of local file paths, which
      are quoted as needed.
      
      Commands such as cp, mv, ls... etc, don't understand/parse the file://
      bit of local urls, therefore it's more useful to strip the scheme for local
      files.
      
      CCBUG: 408813
      9bc892ef
  8. 24 Nov, 2019 1 commit
  9. 18 Nov, 2019 3 commits
  10. 17 Nov, 2019 1 commit
    • Mariusz Glebocki's avatar
      Do not warn when pasting non-dangerous characters · 5e142c9d
      Mariusz Glebocki authored
      The old code was filtering things like characters from Private Use Area
      and surrogates (used to represent code points > 0xFFFF, e.g. emojis). In
      worst case, when pasted, they appear as <?>. The filter is now limited
      to all control characters except TAB, CR, LF.
      5e142c9d
  11. 16 Nov, 2019 1 commit
  12. 28 Oct, 2019 1 commit
  13. 24 Oct, 2019 2 commits
  14. 14 Oct, 2019 1 commit
  15. 03 Oct, 2019 1 commit
  16. 02 Oct, 2019 2 commits
  17. 01 Oct, 2019 1 commit
  18. 10 Sep, 2019 1 commit
  19. 28 Aug, 2019 1 commit
  20. 23 Aug, 2019 1 commit
  21. 17 Aug, 2019 2 commits
  22. 02 Aug, 2019 1 commit
    • Mariusz Glebocki's avatar
      Mark intended integer division in double context · c5ed6009
      Mariusz Glebocki authored
      Fixes a problem detected by Coverity Scan.
      
      Coverity Scan log (relevant part)
      ---------------------------------
      
      ```
      (...)
      
      *** CID 241675: (UNINTENDED_INTEGER_DIVISION)
      /zpool/projects/Devel/KDE/src/konsole/src/TerminalDisplay.cpp: 728
      in Konsole::TerminalDisplay::drawCursor(QPainter &, const QRect &,
      const QColor &, const QColor &, bool &)()
      
      722 painter.setPen(cursorColor);
      723 724 if (_cursorShape == Enum::BlockCursor) {
      725 // draw the cursor outline, adjusting the area so that
      726 // it is draw entirely inside 'rect'
      727 int penWidth = qMax(1, painter.pen().width());
      
      CID 241675: (UNINTENDED_INTEGER_DIVISION)
      Dividing integer expressions "penWidth" and "2", and then converting
      the integer quotient to type "double". Any remainder, or fractional
      part of the quotient, is ignored.
      
      728 painter.drawRect(cursorRect.adjusted(penWidth / 2 + 0.5,
      729 penWidth / 2 + 0.5,
      730 - penWidth / 2 - penWidth % 2 + 0.5,
      731 - penWidth / 2 - penWidth % 2 + 0.5));
      732 733 // draw the cursor body only when the widget has focus
      
      /zpool/projects/Devel/KDE/src/konsole/src/TerminalDisplay.cpp: 729
      in Konsole::TerminalDisplay::drawCursor(QPainter &, const QRect &,
      const QColor &, const QColor &, bool &)()
      
      723 724 if (_cursorShape == Enum::BlockCursor) {
      725 // draw the cursor outline, adjusting the area so that
      726 // it is draw entirely inside 'rect'
      727 int penWidth = qMax(1, painter.pen().width());
      728 painter.drawRect(cursorRect.adjusted(penWidth / 2 + 0.5,
      
      CID 241675: (UNINTENDED_INTEGER_DIVISION)
      Dividing integer expressions "penWidth" and "2", and then converting
      the integer quotient to type "double". Any remainder, or fractional
      part of the quotient, is ignored.
      
      729 penWidth / 2 + 0.5,
      730 - penWidth / 2 - penWidth % 2 + 0.5,
      731 - penWidth / 2 - penWidth % 2 + 0.5));
      732 733 // draw the cursor body only when the widget has focus
      734 if (hasFocus()) {
      
      (...)
      ```
      c5ed6009
  23. 19 Jul, 2019 1 commit
    • Tomaz  Canabrava's avatar
      Remove obsolete call 'rects', use begin / end iterators. · 47d97aa0
      Tomaz Canabrava authored
      rects creates a temporary vector with all the rectangles and
      returns the result, destructing in the end. we don't need that
      if we are only interested in iterating thru the rects. QRegion
      has begin / end so it's usable in Q_FOREACH and range based for.
      47d97aa0
  24. 17 Jul, 2019 1 commit
  25. 07 Jul, 2019 1 commit
    • Mariusz Glebocki's avatar
      Splits: Fix repaint after unmaximizing · c223a1d3
      Mariusz Glebocki authored
      Just after showing (i.e. in showEvent), contentsRect() width (or height)
      is 0, which after calculations leads to _usedColumns (or _usedLines)
      being equal to 1. Valid contentsRect() is restored just after showEvent,
      and is available in resizeEvent.
      
      Test:
      * Split left/right
      * Maximize one terminal
      * Unmaximize
      
      Without patch:
      Previously hidden terminal appears with only one column painted
      
      With patch:
      Normal, fully painted terminal is shown.
      c223a1d3
  26. 02 Jul, 2019 1 commit
  27. 13 Jun, 2019 2 commits
    • Tomaz  Canabrava's avatar
      22356315
    • Tomaz  Canabrava's avatar
      Add a TerminalHeader when using splits · e83707fe
      Tomaz Canabrava authored
      Summary:
      The idea is that a SplitterHeaderBar will be added in the
      near future so the checks for the parent widget could be
      wrong.
      If instead of checking for a specific widget we check for
      anything and walk to the parent list untill we find
      a TerminalWidget seems sane, and safer.
      
      Phabricator messed with this review and send the wrong diff together (because of the same parent)
      so I'm rephrasing it.
      
      Reviewers: #konsole, hindenburg, ngraham, #vdg
      
      Subscribers: aaronhoneycutt, kvermette, thsurrel, rizzitello, mart, hindenburg, gennad, fabianr, ndavis, shubham, konsole-devel
      
      Tags: #konsole
      
      Differential Revision: https://phabricator.kde.org/D21301
      e83707fe
  28. 14 May, 2019 1 commit
    • Martin Tobias Holmedahl Sandsmark's avatar
      Fix-ish scrollbar background with Qt Fusion style · 02aeb9e6
      Martin Tobias Holmedahl Sandsmark authored
      Summary:
      The "standard"/fallback Fusion style for Qt uses
      QStyleHelper::backgroundColor() to determine if the
      scrollbar is drawn on has a dark background.
      QStyleHelper::backgroundColor() handles scrollbars
      differently from everything else, and tries to get the
      palette of the parent widget, and then gets the
      QPalette::Base color of that (that probably makes sense
      for someone other than me).
      
      I think the scrollbar in the Qt Fusion style has way too
      low contrast in the first place, but this way we should
      at least invoke the right code in qfusionstyle, so it
      can't blame konsole for it.
      
      Test Plan:
      Break with gdb at qfusionstyle.cpp:2539, verify that
      isDarkBg is true.
      
      Reviewers: #konsole, hindenburg, tcanabrava
      
      Reviewed By: tcanabrava
      
      Subscribers: ngraham, konsole-devel, #konsole
      
      Tags: #konsole
      
      Differential Revision: https://phabricator.kde.org/D19482
      02aeb9e6
  29. 07 Apr, 2019 1 commit
  30. 28 Mar, 2019 1 commit