365 Commits

Author SHA1 Message Date
Kovid Goyal
4b38818dca Make CodeQL happy 2025-02-06 10:13:48 +05:30
Kovid Goyal
bbcb7dc24c Fix cursor rendering when on first cell of multicell 2025-02-03 10:56:47 +05:30
Kovid Goyal
1707e603f3 Implement underline exclusion 2025-02-03 10:56:46 +05:30
Kovid Goyal
b249fba93d misc fixes for decoration rendering 2025-02-03 10:56:46 +05:30
Kovid Goyal
88f796a94c Read decorations indices from a separate texture 2025-02-03 10:56:45 +05:30
Kovid Goyal
b2a4db2028 Revert metadata row for sprites
Store in a separate VAO instead more performant as it uses less VRAM and
allows shader lookup co-ords to be passed to fragment shaders without
calculation in the fragment shader.
2025-02-03 10:56:45 +05:30
Kovid Goyal
9e9ab3e6f9 pass decorations location as sprite metadata 2025-02-03 10:56:45 +05:30
Kovid Goyal
5d195bf50b Give sprites a metadata row accessible in the shaders
Will allow sprites to point to where their decorations should be read
from, for instance. Needed for scaled text and also if we want to
implement decoration avoidance.
2025-02-03 10:56:45 +05:30
Kovid Goyal
0fb49f4139 Switch to using an index for sprite tracking
Frees up two bytes in GPUCell. Doesn't require a minimum texture row
size. Makes a bunch of code faster. Index uses 31 bits which gives us
2,147,483,647 aka ~ 2 billion sprites.
2025-02-03 10:56:45 +05:30
Kovid Goyal
203a5f4e00 ... 2025-02-03 10:56:45 +05:30
Kovid Goyal
06f2e64cff Remove duplicated data 2025-02-03 10:56:45 +05:30
Kovid Goyal
8993386399 Store font related cell metrics in a single struct 2025-02-03 10:56:44 +05:30
Kovid Goyal
35946f9386 Improve performance of processing wide chars
Store multi cell data in the CPUCell rather than in TextCache.
This sends the CPUCell size back to 12 but in benchmarks ASCII
performance is untouched and Unicode performace goes back to what it was
before multicell
2025-02-03 10:56:44 +05:30
Kovid Goyal
b5dff921c4 Start work on multicell support 2025-02-03 10:56:43 +05:30
Kovid Goyal
8bca84ed66 Fix background image flashing when closing a tab
Ensure the correct vertex array object is bound when calling
draw_bgimage. Before this fix it was order dependent on draw calls.

Fixes #7999
2024-10-28 12:30:03 +05:30
Rick Choi
8f19a9ce97 fade out cursor trail where cursor is hidden 2024-10-27 13:55:53 +09:00
Kovid Goyal
5e7e512d8a Do not store Screen pointer on CursorTrail
The lifetime of the Screen pointer is managed by Window. Also we want
the cursor trail color to be the color of the active window cursor not the
color of the cursor in the last rendered window.
2024-10-20 10:20:42 +05:30
Rick Choi
fe63c6ddfd last rendered cursor_bg color and re-use it when trail rendering 2024-10-19 18:16:26 +09:00
Rick Choi
85bc56b813 move trail color decision logic to shader.c 2024-10-19 17:25:30 +09:00
Rick Choi
fbd596a61f set trail color with cursor bg color 2024-10-13 18:10:24 +09:00
Rick Choi
89b9c6da8b don't draw cursor trail over the real cursor 2024-10-13 16:37:52 +09:00
Rick Choi
761fb6f233 move update_cursor_trail out of child_monitor_c 2024-10-13 13:48:02 +09:00
Rick Choi
c3eb48fc8a add cursor trail 2024-10-12 19:55:48 +09:00
Kovid Goyal
b854589761 Revert "Fix a regression when tinting of background images was introduced that caused window borders to have background_opacity applied to them"
This reverts commit 33e4a0f9cc.
Fixes #7895
2024-09-25 23:28:38 +05:30
Kovid Goyal
dbfeb8d6a4 Store transparent colors on ColorProfile
This will eventually allow them to be changed using remote control and
escape codes.
2024-09-24 19:02:13 +05:30
Kovid Goyal
6ca187c42c Replace the second_transparent_bg option
This is backwards incompatible, but only for a feature released 3 weeks
ago.
2024-09-24 19:02:13 +05:30
Kovid Goyal
e78e86572e Prepare for allowing upto seven additional semi-transparent background colors 2024-09-24 19:02:13 +05:30
Kovid Goyal
33e4a0f9cc Fix a regression when tinting of background images was introduced that caused window borders to have background_opacity applied to them
Fixes #7850
2024-09-12 21:52:55 +05:30
Kovid Goyal
519b4e43a2 ... 2024-08-17 16:04:15 +05:30
Kovid Goyal
554a2b1811 Allow unfocused cursor shape to remain unchanged
Fixes #7728
2024-08-17 15:49:55 +05:30
Kovid Goyal
0cf9a79760 A new option second_transparent_bg
Makes a second background color semi-transparent via background_opacity.
Useful for things like cursor line highlight in editors.

Fixes #7646
2024-07-21 20:22:31 +05:30
Kovid Goyal
e15e882d10 DRYer 2024-07-19 11:47:24 +05:30
Kovid Goyal
43769bc3e0 Allow controlling the easing curves used for the visual bell 2024-07-19 11:35:00 +05:30
Kovid Goyal
eb7487d7a2 Prepare of alpha blending of cursor
Will allow for cursor blink animation eventually.
2024-07-18 22:25:02 +05:30
Kovid Goyal
c410ab8a8f Hide graphics internal APIs 2024-07-12 11:45:48 +05:30
Kovid Goyal
2bcb32d611 Fix scrollback_indicator_opacity not actually controlling the opacity
Fixes #7557
2024-06-19 06:03:30 +05:30
Kovid Goyal
68649d78df Cleanup previous PR 2024-06-15 06:12:31 +05:30
n0pl4c3
1968d0b8e0 Implemented option to change cursor shape in unfocused window 2024-06-14 23:02:34 +02:00
aki
4d8b34cab8 change window_logo_scale to float, add granular xy scaling options to window_logo_scale 2024-06-13 23:33:28 +09:00
aki
a8b28ca32b remove test block 2024-06-12 22:13:00 +09:00
aki
56fc4eddbd add option to scale window_logo via window_logo_scale 2024-06-12 21:29:04 +09:00
Hilmar Wiegand
20e9549afe Update rules for inactive_text_alpha
Previously, all windows would be drawn with inactive_text_alpha if the
os window was unfocused. This changes the rules to the following:

- If there is a single window and the os window is unfocused, use
inactive_text_alpha.
- If there are multiple windows, use inactive_text_alpha for all
non-active windows, regardless of os window focus.
2024-04-03 20:40:22 +02:00
Kovid Goyal
700b57bc18 Implement a simple scroll progress indicator
Shows a simple bar on the right edge of the window that moves up as you
scroll further back. There are apparently a lot of people that dont use
a pager for browsing large scrollbacks. I will never understand this,
but, what the hell I was in that code area anyway for other reasons.

TODO: Maybe make it a rounded rectangle
2024-03-28 20:33:35 +05:30
Kovid Goyal
99ceb2476e Fix #7169 2024-02-29 09:56:41 +05:30
Kovid Goyal
f45cd87488 Implement paused rendering for graphics 2024-02-25 09:57:33 +05:30
Kovid Goyal
e50447c840 Fix cursor rendering during rendering pause 2024-02-25 09:57:33 +05:30
Kovid Goyal
ab919f6fa1 fix copy onto incorrect buffer 2024-02-25 09:57:33 +05:30
Kovid Goyal
f596351bc1 Pause selection rendering 2024-02-25 09:57:33 +05:30
Kovid Goyal
b444b2ee36 Implement paused rendering for cell data 2024-02-25 09:57:32 +05:30
Kovid Goyal
aeb60edf55 Freeze inverted status during paused rendering 2024-02-25 09:57:32 +05:30