Commit Graph

16164 Commits

Author SHA1 Message Date
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
Kovid Goyal
fe860d170f Track that the compositor supports the sRGB primary 2025-07-31 15:39:55 +05:30
Kovid Goyal
46114c251b Create the color manager object for a window surface 2025-07-31 15:24:21 +05:30
Kovid Goyal
77106b1035 DRYer 2025-07-31 15:15:49 +05:30
Kovid Goyal
8762576a5b Also track support for extlinear transfer function 2025-07-31 15:12:26 +05:30
Kovid Goyal
d0a862bedb Get the color manager capabilities from the compositor 2025-07-31 15:09:18 +05:30
Kovid Goyal
f04e963683 Bind the wayland color manager interface 2025-07-31 14:37:42 +05:30
Kovid Goyal
0382463bcb Grab keyboard when running file chooser kitten via portal 2025-07-30 07:52:19 +05:30
Kovid Goyal
8c8d7d6ce3 Fix continuous retry on macOS when reading and writing to a peer that has closed its end of the socket
Apparently, macOS sends POLLHUP for POLLOUT as well. Fixes #8865
2025-07-29 19:33:12 +05:30
Kovid Goyal
f41091366e ... 2025-07-29 19:06:26 +05:30
Kovid Goyal
e468885b03 spelling 2025-07-29 10:04:21 +05:30
Kovid Goyal
a0b73b4c19 Merge branch 'dependabot/go_modules/all-go-deps-beec343394' of https://github.com/kovidgoyal/kitty 2025-07-28 09:35:16 +05:30
dependabot[bot]
1cc9f97138 Bump github.com/bmatcuk/doublestar/v4 in the all-go-deps group
Bumps the all-go-deps group with 1 update: [github.com/bmatcuk/doublestar/v4](https://github.com/bmatcuk/doublestar).


Updates `github.com/bmatcuk/doublestar/v4` from 4.9.0 to 4.9.1
- [Release notes](https://github.com/bmatcuk/doublestar/releases)
- [Commits](https://github.com/bmatcuk/doublestar/compare/v4.9.0...v4.9.1)

---
updated-dependencies:
- dependency-name: github.com/bmatcuk/doublestar/v4
  dependency-version: 4.9.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-go-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 04:02:16 +00:00
Kovid Goyal
9229af98b8 ... 2025-07-27 11:34:24 +05:30
Kovid Goyal
83bc0423b2 Micro optimisation
Dont lookup char props for ascii char at start of draw command.
Improves benchmark by 2-5%
2025-07-26 09:34:13 +05:30
Kovid Goyal
53aea0642f ... 2025-07-26 09:28:34 +05:30
Kovid Goyal
f61b15b284 Fix incorrect handling of VS16 when it causes char to wrap to next line and is part of a draw command with more characters following it
Needed to initialize full text loop state rather than just segmentation
state on wrap. Fixes #8848
2025-07-26 09:25:01 +05:30
Kovid Goyal
0f67ff37df Allow accepting the currently displayed parent directory by pressing ctrl+enter 2025-07-24 08:20:43 +05:30
Kovid Goyal
988070612b ... 2025-07-23 10:46:45 +05:30