4368 Commits

Author SHA1 Message Date
Mitchell Hashimoto
21db51ff9d input: only send keypad events for keypad application mode
Fixes #1099
2023-12-27 08:10:01 -08:00
Mitchell Hashimoto
d648daed6a Merge pull request #1164 from mitchellh/macos-about-select
macos: text in about window is selectable
2023-12-27 07:54:40 -08:00
Mitchell Hashimoto
789107ff1b macos: text in about window is selectable
Fixes #1163

I also fixed the AppIconImage from being 1024x1024 to much smaller so we
don't see as many artifacts in the downsize.
2023-12-27 07:53:28 -08:00
Mitchell Hashimoto
107f1b1050 Merge pull request #1161 from mitchellh/new-surface-uuid
macOS: restore focused split on app state restore
2023-12-26 14:53:00 -08:00
Mitchell Hashimoto
2aa7f12417 macos: increment restorable state version 2023-12-26 14:45:39 -08:00
Mitchell Hashimoto
98041940f0 macos: restore focused split on app restore 2023-12-26 14:45:27 -08:00
Mitchell Hashimoto
a321ef515d macos: assign unique UUID per surface, store in app state 2023-12-26 14:24:05 -08:00
Mitchell Hashimoto
10a1a94b5d Merge pull request #1160 from mitchellh/cursor-scroll
terminal: resize cols should treat old cursor pos as active point
2023-12-26 14:02:24 -08:00
Mitchell Hashimoto
b573ff137a terminal: resize cols should treat old cursor pos as active point
Fixes #1159

The cursor position is an "active" coordinate (defined at the top of
Screen.zig), but our resize was treating it as a "viewport" coordinate.
2023-12-26 13:59:22 -08:00
Mitchell Hashimoto
41ad737b07 Merge pull request #1158 from mitchellh/grapheme-config
config: grapheme-width-method, default to "unicode"
2023-12-25 14:36:26 -08:00
Mitchell Hashimoto
8b3094465d config: grapheme-width-method, default to "unicode"
This adds a new configuration `grapheme-width-method` to change the
default behavior that Ghostty uses to calculate grapheme width. The
default value is `unicode` which is identical to setting mode 2027.

**IMPORTANT:** This changes the default Ghostty behavior to be fully
grapheme-aware including ZWJs, VS15, VS16. This may cause issues with
some legacy programs and shells.

I've changed my mind that this should become the default because enough
people use emojis now that I've found in the beta program there are more
issues reported about "incorrect emoji width" than any possibly desync
issues. We'll see.

For legacy programs, this can still be set to `grapheme-width-method =
wcswidth`.
2023-12-25 14:19:05 -08:00
Mitchell Hashimoto
198e7895c9 Merge pull request #1157 from mitchellh/dependabot/github_actions/cachix/cachix-action-13
build(deps): bump cachix/cachix-action from 12 to 13
2023-12-25 07:09:39 -08:00
dependabot[bot]
6a726ed715 build(deps): bump cachix/cachix-action from 12 to 13
Bumps [cachix/cachix-action](https://github.com/cachix/cachix-action) from 12 to 13.
- [Release notes](https://github.com/cachix/cachix-action/releases)
- [Commits](https://github.com/cachix/cachix-action/compare/v12...v13)

---
updated-dependencies:
- dependency-name: cachix/cachix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-25 00:57:44 +00:00
Mitchell Hashimoto
d486f80ce8 Merge pull request #1156 from mitchellh/kitty
input: kitty keyboard modifier event changes from Kitty 0.32
2023-12-24 09:02:43 -08:00
Mitchell Hashimoto
0a1dfae2ef input: kitty keyboard modifier event changes from Kitty 0.32
> When the key event is related to an actual modifier key, the corresponding
> modifier's bit must be set to the modifier state including the effect for the
> current event. For example, when pressing the :kbd:`LEFT_CONTROL` key, the
> ``ctrl`` bit must be set and when releasing it, it must be reset. When both
> left and right control keys are pressed and one is released, the release event
> must have the ``ctrl`` bit set. See :iss:`6913` for discussion of this design.
2023-12-24 08:21:31 -08:00
Mitchell Hashimoto
c783f53d18 Merge pull request #1155 from mitchellh/macos-restore
macOS: restore windows, tabs, splits, working directories, etc. on restart
2023-12-23 19:10:59 -08:00
Mitchell Hashimoto
20f9a3baab macos: reset state version to 1 2023-12-23 18:59:19 -08:00
Mitchell Hashimoto
f615a308e0 config: change window-save-state to default 2023-12-23 18:52:40 -08:00
Mitchell Hashimoto
c3b89fa215 macos: use securecoding for codablebridge to prevent warning
Thanks Matt Polzin!
2023-12-23 18:49:41 -08:00
Mitchell Hashimoto
a8568306c9 macos: store pwd with save/restore state 2023-12-23 17:06:34 -08:00
Mitchell Hashimoto
243379c50f apprt/embedded: ghostty_surface_pwd 2023-12-23 16:59:09 -08:00
Mitchell Hashimoto
2390668834 macos: encode surface tree in state restore 2023-12-23 13:15:46 -08:00
Mitchell Hashimoto
a5d249eb48 config: if window-save-state is never, never restore state 2023-12-22 22:00:25 -08:00
Mitchell Hashimoto
f0bf0fd888 config: window-save-state 2023-12-22 21:51:06 -08:00
Mitchell Hashimoto
59f54a1d88 macos: initial window save/restore is working for frames only 2023-12-22 21:24:27 -08:00
Mitchell Hashimoto
69131af808 Merge pull request #1154 from vancluever/vancluever-macos-middle-click-paste
macos: middle click always pastes from clipboard
2023-12-22 19:02:25 -08:00
Chris Marchesi
ffb9ebf6d9 macos: middle click always pastes from clipboard
Following up on #1145, this changes middle-click behavior on MacOS to
always paste from the system clipboard. This does not alter any of the
selection behavior, i.e. default behavior is to allow paste, but you
still need to manually copy. MacOS users still need to enable
"copy-on-select = clipboard" for that respective functionality.
2023-12-22 17:51:51 -08:00
Mitchell Hashimoto
e9a7b9aa67 Merge pull request #1153 from mitchellh/gtk-icons
apprt/gtk: correct icon path now that our resources dir is in a subdir
2023-12-22 17:06:22 -08:00
Mitchell Hashimoto
1f50406967 apprt/gtk: correct icon path now that our resources dir is in a subdir
From #1132, our resources dir is now someting like `/usr/share/ghostty`,
but GTK icons always go into `/usr/share/icons`. This does a basename on
the resources dir to set the correct directory.
2023-12-22 17:03:34 -08:00
Mitchell Hashimoto
06c0a61f49 Merge pull request #1151 from vancluever/vancluever-update-nixpkgs-zig-0-12
nix: update nixpkgs-zig-0-12
2023-12-22 15:37:46 -08:00
Mitchell Hashimoto
8849c689b3 Merge pull request #1152 from mitchellh/cachix
ci: swap magic-nix-cache with cachix
2023-12-22 15:36:11 -08:00
Mitchell Hashimoto
188f82c16e ci: build-nix and test are not matrix tests 2023-12-22 15:27:48 -08:00
Mitchell Hashimoto
f56ed57b57 prettier 2023-12-22 14:49:32 -08:00
Mitchell Hashimoto
b222cf33bd ci: swap magic-nix-cache with cachix
Cachix doesn't have rate limit issues like GitHub Actions does and I'd
love to support the Nix community. Plus, I have experience with Cachix
before and they've been so great.
2023-12-22 14:36:28 -08:00
Mitchell Hashimoto
582a87aa1c Merge pull request #1150 from jcollie/fix-nix-package
fix nix package and add ci test for nix package build
2023-12-22 14:30:12 -08:00
Mitchell Hashimoto
98abf0d186 ci: build-nix depends on test like other package builds 2023-12-22 14:29:37 -08:00
Mitchell Hashimoto
18ada8d118 ci: move nix build to dedicated job 2023-12-22 14:20:27 -08:00
Mitchell Hashimoto
59315d2aa1 dist/macos: prune appcast to the most recent 15 items
This prevents the file from getting too large.
2023-12-22 12:40:15 -08:00
Chris Marchesi
2e3c1bf9da nix: update nixpkgs-zig-0-12
This updates the nixpkgs-zig-0-12 input to be in line with the current
Zig in use by the overlay (0.12.0-dev.1830+779b8e259).
2023-12-22 12:32:43 -08:00
Jeffrey C. Ollie
d8e1aebfcd enable magic nix cache to improve build times 2023-12-22 14:28:27 -06:00
Jeffrey C. Ollie
a995b6dbb0 fix nix package and add ci test for nix package build 2023-12-22 13:43:06 -06:00
Mitchell Hashimoto
4525be9c57 Merge pull request #1147 from mitchellh/macos-rlimit
macos: do not change nofile rlimit max
2023-12-22 08:59:59 -08:00
Mitchell Hashimoto
86bd972d22 macos: do not change nofile rlimit max
Fixes #1146

I can't remember why we did this before. The comment in question makes
sense if we were trying to set cur to infinity but doesn't make sense to
me why we'd change max. Removing this doesn't seem to cause any issues
so lets give it a shot.
2023-12-22 08:58:31 -08:00
Mitchell Hashimoto
a94973c240 Merge pull request #1138 from gpanders/vim-plugin
build: build Vim plugin files for Ghostty config file
2023-12-22 08:50:34 -08:00
Mitchell Hashimoto
eb46161b5e config: generate vim configs at comptime 2023-12-22 08:19:17 -08:00
Mitchell Hashimoto
891418efec Merge pull request #1145 from vancluever/vancluever-macos-middle-click
macos: handle middle click
2023-12-22 07:48:52 -08:00
Chris Marchesi
e1320be757 macos: handle middle click
This adds middle-click support to MacOS.

Very simple update, since everything else is in place to handle mouse
clicks in the embedded runtime already, we just needed to add the event
handlers in the UI.
2023-12-22 00:05:28 -08:00
Mitchell Hashimoto
14e4772b2b Merge pull request #1144 from mitchellh/macos_context_menu
macos: Implement context menu functionality to open tabs and windows.
2023-12-21 22:18:30 -08:00
Vivek Roy
aa75e7dfd8 macos: Implement context menu functionality to open tabs and windows. 2023-12-22 11:20:42 +05:30
Mitchell Hashimoto
38dc2212bc Merge pull request #1142 from mitchellh/macos-keypad
input: kitty encoding should only report alt key if not equal to utf8
2023-12-21 20:54:56 -08:00