Commit graph

16199 commits

Author SHA1 Message Date
Kovid Goyal
5130089fb4
background_tint will now only applies to background image
clarify docs accordingly. It makes no sense for it to apply on
background_opacity < 1 windows, since we cant actually blend properly
with whats behind our window, only the compositor can do that. Most
decent compositors have ways to do that: macOS, KDE, Hyprland to name
some.
2025-08-09 12:42:35 +05:30
Kovid Goyal
babff704da
DRYer 2025-08-09 10:03:37 +05:30
Kovid Goyal
9bdc6d61ca
Draw bg image in border shader 2025-08-09 09:56:22 +05:30
Kovid Goyal
3165c5d852
Work on getting rendering of background image with background_opacity < 1 to work somewhat correctly at least 2025-08-08 14:22:12 +05:30
Kovid Goyal
7dc78046c0
... 2025-08-08 13:03:32 +05:30
Kovid Goyal
6caad7858a
Fix override_text_fg shader preprocessor branch 2025-08-08 12:46:57 +05:30
Kovid Goyal
6f0d473015
Add support for background image to border shader
Still need to do background_tint and check that background_opacity works
2025-08-08 11:54:54 +05:30
Kovid Goyal
773671a854
Draw background image behind windows
Remains to draw it in the bg shader as well
2025-08-08 08:41:08 +05:30
Kovid Goyal
eab952553c
... 2025-08-08 07:46:12 +05:30
Kovid Goyal
b298105db0
Fix gl_pos* functions for negative positions 2025-08-08 07:41:54 +05:30
Kovid Goyal
15675dd433
DRYer 2025-08-08 07:33:32 +05:30
Kovid Goyal
687791f95d
Start work on porting drawing of bgimage 2025-08-07 21:05:03 +05:30
Kovid Goyal
7c341f215c
Force redraw when reloading all GPU data 2025-08-07 12:41:58 +05:30
Kovid Goyal
4f3eb6bfed
Port rendering of window logo 2025-08-07 09:17:20 +05:30
Kovid Goyal
ae14ca05b2
Fix rendering of under_bg_layer 2025-08-07 09:17:20 +05:30
Kovid Goyal
b9e6a12994
Work on graphics with negative z-index 2025-08-07 09:17:20 +05:30
Kovid Goyal
e108cc8539
Start work on graphics rendering 2025-08-07 09:17:20 +05:30
Kovid Goyal
59aefea2e9
More unused code
clamping position to pixels not needed since we now work in pixels
not floating point co-ords.
2025-08-07 09:17:20 +05:30
Kovid Goyal
905f739826
Remove unneeded code
Since we use viewport based rendering now, there is no need
to pass pre calculated dx/dy/xstart/ystart around.

xstart and ystart are fixed at -1, 1
dx and dy are trivially calculated from lines/cols

...
2025-08-07 09:17:20 +05:30
Kovid Goyal
0c87239a79
Move some finished tasks out of TODO 2025-08-07 09:17:20 +05:30
Kovid Goyal
e2bd32bb86
Fix rendering during live resize 2025-08-07 09:17:20 +05:30
Kovid Goyal
8adc838aed
Allow redirecting rendering to a FBO 2025-08-07 09:17:20 +05:30
Kovid Goyal
2eb5d4deca
Properly cancel visual select mode on OS window close request 2025-08-07 09:17:20 +05:30
Kovid Goyal
c1e16210b9
Port rendering of window numbers 2025-08-07 09:17:20 +05:30
Kovid Goyal
12858c0663
Port rendering of hyperlink target bar 2025-08-07 09:17:20 +05:30
Kovid Goyal
948d2e6e9c
Spelling 2025-08-07 09:17:20 +05:30
Kovid Goyal
23b3c83a84
Port rendering of scroll indicator 2025-08-07 09:17:20 +05:30
Kovid Goyal
a9585d7324
Function to save RGBA data as PNG 2025-08-07 09:17:19 +05:30
Kovid Goyal
2946ff18da
Port visual bell to new layer framework
Use a separate layer for UI like visual bell, scroll indicator, etc.
2025-08-07 09:17:19 +05:30
Kovid Goyal
ec42f5c2b9
Update glad generated bindings 2025-08-07 09:17:19 +05:30
Kovid Goyal
a1966acca7
Start transition to using glViewport in draw_cells
This will make everything much simpler since all co-ordinates are now
relative to the viewport position. However, it does mean an extensive
re-write of various bits of code, most especially the graphics render
data.
2025-08-07 09:17:19 +05:30
Kovid Goyal
c93ba694b2
Store layer sizes as well 2025-08-07 09:17:19 +05:30
Kovid Goyal
7d428f03e7
Implement layer support in the cell shader 2025-08-07 09:17:19 +05:30
Kovid Goyal
9438dc9035
Allow running cell shader for intermediate output 2025-08-07 09:17:19 +05:30
Kovid Goyal
31bf08d78b
Start work on integrating graphics layers into cell shader 2025-08-07 09:17:19 +05:30
Kovid Goyal
2679911fd8
Add uniforms for the three graphics layers 2025-08-07 09:17:19 +05:30
Kovid Goyal
67fa0f9043
Remove note in docs about non-linear opacity as it no longer applies 2025-08-07 09:17:19 +05:30
Kovid Goyal
99b7da63a8
Do sRGB premult correct blending in the border shader as well 2025-08-07 09:17:19 +05:30
Kovid Goyal
df69fca0f1
Use an explicit sentinel to iterate over cell programs 2025-08-07 09:17:19 +05:30
Kovid Goyal
560b909190
We dont need the alpha channel adjustment hack anymore as far as I can tell
Will need further testing
2025-08-07 09:17:19 +05:30
Kovid Goyal
04335f14f8
Restore transparent rendering
As a further optimization, use opaque rendering when no transparent
background colors are present.

Still have to test/fix the fringing issues.
2025-08-07 09:17:18 +05:30
Kovid Goyal
8345975050
Get rid of transparency specialisation in cell shader
It's not a significant optimisation anymore as it only
elides call to adjust_alpha_for_incorrect_blending_by_compositor,
which will probably not be needed anymore anyway.
2025-08-07 09:17:18 +05:30
Kovid Goyal
774d53debe
Start work on shader refactor for correct linear blending 2025-08-07 09:17:18 +05:30
Kovid Goyal
c86ec79e32
macOS: Add default mapping and global menubar action to erase last command
This is "Cmd+L" from Terminal.app
2025-08-07 09:15:12 +05:30
Kovid Goyal
b0439d4183
Function to erase the last command and its output 2025-08-07 08:45:45 +05:30
Kovid Goyal
97f1d7f436
Implement session command to set layout state 2025-08-06 20:43:12 +05:30
Kovid Goyal
bc8fc6642c
Cross link scrollback fill enlarged window option in zoom action docs 2025-08-06 09:58:28 +05:30
Kovid Goyal
02301e80ef
... 2025-08-06 09:47:07 +05:30
Kovid Goyal
c0c3a48b4a
Cleanup previous PR 2025-08-04 20:31:31 +05:30
Kovid Goyal
b84849a0ab
Merge branch 'kitten-desktop-ui-portal-xdg-compat' of https://github.com/azertyfun/kitty 2025-08-04 20:24:46 +05:30