Commit Graph

196 Commits

Author SHA1 Message Date
Tsu Jan 2b7c2b38ed Take transient scrollbars into account
Fixes https://github.com/lxqt/qterminal/issues/415

Because they are transient by definition (since Qt 5.5), the code should not spare an extra space for them (Konsole does not have this feature).

Apart from that, the code does not need to fill the area behind the scrollbar explicitly; it is enough to auto-fill it.

Naturally, no change will be seen with styles other than Kvantum.
2018-05-06 20:01:48 +02:00
Palo Kisa 4cc05f9899 kptyprocess: Try to terminate the shell process
..in destructor if the process is still running.

This is a workaround and a proper solution should be made on higher
levels (QTerminal?) -> properly try to close the session and optionally
present information from shell about the state.
2018-04-18 17:44:40 +02:00
j0hnnybash 6ac3731329 New color scheme: Ubuntu inspired 2018-04-18 17:44:00 +02:00
Chih-Hsuan Yen 63024751cc Add a comment for potential future breakage 2018-02-28 10:49:41 +01:00
Chih-Hsuan Yen 51dad30fc0 Use wstring in TerminalCharacterDecoder for UCS-4 compatibility
PlainTextDecoder is used in at least clipboard data handling
HTMLDecoder is not used for now
2018-02-28 10:49:41 +01:00
Yen Chi Hsuan c648297792 Support UTF-32 characters correctly
By replacing QString/QChar or quint16 with std::wstring and wchar_t
2018-02-28 10:49:41 +01:00
Chih-Hsuan Yen a7511335f1 Fix "bold and intensive" colors
For example, \e[0;1m\e[90m should give bold gray texts. It gave black.

Quick notes:
0 => reset all attributes
1 => use bold. In popular implementations (VTE3 & konsole), it also
changes a normal color to an intense color
90 => color0, intense; usually gray

This is already fixed in konsole:
https://github.com/KDE/konsole/commit/771b4b22289d928f77d0a3bda9762b8137f2407c

I happen to use the same function name :)
2018-02-16 18:30:36 +01:00
Selivanov Pavel 884ac45975 New color scheme: Tango (#167)
* Create Tango.colorscheme

* Update Tango.colorscheme

* Update Tango.colorscheme

* Update Tango.colorscheme
2018-02-12 20:32:38 +08:00
Chih-Hsuan Yen 733f4b6e8f Finish SGR mouse protocol (1006)
Some codes in https://github.com/KDE/konsole/commit/c83e7b638dcc42b617a067e6dc23686eccf23b00
are missing. Backport all of them.

Fixes #164
2018-02-06 18:07:19 +01:00
Zang MingJie 1d4ddc8afd Expose bracket text function 2018-01-13 03:10:31 +01:00
Luís Pereira ba85185c40 Drop Qt foreach.
Replaced with the ranged-for loop.
Using QT_NO_FOREACH to enforce it.
Qt 5.7.1 required.
2018-01-12 20:16:19 +01:00
BlahGeek 02e1ea9702 Expose terminal size hint API 2017-12-10 16:26:56 +01:00
Safa Alfulaij 87c3d9cfa6 Remove class name 2017-12-10 16:15:35 +01:00
Safa AlFulaij 26a3c17960 Return something 2017-12-10 16:15:35 +01:00
Safa AlFulaij 55393cd695 Expose bidi option 2017-12-10 16:15:35 +01:00
Yen Chi Hsuan 8a3a9a40cb Fix behavior of scroll up (SU)
This is a backport of https://github.com/KDE/konsole/commit/7ff23512fd6c6af1dba87083446f85baf75e9c71
2017-12-09 18:46:06 +01:00
hoxnox 1da2661dc5 FIX: #46 fix vertical font truncation 2017-10-21 17:43:27 +02:00
Yen Chi Hsuan 7173ef7ae2 Really fallback to /bin/sh when $SHELL is missing or invalid
Also add a warning

Closes https://github.com/lxde/qterminal/issues/354
2017-10-15 13:19:03 +02:00
Yen Chi Hsuan 60221dae4c Support REP escape sequence defined in ECMA-48, section 8.3.103
Since ncurses 20170729, supporting REP is necessary for terminals with
xterm compatibility (TERM=xterm or similar). This patch fixes layout
issues with htop. [1]

[1] http://lists.gnu.org/archive/html/bug-ncurses/2017-08/msg00051.html
2017-09-10 21:18:58 +08:00
Mikal Villa 35e5f4141d Fix build issue related to utmpx in Mac OSX Sierra 2017-08-06 21:36:08 +08:00
Yen Chi Hsuan 880b3bcd6c Remove the deprecation notice
Keep everything in QTermWidget class. Confusing users with Konsole
namespace sounds a bad idea.
2017-07-21 19:51:55 +02:00
Yen Chi Hsuan 3e7f8d7875 Handle DECSCUSR signals 2017-07-21 19:51:55 +02:00
Donnie West ab8a62fce6 This commit allows the consumer of qtermwidget to capture the (#111)
profileChanged signal and receive all of the settings change escape
codes

Fixes #110
2017-04-24 21:41:48 +02:00
Yen Chi Hsuan 443040dd24 Allow the terminal display to be smaller than the size hint (#123)
Fixes https://github.com/lxde/qterminal/issues/288
2017-04-24 21:27:20 +02:00
Donnie West d84849b04b Backport Vt102 emulation fixes (#113)
Also pull in KeyboardTranslator and Character updates
2017-04-24 21:26:56 +02:00
Donnie West 934107ae7d Backport the default.keytab from Konsole
Fixes #103 and corrects other key bindings
2017-04-24 13:38:36 -05:00
Luís Pereira 3ce71a3650 Fixes (#122)
* Prevent a possible C++11 range for detach

The solution with Qt>=5.7 is to use the qAsConst() macro.
But the qAsConst macro is just a const_cast to const T&.

* Don't call QByteArray::operator[]() on temporary

Just use the QByteArray::at().

* Adds missing reference in foreach

That's an non non trivial type (QString), using a reference as no drawbacks
and it performs better.

* Use QStringList::constFirst()

Drop QStringList::first(). It's faster and we might avoid detaching a
temporary.

* Don't call QList::operator[]() on temporary objects

It's not what we want. The at operator and QList::value() do the job in the
right way.

* Stops allocating an unneeded temporary container

We were allocating an temporary container (_entries.values(keyCode)) which
implies an extra iteration also.
Now we don't use any temporary container and only perform one iteration.
2017-04-22 11:55:16 +02:00
Yen Chi Hsuan 08628fda19 Fix memory leak in hotspot (URLs & emails) detection 2017-03-19 22:28:59 +08:00
Luís Pereira b1f37a882c Adds export header
We need it because LXQtCompilerSettings makes all symbols hidden by
default.
2017-03-06 02:02:06 +08:00
Yen Chi Hsuan 248f29e9ff Add translation mechanism 2017-02-26 23:19:26 +08:00
Luís Pereira 948b11d0b0 Use const iterators when possible.
Might avoid a detach.
2017-02-20 19:50:27 +00:00
Palo Kisa 42a2d78f2d TerminalDisplay: Make resizing "Size" translatable 2017-02-10 10:13:52 +01:00
Andreas Heck 553eaf16ee Exposes receivedData signal to users of QTermWidget 2017-01-03 00:08:43 +01:00
Andreas Heck c7103b0cc6 Exposes sessions autoClose property to QTermWidget 2016-12-25 01:39:32 +08:00
Alf Gaida 9e5b946d09 Added a modified Breeze color scheme (#104)
* Changed some of the accent colors for better readability
* Default opacity 0.95
2016-12-16 22:54:57 +01:00
Yen Chi Hsuan 586715accc Accept hex color strings as well (#101)
Fixes https://github.com/lxde/qterminal/issues/286
2016-12-02 22:26:54 +01:00
Yen Chi Hsuan 807619af53 Remove the stale lib/README (#102)
Fixes #54
2016-12-02 01:43:30 +01:00
Yen Chi Hsuan 58f96bacb3 Implement background images (#95) 2016-11-20 22:18:29 +01:00
Yen Chi Hsuan 9be45d6a61 Implement other BOX DRAWING characters (#98)
Porting of
https://github.com/KDE/konsole/commit/1a61aaa5915b5c4a5b205e87d35c38562f932fe0

Fixes https://github.com/lxde/qterminal/issues/277
2016-11-20 15:52:17 +01:00
Yen Chi Hsuan 000fc2e8cf Preparations for context menu actions on URLs (#97)
1. Define click-action so that QTermWidget clients can tell clicking
   from context menu actions
2. Expose filterActions
2016-11-20 15:26:14 +01:00
Yen Chi Hsuan 5d8544455f Drop the ancient wcwidth impl. and use utf8proc if possible (#99) 2016-11-19 12:31:50 +01:00
Pavel Khlebovich e27b89f4ef Remove widget size checks in setVTFont() (#86) 2016-10-04 11:37:43 +02:00
Igor e5dbf9a359 Delete unused tooltip code (#81) 2016-10-03 21:38:18 +02:00
Igor 1727d921b2 Fix size of the array passed to memset() (#79) 2016-10-03 21:38:01 +02:00
Greg White 9842fa5c8e Add Solarized Color Schemes 2016-09-17 07:55:55 -04:00
Palo Kisa d44e3ede69 qtermwidget: Unify title & icon propagation 2016-07-26 15:00:31 +02:00
Palo Kisa e6253c046e lib: Fix FTBFS (struct vs. class mismatch) 2016-07-19 10:41:27 +02:00
Yen Chi Hsuan 470295d015 Add 'const' decorators 2016-07-18 00:33:07 +08:00
Yen Chi Hsuan 098bc377ff Expose titleChanged() signal 2016-07-17 19:10:10 +08:00
Igor 534a86a00a Make addCustomColorSchemeDir() static and check for duplicates 2016-05-26 14:50:14 +03:00