1. 11 Apr, 2008 1 commit
  2. 05 Apr, 2008 1 commit
    • Robert Knight's avatar
      Fix calculation of required display size given (lines,columns) in · f9139b74
      Robert Knight authored
      TerminalDisplay widget.  Include width of vertical scrollbar (if visible)
      and top/left margins.  Konsole will now start with a default width of 80 columns
      on most systems if no window size has been saved in konsolerc
      The initial size of Konsole is specified as 80x40 internally.  Qt constrains
      the size of top-level windows on their first automatic resize to a
      maximum of 2/3rds of the screen size (see QWidgetPrivate::adjustedSize()).
      This means that the display might not get the 80x40 columns that it asks
      for, depending on the desktop size.
      CCBUG: 160422
      svn path=/trunk/KDE/kdebase/apps/konsole/; revision=793964
  3. 31 Mar, 2008 1 commit
  4. 30 Mar, 2008 1 commit
    • Robert Knight's avatar
      Fix consecutive non-word characters being treated as a single word. · 61d1e13d
      Robert Knight authored
      TerminalDisplay::charClass() used to return one of three values to indicate whether
      the input was a space, "word character" (letter, number or character from the wordCharacters() array)
      or something else.  When double clicking a 'word' was taken to be a run of
      characters which had the same charClass().  Fix this by returning the input character
      in charClass() if it is not a space or word character.
      svn path=/trunk/KDE/kdebase/apps/konsole/; revision=791732
  5. 29 Mar, 2008 1 commit
    • Diego Iastrubni's avatar
      New backport (??) from KDE3: now each profile can enable/disable BiDi... · 60f0a0a5
      Diego Iastrubni authored
      New backport (??) from KDE3: now each profile can enable/disable BiDi rendering in the display. We need this since many console based application (vim, emacs, fribidi etc)
      implement their own BiDi algorithm. There is also another reason: comatibility. All terminals are *not* aware of the BiDi issue and do not re-order the chars
      (gnome-terminal, xterm, konsole, etc). It is possible to enable the BiDi rendering on each profile, so this is not a huge lost. I am still missing the keyboard shortcut to
      quickly enable/disable it (alt+control+b in konsole3), but I am not sure what is the best way for doing it.
      A quick note about the implementation:
      In QPainter3, there was an option to draw a text and tell the painter "please do not implement BiDi". In QPainter4 (up to 4.4) there is no such option. I am forcing it by
      drawing  "painter.drawText(rect,0,QChar(0x202D)+text)" (that is &LRO;), and it does seem to work, but I find it kinda "hackish". I will open a task in Trolltech and
      request that new feature. Hopefully by Qt4.5/KDE4.2 I will be able to change the implementation.
      svn path=/trunk/KDE/kdebase/apps/konsole/; revision=791374
  6. 19 Mar, 2008 1 commit
  7. 18 Mar, 2008 3 commits
  8. 17 Mar, 2008 1 commit
    • Robert Knight's avatar
      If the terminal application is not interested in mouse events and the... · 480c556a
      Robert Knight authored
      If the terminal application is not interested in mouse events and the display's scroll bar is not movable then send Up/Down key press events to the terminal instead.
      This makes it possible to scroll up and down in 'less' and other applications using the mouse wheel.  One key press is sent for every 5 degrees of mouse wheel rotation.  Typical mouse wheels operate in steps of 15 degrees which equals 3 lines scrolled per notch.  This default is the same as Vim's default mouse wheel scroll step.
      As in gnome-terminal and others, this has side effects such as the mouse wheel scrolling through history results in the shell if the shell is run in a program such as screen.
      BUG: 159340
      svn path=/trunk/KDE/kdebase/apps/konsole/; revision=786780
  9. 09 Mar, 2008 1 commit
    • Robert Knight's avatar
      Re-enable scrolling optimisation with tweaks to get Qt to issue a repaint request for the correct · 05fdc151
      Robert Knight authored
      area of the terminal display widget after the content is scrolled with QWidget::scroll() :
      - Set the left edge of the scrolled rect to 0 (instead of the left margin used when
      drawing the text)
      - Set the right edge of the scrolled rect to width() - width of scroll bar - 1.  If the
      right edge of the scrolled rect touches the scroll bar then a full repaint of the widget
      is triggered.
      These changes are based on experimentation.  I haven't had time to look into Qt to
      find out exactly what changed between Qt 4.3 and 4.4.
      Update comments to reflect changes and add a mention of Qt's QT_FLUSH_PAINT repaint
      monitoring facility.
      CCBUG: 158523
      svn path=/trunk/KDE/kdebase/apps/konsole/; revision=783788
  10. 01 Mar, 2008 2 commits
  11. 29 Feb, 2008 1 commit
  12. 17 Feb, 2008 1 commit
    • Bill Egert's avatar
      No longer use Obsolete Members for QPainter. · 8bf323e0
      Bill Egert authored
      drawRoundRect() => drawRoundedRect()  (This function was introduced in Qt 4.4)
      matrix() => worldTransform() 
      setMatrix() => setWorldTransform()
      svn path=/trunk/KDE/kdebase/apps/konsole/; revision=776270
  13. 25 Jan, 2008 2 commits
    • Robert Knight's avatar
      · 94eaaa02
      Robert Knight authored
      Force left to right layout in the terminal display widget.  Otherwise Konsole is unusable on RTL desktops.
      BUG: 156654
      svn path=/trunk/KDE/kdebase/apps/konsole/; revision=766383
    • Robert Knight's avatar
      Fix redraw of cursor when terminal display loses and then regains focus with... · be1acb05
      Robert Knight authored
      Fix redraw of cursor when terminal display loses and then regains focus with cursor blinking disabled.
      svn path=/trunk/KDE/kdebase/apps/konsole/; revision=765974
  14. 22 Jan, 2008 1 commit
  15. 16 Jan, 2008 1 commit
    • Robert Knight's avatar
      Scroll the terminal display continually when the mouse is held down and then... · 30cf067d
      Robert Knight authored
      Scroll the terminal display continually when the mouse is held down and then moved outside of the display, rather than requiring continual mouse movement to scroll.  Make the scrolling rate proportional to the distance between the edge of the display and the mouse position.  Currently suffers from quite noticable flicker when scrolling quickly through a large scrollback buffer because the display is scrolled and repainted before the selection is extended.  Stop the cursor from blinking and text from blinking when the display loses focus and restart blinking when the cursor regains focus.  Ensure that the cursor is visible in a hollowed-out style when the display does not have focus.
      svn path=/trunk/KDE/kdebase/apps/konsole/; revision=762055
  16. 14 Jan, 2008 1 commit
  17. 13 Jan, 2008 2 commits
  18. 12 Jan, 2008 1 commit
  19. 11 Jan, 2008 1 commit
  20. 09 Jan, 2008 1 commit
  21. 02 Jan, 2008 4 commits
  22. 18 Dec, 2007 2 commits
    • Robert Knight's avatar
      Fix the long standing limitation where multiple views on the same terminal... · c708aff2
      Robert Knight authored
      Fix the long standing limitation where multiple views on the same terminal session had to be the same size - the size of the smallest view.  This means that it is now possible, for example, to have a large view on a session for browsing and examining output and a smaller view on the same session for input.  The underlying terminal does not support the concept of multiple windows, so the size reported to terminal applications is still that of the smallest view.  Full-screen applications such as vim and emacs will therefore be the size of the smallest view on all views.
      * Add a method in ScreenWindow to set the size of the window (in lines, the number of columns is still ifxed).  
      * Call this method in TerminalDisplay to set the window size when the widget is resized or when the screen window of a display is initially set.
      * Fix ScreenWindow::getImage() and ScreenWindow::getLineProperties() so that they do not attempt to retrieve information about lines beyond the end of the screen.
      * Fix ScreenWindow::getLineProperties() to always return result vector of size windowColumns(), though the number of elements copied from the screen may be less.
      svn path=/trunk/KDE/kdebase/apps/konsole/; revision=749874
    • Robert Knight's avatar
      · ada0d91b
      Robert Knight authored
      * Avoid allocating a new buffer to hold character data on every screen update.
        Instead a single buffer is created and maintained by ScreenWindow.
      * Re-write Screen::getCookedImage() and rename to getImage() to make it possible
        to retrieve an image of a section of the screen which is not the same size as
        the terminal screen.
      * Make various non-mutating Screen methods const
      svn path=/trunk/KDE/kdebase/apps/konsole/; revision=749864
  23. 16 Dec, 2007 2 commits
    • Robert Knight's avatar
      Change default shortcut for decreasing text size to Ctrl+-. This is in line... · 684b40c6
      Robert Knight authored
      Change default shortcut for decreasing text size to Ctrl+-.  This is in line with other applications and fixed the problem of a clash with the Undo action in emacs.  Discussed with dfaure back in October but not implemented until now.  Remove the code which prevents Ctrl+[Printable character] shortcuts from working.
      svn path=/trunk/KDE/kdebase/apps/konsole/; revision=748984
    • Robert Knight's avatar
      Change default triple click behaviour to select the whole line, rather than... · 4b293197
      Robert Knight authored
      Change default triple click behaviour to select the whole line, rather than just that forwards of the cursor.  This is in line with KDE 3.  Replaced the API which controls this behaviour in the TerminalDisplay class with a clearer one.
      svn path=/trunk/KDE/kdebase/apps/konsole/; revision=748979
  24. 15 Dec, 2007 1 commit
    • Robert Knight's avatar
      · e37fe694
      Robert Knight authored
      * Fix problem where selection background and other text with non-standard background
        colors was not readable with terminal display transparency enabled.
      * Transparency works again, but requires --enable-transparency argument passed to command-line
        due to artifacts that appear otherwise.
        Re-enable the code which searches for a suitable display, visual and colormap when
        starting the application in an environment which supports compositing.  Still
        need to resolve with other developers exactly how this will be done in KDE 4.0
      * Fix problem where flow control warning banner was always displayed when 
        Ctrl+S, Ctrl+Q were pressed, regardless of whether flow control was 
        actually enabled.
      * Fix artifacts when scrolling whilst the flow control warning banner was 
        visible.  Scrolling optimisations in the terminal display are disabled whilst
        the warning banner is being shown.
      * Fix links which wrapped over more than one line being cut-off at the end of the line
        (eg. when parsing "http://www.kd <END OF LINE> e.org" the link address would be reported
         as "http://www.kd" instead of "http://www.kde.org").  The link underlining is not yet 
         corrected, only the part of the link on the first line is highlighted.  
      * Implement code to load and use a built-in keyboard translator for fallback purposes
        in case no .keytab files exist.  The actual translator text (in DefaultTranslatorText.h)
        is currently incomplete. 
      * Replace hard-coded colors for flow control warning label with colors from
      * Replace hard-coded colors in incremental search line edit when a match is not found
        with colors from KColorScheme
      * Remove un-used variables in TerminalDisplay class, rename enums to match
        CamelCase naming style used elsewhere.
      svn path=/trunk/KDE/kdebase/apps/konsole/; revision=748936
  25. 07 Dec, 2007 1 commit
  26. 03 Dec, 2007 1 commit
  27. 01 Dec, 2007 1 commit
  28. 30 Nov, 2007 1 commit
  29. 28 Nov, 2007 1 commit
  30. 26 Nov, 2007 1 commit