5560 Commits

Author SHA1 Message Date
Mitchell Hashimoto
b5d543705d renderer/metal: free resources when occluded 2024-02-13 20:07:41 -08:00
Mitchell Hashimoto
bef83446d1 renderer/metal: move shaders to cached state 2024-02-13 19:37:10 -08:00
Mitchell Hashimoto
9f6db11b95 renderer/metal: cache buf cells 2024-02-13 19:10:58 -08:00
Mitchell Hashimoto
b945a6c3b6 Merge pull request #1509 from der-teufel-programming/fix-os-O
Update usage of std.os.O
2024-02-13 16:45:44 -08:00
Chris Marchesi
6cedc369cd nix: update nixpkgs-zig-0-12
This updates the nixpkgs-zig-0-12 to be in line with the current overlay
Zig (0.12.0-dev.2711+f995c1b08).
2024-02-13 09:59:59 -08:00
Mitchell Hashimoto
0c1d288142 renderer/metal: start extracting "visible" resources 2024-02-13 09:44:40 -08:00
Mitchell Hashimoto
e1908f7cc7 renderer: handle renderer pause/redraw on occlusion 2024-02-13 09:21:04 -08:00
Mitchell Hashimoto
7548ac368e config: note that tab restore with titlebar tabs on macos 13 is broken 2024-02-12 21:30:24 -08:00
Mitchell Hashimoto
36635758d8 Merge pull request #1517 from mitchellh/long-preedit
core: fallback to heap allocation for long preedit inputs
2024-02-12 21:27:54 -08:00
Mitchell Hashimoto
e95b1707c1 core: fallback to heap allocation for long preedit inputs
Fixes #1514

We previously required all preedit inputs to fit into the small copied
message size. That's true for 99% of all inputs, but if a long pre-edit
input comes in, this may not be true. We should try the small array
fast-path but fall back to heap allocation if we must.
2024-02-12 21:21:35 -08:00
Mitchell Hashimoto
6acf2b40af terminal/kitty-gfx: mistaken logic 2024-02-12 19:35:02 -08:00
Mitchell Hashimoto
6a3b676779 Merge pull request #1511 from truemedian/refuzzed
Realpath with nulls and malformed OSC 4 causing panics
2024-02-12 19:32:15 -08:00
Mitchell Hashimoto
9193cfa6d2 style nit 2024-02-12 19:31:58 -08:00
Nameless
28ff9f7310 bug: std.os.realpath on non-windows asserts no nulls, make an error 2024-02-12 19:31:17 -08:00
Mitchell Hashimoto
739fc746bf terminal: OSC parses 4 with empty string param without crashing 2024-02-12 19:30:04 -08:00
Mitchell Hashimoto
645aa61482 update nix 2024-02-12 18:57:33 -08:00
Mitchell Hashimoto
02e0230131 Merge pull request #1515 from mitchellh/dependabot/github_actions/namespacelabs/nscloud-cache-action-1.1.1
build(deps): bump namespacelabs/nscloud-cache-action from 1.1.0 to 1.1.1
2024-02-12 18:47:20 -08:00
dependabot[bot]
4dde111197 build(deps): bump namespacelabs/nscloud-cache-action from 1.1.0 to 1.1.1
Bumps [namespacelabs/nscloud-cache-action](https://github.com/namespacelabs/nscloud-cache-action) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/namespacelabs/nscloud-cache-action/releases)
- [Commits](https://github.com/namespacelabs/nscloud-cache-action/compare/v1.1.0...v1.1.1)

---
updated-dependencies:
- dependency-name: namespacelabs/nscloud-cache-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-13 00:20:20 +00:00
Mitchell Hashimoto
6876247a5a Merge pull request #1513 from mitchellh/macosci
use namespace macOS for testing
2024-02-12 14:29:47 -08:00
Mitchell Hashimoto
20dfc00b6b ci: macos doesn't support caches 2024-02-12 14:20:25 -08:00
Mitchell Hashimoto
5cf1766681 ci: try Namespace macOS 2024-02-12 14:14:13 -08:00
Mitchell Hashimoto
c5ff89095a Merge pull request #1512 from mitchellh/macos-occlusion
macOS: notify core of window occlusion state
2024-02-12 14:04:06 -08:00
Mitchell Hashimoto
9bc972568c macos: call occlusion callback for state change 2024-02-12 13:48:29 -08:00
Mitchell Hashimoto
be0595d71d apprt/embedded: add occlusion state callback 2024-02-12 13:48:09 -08:00
Mitchell Hashimoto
f115e257a4 ci: add namespace cache to more places 2024-02-12 11:24:58 -08:00
Krzysztof Wolicki
af842591c5 Update usage of std.os.O 2024-02-12 20:11:02 +01:00
Hugo Santos
2a47d7d41e Switch to nscloud-cache-action v1.1.0 which handles the permissions required to create /nix. 2024-02-12 17:57:46 +01:00
Hugo Santos
8cb26475a6 Use Namespace cache volumes to cache /nix.
Leads to an overall improvement of 25% in total runtime.
2024-02-12 17:11:49 +01:00
Mitchell Hashimoto
a42c8adf8a Merge pull request #1507 from mitchellh/ctrl
input: ctrl ASCII uppercase behaves the same as ctrl lowercase
2024-02-11 14:37:08 -08:00
Mitchell Hashimoto
2f36fd4b5f input: ctrl ASCII uppercase behaves the same as ctrl lowercase
Fixes #1505

I verified this behavior with every other terminal and I've added test
cases for it. We previously had a test case to assert the opposite,
which is incorrect.
2024-02-11 14:28:53 -08:00
Mitchell Hashimoto
dd7aff52f0 Merge pull request #1504 from mitchellh/macos-focus
macos: more robust surface focus state detection
2024-02-11 09:28:35 -08:00
Mitchell Hashimoto
118b51157a macos: more robust surface focus state detection
Fixes #1500

This overhauls how we do focus management for surfaces to make it more
robust. This DID somehow all work before but was always brittle and was
a sketchy play with SwiftUI/AppKit behavior across macOS versions.

The new approach uses our window controller and terminal delegate
system to disseminate focus information whenever any surface changes
focus. This ensures that only ONE surface ever has focus in libghostty
because the controller ensures it is widely distributed.
2024-02-11 09:19:13 -08:00
Mitchell Hashimoto
aa27190baf Merge pull request #1501 from peteschaffner/improve-new-tab-button-image
Improve new tab button icon color with window transparency
2024-02-11 08:34:55 -08:00
Mitchell Hashimoto
68a681e2df Merge pull request #1503 from marler8997/windowsRcFile
windows: add rc file
2024-02-11 08:33:08 -08:00
Jonathan Marler
7f6088ee1f windows: add rc file
Adds an rc file for windows.  An rc file is a source file given to the
toolchain that instructs it on what "resources" to embed inside the
executable.  You can think of "resources" as files or data that get
embedded into the executable and can be accessed both by the application
at runtime or by the OS.  The OS uses resources for things like getting
the icon of the executable or extracting the version of an exe for the
user.  Note that exe resources can also be modified without having to
recompile/relink the binary.

Thanks to Squeek502 zig has its own "RC Compiler" so this should still be
buildable on all platforms.

In the RC file I've included some basic info and left in comments for
other info to be populated later.  I've also included a manifest file
which starts out by telling windows that our exe will be DPI aware and
to use a slightly more modern look and feel for native controls.
2024-02-11 08:51:43 -07:00
Mitchell Hashimoto
9e43ed306e Merge pull request #1502 from marler8997/center16Icon
image: center 16x16 icon
2024-02-11 07:36:26 -08:00
Jonathan Marler
986f8bc134 image: center 16x16 icon
looks like the 16x16 icon is not centered, it's got 2 blank lines on the
left and no blank lines on the right.  This centers it so there is 1 blank
line on the left and right.
2024-02-11 08:15:15 -07:00
Pete Schaffner
aad302f236 Make new tab icon respond to window's key status 2024-02-11 14:24:35 +01:00
Pete Schaffner
595c1e222b Remove vibrant layer before re-adding it 2024-02-11 13:52:11 +01:00
Mitchell Hashimoto
52f48147c5 Merge pull request #1499 from marler8997/fixWindowsTmpDir
os: remove UB, tmpDir is returning stack memory on Windows
2024-02-10 20:39:32 -08:00
Jonathan Marler
e1996ad1e5 os: remove UB, tmpDir is returning stack memory on Windows
On Windows, the tmpDir function is currently using a buffer on the stack
to convert the WTF16-encoded environment variable value "TMP" to utf8
and then returns it as a slice...but that stack buffer is no longer valid
when the function returns.  This was causing the "image load...temporary
file" test to fail on Windows.

I've updated the function to take an allocator but it only uses
the allocator on Windows.  No allocation is needed on other platforms
because they return environment variables that are already utf8 (ascii)
encoded, and the OS pre-allocates all environment variables in the process.
To keep the conditional that determines when allocation is required, I
added the `freeTmpDir` function.
2024-02-10 21:09:05 -07:00
Mitchell Hashimoto
3902c04f0f ci: add timeouts to prettier and alejandra 2024-02-10 19:51:18 -08:00
Mitchell Hashimoto
3157e23f6d Merge pull request #1498 from qwerasd205/fix-bench-options
fix(bench): update std options format
2024-02-10 19:46:56 -08:00
Mitchell Hashimoto
0c74182873 ci: build bench on larger instance 2024-02-10 19:42:25 -08:00
Mitchell Hashimoto
615482d2d3 ci: build benchmarks 2024-02-10 19:32:14 -08:00
Qwerasd
58b925d4c3 fix(bench): update std options format 2024-02-10 22:20:24 -05:00
Mitchell Hashimoto
74c26d1ef0 Merge pull request #1489 from mitchellh/update-zig
update zig
2024-02-10 17:48:50 -08:00
Mitchell Hashimoto
872c15fc78 Merge pull request #1497 from mitchellh/emoji-vs-bug
terminal: only apply VS15/16 to emoji
2024-02-10 17:38:07 -08:00
Mitchell Hashimoto
004405ccf9 terminal: only apply VS15/16 to emoji
Fixes #1482
2024-02-10 17:26:45 -08:00
Chris Marchesi
2f84472f66 nix: update nixpkgs-zig-0-12
This updates the nixpkgs-zig-0-12 to be in line with the current overlay
Zig (0.12.0-dev.2701+d18f52197).
2024-02-10 17:22:21 -08:00