If you live in the terminal, kitty is made for you! Cross-platform, fast, feature-rich, GPU based. https://sw.kovidgoyal.net/kitty/
Find a file
Dan Egnor 17d5103652 Wayland: guess the origin (0,0) output for a fresh window's fractional scale
When there is no focused or recently-focused window to key off of (the
typical first-window-at-startup case), glfwGetWaylandCurrentMonitorFractionalScale
fell back to the registry-first output (monitors[0]). Registry/connector
order is semi-arbitrary and uncorrelated with where a compositor actually
places a new window, so on a multi-monitor setup with mixed fractional
scales the first window could be born at the wrong size.

Prefer the output at the logical origin (0, 0) instead: the compositor's
top-left/primary output is a better guess for initial placement than
registry order. Fall back to monitors[0] when no output reports (0, 0).

Since xdg_output geometry (including position) arrives asynchronously and
x/y read zero until it does, wait for every monitor's logical geometry
before trusting the reported positions, so an as-yet-unpositioned output
cannot spuriously match (0, 0).

Discussed in #10268.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VjwP6hQjA6GMuiM7Mf9VAx
2026-07-23 12:34:19 -07:00
.github Bump github/codeql-action from 4.36.3 to 4.37.0 in the actions group 2026-07-20 03:45:23 +00:00
3rdparty
bypy
docs ... 2026-07-21 10:16:35 +05:30
gen
glad
glfw Wayland: guess the origin (0,0) output for a fresh window's fractional scale 2026-07-23 12:34:19 -07:00
kittens Clean up previous PR 2026-07-09 07:01:18 +05:30
kitty ... 2026-07-21 15:34:38 +05:30
kitty_tests Add support for DECSTR soft screen reset escape code 2026-07-15 09:28:51 +05:30
logo
shell-integration
terminfo
tools Benchmark unique multi-codepoint Unicode cells 2026-07-12 15:27:24 +02:00
.editorconfig
.gitattributes
.gitignore
__main__.py
benchmark.py
Brewfile
build-terminfo
CHANGELOG.rst
CONTRIBUTING.md
count-lines-of-code
dev.sh
embeds.go
go.mod Bump some dependency versions 2026-07-14 06:15:01 +05:30
go.sum Bump some dependency versions 2026-07-14 06:15:01 +05:30
INSTALL.md
key_encoding.json
LICENSE
local-agent.md
Makefile
publish.py
pyproject.toml
README.asciidoc
rsync-and-build.sh
SECURITY.md
session.vim
setup.py macOS: Disable macOS one time code autofill popups 2026-07-13 09:06:24 +05:30
shell.nix
staticcheck.conf
test.py
update-on-ox

= kitty - the fast, feature-rich, cross-platform, GPU based terminal

If you live in the terminal, *kitty* is made for **you**!

See https://sw.kovidgoyal.net/kitty/[the kitty website].

image:https://github.com/kovidgoyal/kitty/workflows/CI/badge.svg["Build status", link="https://github.com/kovidgoyal/kitty/actions?query=workflow%3ACI"]

https://sw.kovidgoyal.net/kitty/faq/[Frequently Asked Questions]

To ask other questions about kitty usage, use either the https://github.com/kovidgoyal/kitty/discussions/[discussions on GitHub] or the
https://www.reddit.com/r/KittyTerminal[Reddit community]

Packaging status in various repositories:

image:https://repology.org/badge/vertical-allrepos/kitty-terminal.svg?columns=3&header=kitty["Packaging status", link="https://repology.org/project/kitty-terminal/versions"]