diff --git a/docs/changelog.rst b/docs/changelog.rst index d0bd3ae1d..be232ac91 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -318,7 +318,7 @@ Detailed list of changes - ``kitten @ set-background-image``: Fix ``--layout=configured`` changing layout to centered instead (:iss:`10089`) -- Splits layout: add an ``equalize`` action and an ``equalize_on_window_close`` option to redistribute split space proportionally (:iss:`3489`) +- Splits layout: add an ``equalize`` action and an ``equalize_on_close`` option to redistribute split space proportionally (:iss:`3489`) - Fix matching var/env on tabs not working as expected (:iss:`10095`) diff --git a/docs/graphics-protocol.rst b/docs/graphics-protocol.rst index fed06133b..76d0cef90 100644 --- a/docs/graphics-protocol.rst +++ b/docs/graphics-protocol.rst @@ -60,7 +60,6 @@ Libraries: * `kitty-graphics.el `_ - Images in emacs * `term-image `_ - A Python library, CLI and TUI to display and browse images in the terminal * `glkitty `_ - C library to draw OpenGL shaders in the terminal with a glgears demo -* `malevich `_ - Rust library for terminal plotting that can draw charts with the graphics protocol Other terminals that have implemented the graphics protocol: diff --git a/docs/integrations.rst b/docs/integrations.rst index 3daaa6139..53a8c97af 100644 --- a/docs/integrations.rst +++ b/docs/integrations.rst @@ -353,14 +353,6 @@ Live incremental search of the scrollback buffer. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Keyboard based text selection for the kitty scrollback buffer. -.. tool_kitty_smart_scroll: - -`kitty-smart-scroll `_ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Use keys to either scroll or pass them onto running applications if no -scrollback buffer is present - - Desktop panels ------------------------- @@ -386,27 +378,6 @@ Allow injecting passwords from 1Password into kitty. Inject passwords from BitWarden into kitty -AI --------------- - - -.. tool_captain_miao: - -`captain-miao `_ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -TUI to monitor and organize multiple AI coding sessions, by leveraging -the kitty remote control protocol - - -.. tool_gattino: - -`gattino `__ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Integrate kitty with an LLM to convert plain language prompts into shell -commands. - - Miscellaneous ------------------ @@ -418,6 +389,13 @@ DOOM Play the classic shooter DOOM in `kitty `__ or even inside `neovim inside kitty `__. +.. tool_gattino: + +`gattino `__ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Integrate kitty with an LLM to convert plain language prompts into shell +commands. .. tool_kitty_smart_tab: @@ -426,6 +404,13 @@ Play the classic shooter DOOM in `kitty `_ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Use keys to either scroll or pass them onto running applications if no +scrollback buffer is present + .. tool_kitti3: `kitti3 `_ @@ -444,4 +429,3 @@ raw-mode. `glkitty `_ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ C library to draw OpenGL shaders in the terminal with a glgears demo - diff --git a/docs/layouts.rst b/docs/layouts.rst index 834a3a6d4..88b8860ef 100644 --- a/docs/layouts.rst +++ b/docs/layouts.rst @@ -207,11 +207,11 @@ width and ``maximize vertical`` to fill the full height. Calling it again restores the original split sizes. The ``equalize`` action redistributes space so that all windows along each split axis receive an equal share. -This layout takes two options. ``equalize_on_window_close`` automatically equalizes +This layout takes two options. ``equalize_on_close`` automatically equalizes split sizes whenever a window is closed, keeping remaining windows balanced without needing an explicit keybinding:: - enabled_layouts splits:equalize_on_window_close=true + enabled_layouts splits:equalize_on_close=true ``split_axis`` controls whether new windows are placed into vertical or horizontal splits when a :option:`--location diff --git a/tools/unicode_names/names.txt b/tools/unicode_names/names.txt index 71a19ed6f..90cc87cd6 100644 --- a/tools/unicode_names/names.txt +++ b/tools/unicode_names/names.txt @@ -1,4 +1,4 @@ -51180 23592 +50949 23472 0 null 1 start of heading 2 start of text @@ -15952,9 +15952,6 @@ 59062 chuck 59063 vitruvian 59064 css -59065 zsh -59066 wireshark -59067 obsidian 59136 aarch64 59137 adonisjs 59138 git @@ -16451,111 +16448,6 @@ 59629 yugabytedb 59630 yunohost 59631 zig -59632 nats -59633 aerospike -59634 aframe -59635 almalinux -59636 ansys -59637 apex -59638 apollographql -59639 artixlinux -59640 babylonjs -59641 bazel -59642 bevyengine -59643 biome -59644 chakraui -59645 chartjs -59646 clickhouse -59647 cloudrun -59648 cobol -59649 cpanel -59650 datadog -59651 datatables -59652 delphi -59653 detaspace -59654 discloud -59655 dovecot -59656 duckdb -59657 dyalog -59658 dynatrace -59659 entityframeworkcore -59660 expo -59661 fiber -59662 filamentphp -59663 firebird -59664 forgejo -59665 fusion -59666 gardener -59667 gitkraken -59668 gleam -59669 glitch -59670 googlecolab -59671 harbor -59672 hoppscotch -59673 htmx -59674 hyperv -59675 inertiajs -59676 jhipster -59677 kaldi -59678 kalilinux -59679 kubeflow -59680 laminas -59681 laraveljetstream -59682 leetcode -59683 libgdx -59684 linuxmint -59685 love2d -59686 mapbox -59687 mattermost -59688 memcached -59689 mercurial -59690 monogame -59691 netbeans -59692 netbox -59693 newrelic -59694 ngrok -59695 nodered -59696 npss -59697 nuxt -59698 passport -59699 pixijs -59700 pm2 -59701 primeng -59702 processwire -59703 proxmox -59704 pug -59705 qtest -59706 racket -59707 radstudio -59708 reactnative -59709 reflex -59710 remix -59711 rexx -59712 sourceengine -59713 spicedb -59714 stackblitz -59715 stenciljs -59716 styledcomponents -59717 sulu -59718 surrealdb -59719 svgo -59720 talos -59721 teleport -59722 terramate -59723 thymeleaf -59724 tmux -59725 turbo -59726 twilio -59727 vaadin -59728 veevalidate -59729 vscodium -59730 vulkan -59731 waku -59732 web3js -59733 webgpu -59734 wolfram -59735 zsh -59736 zustand 60000 add 60001 lightbulb 60002 repo @@ -16705,7 +16597,6 @@ 60152 gear 60153 gift 60154 gist secret -60155 gist 60156 git commit 60157 git compare 60158 git merge @@ -16995,107 +16886,6 @@ 60444 mic filled 60445 git fetch 60446 copilot -60447 lightbulb sparkle -60448 robot -60449 sparkle filled -60450 diff single -60451 diff multiple -60452 surround with -60453 share -60454 git stash -60455 git stash apply -60456 git stash pop -60457 vscode -60458 vscode insiders -60459 code oss -60460 run coverage -60461 run all coverage -60462 coverage -60463 github project -60464 map vertical -60465 map vertical filled -60466 go to search -60467 percentage -60468 attach -60469 go to editing session -60470 edit session -60471 code review -60472 copilot warning -60473 python -60474 copilot large -60475 copilot warning large -60476 keyboard tab -60477 copilot blocked -60478 copilot not connected -60479 flag -60480 lightbulb empty -60481 symbol method arrow -60482 copilot unavailable -60483 repo pinned -60484 keyboard tab above -60485 keyboard tab below -60486 git pull request done -60487 mcp -60488 extensions large -60489 layout panel dock -60490 layout sidebar left dock -60491 layout sidebar right dock -60492 copilot in progress -60493 copilot error -60494 copilot success -60495 chat sparkle -60496 search sparkle -60497 edit sparkle -60498 copilot snooze -60499 send to remote agent -60500 comment discussion sparkle -60501 chat sparkle warning -60502 chat sparkle error -60503 collection -60504 new collection -60505 thinking -60506 build -60507 comment discussion quote -60508 cursor -60509 eraser -60510 file text -60512 quotes -60513 rename -60514 run with deps -60515 debug connected -60516 strikethrough -60517 open in product -60518 index zero -60519 agent -60520 edit code -60521 repo selected -60522 skip -60523 merge into -60524 git branch changes -60525 git branch staged changes -60526 git branch conflicts -60527 git branch -60528 search large -60529 terminal git bash -60530 window active -60531 forward -60532 download -60533 clockface -60534 unarchive -60535 session in progress -60536 collection small -60537 vm small -60538 cloud small -60539 add small -60540 remove small -60541 worktree small -60542 worktree -60543 screen cut -60544 ask -60545 openai -60546 claude -60547 open in window -60548 new session 60672 location dot 60673 medapps 60674 medrt @@ -17815,7 +17605,6 @@ 61388 palette 61389 square parking 61390 diagram project -61391 volume 61440 glass 61441 music 61442 magnifying glass @@ -18714,10 +18503,6 @@ 62335 typst 62336 nobara 62337 river -62338 openwrt -62339 wireguard -62340 ffmpeg -62341 cachyos 62464 light bulb 62465 repo 62466 repo forked @@ -45183,7 +44968,6 @@ 983941 music box outline 983942 music circle 983943 music note -983944 music note 2 983945 music note half 983946 music note off 983947 music note quarter @@ -45364,7 +45148,6 @@ 984122 radio handheld 984123 radio tower 984124 radioactive -984125 radiobox blank 984126 radiobox marked 984127 raspberry pi 984128 ray end @@ -45568,7 +45351,6 @@ 984326 temperature kelvin 984327 tennis ball 984328 tent -984329 mountains 984330 text to speech 984331 text to speech off 984332 texture @@ -45811,7 +45593,6 @@ 984569 incognito 984570 kettle 984571 lock plus -984572 logout variant 2 984573 logout variant 984574 music note bluetooth 984575 music note bluetooth off @@ -46172,8 +45953,6 @@ 984930 taco 984931 square outline 984932 square -984933 circle -984934 circle outline 984935 alert octagram 984936 atom 984937 ceiling light @@ -46535,7 +46314,6 @@ 985293 car limousine 985294 cards club 985295 cards diamond -985296 cards heart 985297 cards spade 985298 cellphone text 985299 cellphone message @@ -47152,7 +46930,6 @@ 985910 format letter case upper 985911 language java 985912 circle multiple -985913 numeric 0 985914 numeric 1 985915 numeric 2 985916 numeric 3 @@ -47509,8 +47286,6 @@ 986267 network off 986268 network off outline 986269 network outline -986270 numeric 0 circle -986271 numeric 0 circle outline 986272 numeric 1 circle 986273 numeric 1 circle outline 986274 numeric 2 circle @@ -48511,16 +48286,13 @@ 987269 math log 987270 moped 987271 router network -987272 roman numeral 1 987273 roman numeral 2 987274 roman numeral 3 987275 roman numeral 4 -987276 roman numeral 5 987277 roman numeral 6 987278 roman numeral 7 987279 roman numeral 8 987280 roman numeral 9 -987281 roman numeral 10 987282 soldering iron 987283 stomach 987284 table eye @@ -49309,7 +49081,6 @@ 988067 size xs 988068 size s 988069 size m -988070 size l 988071 size xl 988072 size xxl 988073 size xxxl @@ -50583,7 +50354,6 @@ 989341 calendar collapse horizontal 989342 calendar expand horizontal 989343 cards club outline -989344 cards heart outline 989345 cards playing 989346 cards playing club 989347 cards playing club multiple @@ -50663,7 +50433,6 @@ 989421 filter check outline 989422 flag off 989423 flag off outline -989424 navigation variant 989425 navigation variant outline 989426 refresh auto 989427 tilde off diff --git a/tools/wcswidth/char-props-data.go b/tools/wcswidth/char-props-data.go index a67cfb776..da5257a89 100644 --- a/tools/wcswidth/char-props-data.go +++ b/tools/wcswidth/char-props-data.go @@ -388,10 +388,10 @@ var charprops_t3 = [106]CharProps{ // Array accessor function that avoids bounds checking func charprops_for(x uint32) CharProps { - t1 := uintptr(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&charprops_t1[0])) + uintptr(x>>charprops_shift)*1))) + t1 := uintptr(*(*uint8)(unsafe.Add(unsafe.Pointer(&charprops_t1[0]), uintptr(x>>charprops_shift)*1))) t1_shifted := (t1 << charprops_shift) + (uintptr(x) & charprops_mask) - t2 := uintptr(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&charprops_t2[0])) + t1_shifted*1))) - return *(*CharProps)(unsafe.Pointer(uintptr(unsafe.Pointer(&charprops_t3[0])) + t2*4)) + t2 := uintptr(*(*uint8)(unsafe.Add(unsafe.Pointer(&charprops_t2[0]), t1_shifted*1))) + return *(*CharProps)(unsafe.Add(unsafe.Pointer(&charprops_t3[0]), t2*4)) } const graphemesegmentationresult_mask = 15 @@ -3285,9 +3285,9 @@ var graphemesegmentationresult_t2 = [2880]GraphemeSegmentationResult{ // Array accessor function that avoids bounds checking func graphemesegmentationresult_for(x uint16) GraphemeSegmentationResult { - t1 := uintptr(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&graphemesegmentationresult_t1[0])) + uintptr(x>>graphemesegmentationresult_shift)*1))) + t1 := uintptr(*(*uint8)(unsafe.Add(unsafe.Pointer(&graphemesegmentationresult_t1[0]), uintptr(x>>graphemesegmentationresult_shift)*1))) t1_shifted := (t1 << graphemesegmentationresult_shift) + (uintptr(x) & graphemesegmentationresult_mask) - return *(*GraphemeSegmentationResult)(unsafe.Pointer(uintptr(unsafe.Pointer(&graphemesegmentationresult_t2[0])) + t1_shifted*2)) + return *(*GraphemeSegmentationResult)(unsafe.Add(unsafe.Pointer(&graphemesegmentationresult_t2[0]), t1_shifted*2)) } func grapheme_segmentation_key(r GraphemeSegmentationResult, ch CharProps) uint16 {