Skip to content

Commit a7fad06

Browse files
Merge pull request #1869 from contour-terminal/fix/startup-performance
Startup performance improvements
2 parents 20b9612 + 6048e44 commit a7fad06

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+1940
-182
lines changed

.github/actions/spelling/allow/api-terms.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ HRESULT
2121
IUnknown
2222
PIDVNODEPATHINFO
2323
PIPESTATUS
24+
RAII
2425
SSHDSS
2526
SSHRSA
2627
STARTUPINFO

.github/actions/spelling/allow/linux-terms.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
VDPAU
12
libwayland
23
qplatformwindow
34
qwayland

.github/actions/spelling/allow/terminal-terms.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ DECNKM
4848
DECNRCM
4949
DECOM
5050
DECPCTERM
51+
DECRARA
52+
DECRQCRA
53+
DECSACE
5154
DECPS
5255
DECRA
5356
DECRC
@@ -94,8 +97,11 @@ Guake
9497
HPR
9598
HVP
9699
LNM
100+
MODIFYOTHERKEYS
97101
NEL
98102
OSC
103+
Pgl
104+
Pgr
99105
RCOLORBG
100106
RCOLORCURSOR
101107
RCOLORFG
@@ -107,6 +113,7 @@ RCOLPAL
107113
RIS
108114
SETCOLPAL
109115
SETCWD
116+
SETTABNAME
110117
SETFONTALL
111118
SETICON
112119
SETMASK
@@ -116,8 +123,15 @@ SGCI
116123
SGRRESTORE
117124
SGRSAVE
118125
Setulc
126+
Satt
127+
satt
128+
Sdesig
129+
Sflag
130+
sflag
119131
Sixel
120132
Smol
133+
Srend
134+
srend
121135
Smulx
122136
TEs
123137
TMUX
@@ -129,6 +143,7 @@ WHEELUP
129143
WINDOWMANIP
130144
WINMANIP
131145
XTCAPTURE
146+
XTCHECKSUM
132147
XTGETTCAP
133148
XTPOPCOLORS
134149
XTPOPSGR
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Desktop files contain translations in various languages
2+
\.desktop$
Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,20 @@
1-
aee
2-
bdaa
3-
bitmastk
1+
BBBBB
42
BLval
5-
braile
63
BRval
7-
cec
8-
charaters
9-
cicle
4+
CCCCC
105
circleval
116
dcx
12-
defaul
7+
DDDDD
138
ellips
149
emtpy
15-
fpecial
10+
FFFFF
11+
GGGGG
1612
gitbranch
1713
gitgraph
14+
HHHHH
1815
isakbm
19-
lstyle
2016
pseudoconsole
2117
rbong
22-
stdr
23-
stdv
2418
ULval
19+
unscroll
2520
URval
1.64 MB
Loading
1.37 MB
Loading

metainfo.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,8 @@
114114
<li>Fixes terminal shrinking/growing on tab switch when status line is displayed</li>
115115
<li>Fixes WINDOWMANIP cell-based resize (CSI 8;rows;cols t) gaining columns at non-integer content scale</li>
116116
<li>Fixes initial terminal window size being wrong at fractional DPR (e.g. 127×29 instead of configured 130×30 at 150% scaling on Wayland, #1858)</li>
117+
<li>Fixes ~2s startup delay caused by synchronous Qt multimedia driver probing by deferring audio initialization to a background thread</li>
118+
<li>Fixes initial font sizing at fractional DPR on Wayland by preferring screen DPR over window DPR</li>
117119
<li>Replaces abrupt cell blink toggle with configurable smooth pulse animation via blink_style profile setting (classic/smooth/linger)</li>
118120
<li>Adds configurable crossfade transition between primary and alternate screens via screen_transition and screen_transition_duration profile settings</li>
119121
<li>Adds animated cursor movement between grid cells with ease-out interpolation via cursor_motion_animation_duration profile setting</li>
@@ -122,6 +124,12 @@
122124
<li>Adds pixel-perfect builtin rendering for shade characters (U+2591–U+2593): light shade, medium shade, and dark shade</li>
123125
<li>Adds snap-to-grid window resizing via WM size-increment hints (X11/macOS) and client-side snapping (Wayland, where xdg-shell has no size-increment hint)</li>
124126
<li>Adds hint mode for keyboard-driven selection of URLs, file paths, git hashes, and IP addresses with configurable actions (Copy, Open, Paste, Select), activatable via key binding or Vi normal mode (gh/gH)</li>
127+
<li>Adds configurable font fallback limit (max_fallback_count) with on-demand loading and persistent locate cache for faster font resolution</li>
128+
<li>Adds DECNKM (DEC mode 66, VT320) to toggle numeric keypad between application and numeric mode via CSI ? 66 h / CSI ? 66 l</li>
129+
<li>Adds DECARM (DEC mode 8, VT100) to enable/disable keyboard auto-repeat via CSI ? 8 h / CSI ? 8 l</li>
130+
<li>Adds DECBKM (DEC mode 67, VT340) to toggle Backspace key between BS (0x08) and DEL (0x7F) via CSI ? 67 h / CSI ? 67 l</li>
131+
<li>Adds kitty's unscroll extension (CSI n + T) to restore scrolled-off content from scrollback history</li>
132+
<li>Adds natural momentum scrolling for touchpad gestures with configurable falloff via momentum_scrolling profile setting</li>
125133
</ul>
126134
</description>
127135
</release>

src/contour/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ set(_qt_resources resources.qrc)
7979
qt_add_resources(_qt_resources ${_qt_resources})
8080

8181
set(_qml_files
82+
ui/BellSound.qml
8283
ui/RequestPermission.qml
8384
ui/Terminal.qml
8485
ui/main.qml

src/contour/Config.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,7 @@ void YAMLConfigReader::loadFromEntry(YAML::Node const& node, std::string const&
413413
loadFromEntry(child, "frozen_dec_modes", where.frozenModes);
414414
loadFromEntry(child, "slow_scrolling_time", where.smoothLineScrolling);
415415
loadFromEntry(child, "smooth_scrolling", where.smoothScrolling);
416+
loadFromEntry(child, "momentum_scrolling", where.momentumScrolling);
416417
loadFromEntry(child, "terminal_size", where.terminalSize);
417418
loadFromEntry(child, "history", where.history);
418419
loadFromEntry(child, "scrollbar", where.scrollbar);
@@ -1341,6 +1342,7 @@ void YAMLConfigReader::loadFromEntry(YAML::Node const& node,
13411342
loadFromEntry(child, "locator", where.fontLocator);
13421343
loadFromEntry(child, "text_shaping.engine", where.textShapingEngine);
13431344
loadFromEntry(child, "builtin_box_drawing", where.builtinBoxDrawing);
1345+
loadFromEntry(child, "max_fallback_count", where.maxFallbackCount);
13441346
loadFromEntry(child, "render_mode", where.renderMode);
13451347
loadFromEntry(child, "regular", where.regular);
13461348

0 commit comments

Comments
 (0)