mirror of
https://github.com/KDE/konsole.git
synced 2025-12-23 23:38:08 -05:00
release/21.04
There are two scenarios when closing a window:
A) clicking the close button on the title bar (or Ctrl+Shift+Q):
~MainWindow()
~ViewManager()
~TabbedViewContainer()
~TerminalDisplay()
~Session()
B) closing the last session/tab in a window:
SessionController::sessionFinished()
~Session()
~TerminalDisplay()
~TabbedViewContainer()
~MainWindow()
~ViewManager()
the issue with the second case is that the TerminalDisplay is torn down
first, which exposes the TabbedViewContainer widget, the latter has the same
Qt::Window colour as the system colour scheme window background colour, if
you're using a dark terminal colour scheme and a light-coloured system colour
scheme, you could see some "flashing" when you close the last session with
e.g. Ctrl+D.
To fix this, in sessionFinished() check if TabbedViewContainer::count() is
1 (i.e. closing last tab/session), and emit the empty() signal in that case,
which is connected to MainwWindow::close(), then the order of tear down
becomes:
SessionController::sessionFinished()
~Session()
~MainWindow()
~ViewManager()
~TabbedViewContainer()
~TerminalDisplay()
BUG: 432077
FIXED-IN: 21.12
(cherry picked from commit bbec72250d)
Konsole - KDE's Terminal Emulator
Konsole is a terminal program for KDE.
As well as being a standalone program, it is also used by other KDE programs
such as the Kate editor and KDevelop development environment to provide easy
access to a terminal window. Konsole's features and usage are explained and
illustrated in the Konsole handbook, which can be accessed by browsing to
help:/konsole in Konqueror.
Directory Structure
| Directory | Description |
|---|---|
/doc/user |
README files, primarily for advanced users, explaining various aspects of Konsole such as fonts and keyboard handling in-depth. |
/doc/developer |
README files and resources for developers of Konsole. This includes information on the design of Konsole's internals and the VT100 terminal on which Konsole's emulation is based. |
/src |
Source code for Konsole, including the embedded versions of Konsole which are used in Kate, KDevelop and others. |
/desktop |
.desktop files for Konsole, used to launch the program from KDE's various menus and other application launchers. |
/data |
Data files for use with Konsole as well as the keyboard setup and color schemes provided with Konsole. |
Contact
Up-to-date information about the latest releases can be found on Konsole's website at https://konsole.kde.org. Discussions about Konsole's development are held on the konsole-devel mailing list, which can be accessed at https://mail.kde.org/mailman/listinfo/konsole-devel.
Quick Links
Description
Languages
C++
97.3%
CMake
1.1%
C
1%
Shell
0.5%
Python
0.1%