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
Nathan Monfils
dd7fa6b25a
kitten desktop-ui: Do not create an empty *-portals.conf file
...
In the case where a portals.conf file does not exist in the user
configuration, there is nothing to patch; we should default to defining
the relevant portals for kitty.
2025-08-04 16:44:08 +02:00
Nathan Monfils
ff1c8ab917
kitten desktop-ui portal.go: Compat with XDG spec
...
1. Make sure we coalesce XDG_DATA_HOME as per the spec
On my machine /etc/profile.d/flatpak.sh sets
XDG_DATA_DIRS=$HOME/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
but XDG_DATA_HOME is unset.
2. Update directory creation logic to find-or-create
`enable_portal`'s current behavior is to first find a writable directory and
write the portal definition to it, then fall back to creating a directory
in the first available configuration directory.
This is incorrect in the case where one of the locations in
XDG_DATA_DIRS already has a directory, we should still prioritize
XDG_DATA_HOME.
2025-08-04 16:41:58 +02:00
Kovid Goyal
b95b4164fc
Add a couple of password manager kitty integrations
2025-08-04 19:05:44 +05:30
Kovid Goyal
bdf3b9300e
Make creation of window_id_map generic
2025-08-04 16:28:06 +05:30
Kovid Goyal
16e659c477
DRYer
2025-08-04 16:16:55 +05:30
Kovid Goyal
1665b06d59
Implement set_layout_state for a few remaining layouts
2025-08-04 16:02:19 +05:30
Kovid Goyal
e6f35571a5
Implement full serialization/unserialization for layouts
...
Need to go over all the non-split layouts and see if they need
any TLC
2025-08-04 15:51:46 +05:30
Kovid Goyal
6d2b17d877
opts serialization is done by base class
2025-08-02 12:49:06 +05:30
Kovid Goyal
bbbeeb8206
More rigorous set layout state sanity check
2025-08-02 12:48:04 +05:30
Kovid Goyal
c4ed1d3b69
Implement unserialization for splits layout
...
Also cleanup the serialization code.
2025-08-02 12:12:40 +05:30
Kovid Goyal
f64182e16c
Scroll indicator should usepremult blending whenever draw_cells_simple uses it
2025-07-31 21:24:17 +05:30
Kovid Goyal
8b9d802206
Specify the color space on Wayland surfaces
...
Uses sRGB with the sRGB transfer function. Seems to give identical
results as not specifying a color space. But sadly does not get the
compositor to blend in linear space, we need another wayland protocol
extension for that I suppose. Sigh.
2025-07-31 19:18:09 +05:30
Kovid Goyal
2ffa8cd7c2
Apparently gamma22 gives incorrect colors or at least colors different from rendering without color management. srgb transfer function gives expected colors.
2025-07-31 19:07:28 +05:30
Kovid Goyal
caa654b6b8
Also track needed color manager features
2025-07-31 18:53:24 +05:30
Kovid Goyal
12c6d799b7
...
2025-07-31 18:34:29 +05:30
Kovid Goyal
d37bd7afcf
Create the sRGB colorspace description we need
2025-07-31 18:30:47 +05:30
Kovid Goyal
df22e8c9b7
Only report missing features when color manager itself is supported
2025-07-31 15:41:17 +05:30