Mitchell Hashimoto
e1de7a99e8
macos: add "Check for Updates" action, menu item & key-binding support ( #7361 )
...
Resolve #7325
2025-05-15 15:45:24 -07:00
Qwerasd
ea79fdea11
fix(OpenGL): use sRGB texture format for gamma correct interpolation
...
otherwise images will be too dark when scaled
2025-05-15 12:44:44 -06:00
Qwerasd
e2f3b6211f
fix(Metal): use sRGB texture format for gamma correct interpolation
...
otherwise images will be too dark when scaled
2025-05-15 12:44:44 -06:00
Mitchell Hashimoto
1d0cb1a9b0
fix(renderer): Don't force images to grid/cell sizes. ( #7367 )
...
Also fixed Metal not interpolating scaled images.
See commit message for more details.
|`main` (Metal)|`main` (OpenGL)|Kitty|fixed (Metal)|fixed (OpenGL)|
|-|-|-|-|-|
||||||
<sup>(Zoom in for details.)</sup>
> [!NOTE]
> This comparison reveals a separate problem we have with image scaling,
which Kitty gets right but we don't -- the interpolation is too dark
because of gamma error, we need to be interpolating in linear space but
instead we're interpolating in gamma compressed space. I'll try to
figure out the best way to resolve this.
2025-05-15 11:42:05 -07:00
Qwerasd
ed207514e9
typo
2025-05-15 11:59:17 -06:00
Qwerasd
709b0214a0
fix(renderer): Don't force images to grid/cell sizes
...
This problem was introduced by f091a69 (PR #6675 ).
I've gone ahead and overhauled the placement positioning logic as well;
it was doing a lot of expensive calls before, I've significantly reduced
that.
Clipping partially off-screen images is now handled entirely by the
renderer, rather than while preparing the placement, and as such the
grid position passed to the image shader is now signed.
2025-05-15 11:41:12 -06:00
Leah Amelia Chen
cc65dfc90e
gtk(command_palette): focus fixes
2025-05-15 18:11:19 +02:00
Leah Amelia Chen
2800e0c99b
gtk(command_palette): address feedback related to selections
...
See #7173 , #7175
2025-05-15 18:11:19 +02:00
Leah Amelia Chen
e97dfc2e19
gtk(command_palette): filter out certain actions
2025-05-15 18:11:19 +02:00
Leah Amelia Chen
3b013b1174
gtk: add command palette to titlebar menu
2025-05-15 18:11:19 +02:00
Leah Amelia Chen
048e4acb2c
gtk: implement command palette
2025-05-15 18:11:19 +02:00
Aaron Ruan
f6d56f4f03
Handle check_for_updates as unimplemented action
2025-05-15 23:26:47 +08:00
Jeffrey C. Ollie
9ff43cd345
gtk: implement custom audio bell ( #5326 )
...
Fixes #2710
Adds support for custom audio bell notifications.
2025-05-15 10:09:39 -05:00
Aaron Ruan
7ccc181332
macos: add "Check for Updates" action, menu item & key-binding support
2025-05-15 13:34:44 +08:00
Qwerasd
55c1ef779f
fix(Metal): interpolate kitty images
...
uint textures can't be interpolated apparently
2025-05-14 21:12:20 -06:00
Mitchell Hashimoto
a74e352726
bench: add --mode=gen-osc
to generate synthetic OSC sequences
...
This commit adds a few new mode flags to the `bench-stream` program
to generator synthetic OSC sequences. The new modes are `gen-osc`,
`gen-osc-valid`, and `gen-osc-invalid`. The `gen-osc` mode generates
equal parts valid and invalid OSC sequences, while the suffixed variants
are for generating only valid or invalid sequences, respectively.
This commit also fixes our build system to actually be able to build the
benchmarks. It turns out we were just rebuilding the main Ghostty binary
for `-Demit-bench`. And, our benchmarks didn't run under Zig 0.14, which
is now fixed.
An important new design I'm working towards in this commit is to split
out synthetic data generation to a dedicated package in
`src/bench/synth` although I'm tempted to move it to `src/synth` since
it may be useful outside of benchmarks.
The synth package is a work-in-progress, but it contains a hint of
what's to come. I ultimately want to able to generate all kinds of
synthetic data with a lot of knobs to control dimensionality (e.g. in
the case of OSC sequences: valid/invalid, length, operation types,
etc.).
2025-05-14 12:26:31 -07:00
Weizhao Ouyang
528814da79
url: restrict file paths regex to one slash
...
This restricts the valid path prefixes to prevent false matches caused
by literal dot.
Signed-off-by: Weizhao Ouyang <o451686892@gmail.com>
2025-05-14 23:20:09 +08:00
Jeffrey C. Ollie
ba08b0cce5
gtk custom bell audio: optional -> required
2025-05-13 10:01:54 -05:00
Jeffrey C. Ollie
0e8b266662
Use std.math.clamp
...
Co-authored-by: Leah Amelia Chen <github@acc.pluie.me>
2025-05-13 10:01:54 -05:00
Jeffrey C. Ollie
8d0c3c7b7c
gtk: implement custom audio for bell
2025-05-13 10:01:54 -05:00
Mitchell Hashimoto
507e808a7c
input: add backwards compatible alias for plus
to +
...
From #7320
Discussion #7340
There isn't a `physical` alias because there is no physical plus key
defined for the W3C keycode spec.
2025-05-12 15:32:32 -07:00
Mitchell Hashimoto
ecda5ec327
macos: do not send UTF-8 PUA codepoints to key events
...
Fixes #7337
AppKit encodes functional keys as PUA codepoints. We don't want to send
that down as valid text encoding for a key event because KKP uses that
in particular to change the encoding with associated text.
I think there may be a more specific solution to this by only doing this
within the KKP encoding part of KeyEncoder but that was filled with edge
cases and I didn't want to risk breaking anything else.
2025-05-12 11:42:05 -07:00
Mitchell Hashimoto
6c6cdf4c4f
input: bracket right was mapped to left, a typo
2025-05-12 09:57:10 -07:00
Mitchell Hashimoto
8f40d1331e
ensure ctrl++
parses, clarify case folding docs
2025-05-12 09:08:00 -07:00
Mitchell Hashimoto
c4f1c78fcf
macOS: treat C-/ specially again to prevent beep
...
Fixes #7310
2025-05-11 07:15:46 -07:00
Mitchell Hashimoto
ed1194cd75
fix tests
2025-05-10 08:51:08 -07:00
Mitchell Hashimoto
1752edd9eb
input: implement case folding for binding matching
2025-05-10 07:22:44 -07:00
Mitchell Hashimoto
ca2ead9647
input: kitty add missing numpad keycodes since we support those now
2025-05-09 11:09:22 -07:00
Mitchell Hashimoto
ebabdb322c
input: ignore control characters for backspace/enter/escape special case
2025-05-09 11:05:42 -07:00
Mitchell Hashimoto
293a67cd01
input: control-encode right control properly
2025-05-09 10:16:21 -07:00
Mitchell Hashimoto
54bd701ba9
input: bindings should match on single-codepoint utf-8 text too
2025-05-09 10:01:06 -07:00
Mitchell Hashimoto
d015efc87d
clean up bindings so that they match macOS menus
2025-05-09 10:01:06 -07:00
Mitchell Hashimoto
5962696c3b
input: remove physical_key
from the key event (all keys are physical)
2025-05-09 10:01:06 -07:00
Mitchell Hashimoto
11a623aa17
docs
2025-05-09 10:01:06 -07:00
Mitchell Hashimoto
cc748305fb
input: w3c names for keys
2025-05-09 10:01:06 -07:00
Mitchell Hashimoto
1e76222f19
update docs
2025-05-09 10:01:06 -07:00
Mitchell Hashimoto
7983e0d62c
input: backwards compatibility
2025-05-09 10:01:06 -07:00
Mitchell Hashimoto
ffdf86374a
apprt/gtk: build
2025-05-09 10:01:06 -07:00
Mitchell Hashimoto
b991d36343
macOS: build
2025-05-09 10:01:06 -07:00
Mitchell Hashimoto
24d433333b
apprt/glfw: builds
2025-05-09 10:01:06 -07:00
Mitchell Hashimoto
a3462dd2bd
input: remove translated
2025-05-09 10:01:05 -07:00
Mitchell Hashimoto
91d15c89bc
input: key enum is now aligned with W3C keyboard codes
2025-05-09 10:01:05 -07:00
Jeffrey C. Ollie
9c70f8aee1
core: add context menu key
2025-05-07 13:08:38 -07:00
tangowithfoxtrot
69a744b521
docs: fix minor grammatical error
2025-05-07 11:46:36 -07:00
Jeffrey C. Ollie
0ed4b5d9c6
gtk: only allow one config error dialog at a time ( #7293 )
...
This fixes a problem introduced by #7241 that would cause multiple error
dialogs to be shown.
2025-05-07 13:36:17 -05:00
Jeffrey C. Ollie
5d81a31a49
gtk: remove dead code
2025-05-07 11:12:07 -05:00
Jeffrey C. Ollie
00a2d54420
gtk: only allow one config error dialog at a time
...
This fixes a problem introduced by #7241 that would cause multiple error
dialogs to be shown.
2025-05-07 10:46:46 -05:00
Mitchell Hashimoto
362c5cb05f
Allow struct/union/enum binding types to have default values
...
This allows for `keybind = super+d=new_split` to now work (defaults to
"auto"). This will also let us convert void types to union/enum/struct
types in the future without breaking existing bindings.
2025-05-07 08:18:28 -07:00
Jeffrey C. Ollie
e8c845b758
core: fixup callconv(.C) -> callconv(.c)
...
https://ziglang.org/download/0.14.0/release-notes.html#Calling-Convention-Enhancements-and-setAlignStack-Replaced
2025-05-07 08:41:09 -05:00
fn ⌃ ⌥
071531c5c5
Add "Scroll to Selection" command
2025-05-06 16:26:22 -07:00