8195 Commits

Author SHA1 Message Date
Mitchell Hashimoto
a3fef9f14e Merge pull request #2367 from ghostty-org/push-qtpouzmnnqqs
Mouse movement events are sent with shift until a button is pressed
2024-10-02 17:25:51 -07:00
dependabot[bot]
48ef182bb0 build(deps): bump namespacelabs/nscloud-cache-action from 1.1.8 to 1.2.0
Bumps [namespacelabs/nscloud-cache-action](https://github.com/namespacelabs/nscloud-cache-action) from 1.1.8 to 1.2.0.
- [Release notes](https://github.com/namespacelabs/nscloud-cache-action/releases)
- [Commits](https://github.com/namespacelabs/nscloud-cache-action/compare/v1.1.8...v1.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-03 00:11:51 +00:00
Mitchell Hashimoto
1d09cdb382 Mouse movement events are sent with shift until a button is pressed
Ghostty was previously treating shift as a way to always stop mouse
reporting. That's true for mouse button events, but not for mouse
movement events. For mouse movement events, shift should be treated as
a modifier until a button (any mouse button) is pressed. Once it is
pressed, we pause mouse reporting until all buttons are released.

Found by @ldemailly. This matches the behavior of Kitty, Alacritty,
WezTerm, and xterm.
2024-10-02 17:08:37 -07:00
Mitchell Hashimoto
6940af2a16 Merge pull request #2365 from qwerasd205/underline-fixes
Underline Fixes
2024-10-02 15:49:03 -07:00
Mitchell Hashimoto
7aa2e2b24f renderer: some tweaks 2024-10-02 15:44:06 -07:00
Mitchell Hashimoto
11adb7a999 Merge pull request #2366 from ghostty-org/push-tztyurvtwnor
font: add stylistic variants for built-in font, fix naming convention
2024-10-02 15:21:34 -07:00
Mitchell Hashimoto
be3ae56bc8 font: add stylistic variants for built-in font, fix naming convention
Fixes #2364

This adds the bold, italic, and bold italic variants of JB Mono so it is
built-in. This also fixes up the naming convention for the embedded font
files across tests and removes redundant embedded font files.
2024-10-02 15:17:18 -07:00
Qwerasd
dfc0894d5d fix(renderer): make all decorations and combining marks visible under cursor
Metal needed to be changed to account for wide chars having decorations
on the right half and OpenGL needed to account for multiple glyphs being
under the cursor at once (decorations and combining marks) as well as
wide chars.
2024-10-02 17:18:26 -04:00
Qwerasd
f9e2cb6aec fix(renderer): use 1-wide ul/st chars, ignore null shaper cells
This makes sure that underline styles are consistent and not stretched,
and avoids rendering overlapping text decorations or extraneous
background cells for the right halves of wide chars.
2024-10-02 16:38:31 -04:00
Mitchell Hashimoto
991cbcec21 Merge pull request #2338 from rolandpeelen/main
Add an equivalent to iTerm's "show/hide all windows" hotkey (Fix for: #2205)
2024-10-02 10:58:18 -07:00
Mitchell Hashimoto
28ec11e52b docs updates 2024-10-02 10:52:59 -07:00
Roland Peelen
9e00eeff86 Review Feedback - formatting / docs 2024-10-02 10:33:36 -07:00
Roland Peelen
af48c1af0c Refactor to hide only BaseTerminalController windows
This also slightly changes the code, as the duplication of the for loop
was making it harder to read now. I think technically slightly less
efficient, but this is hardly a hot code path, so should be fine imo.
2024-10-02 10:33:36 -07:00
Roland Peelen
2dbd46096f Fix typo 2024-10-02 10:33:36 -07:00
Roland Peelen
4aac4ecd98 Add hiding toggle, hook up to menu / shortcut 2024-10-02 10:33:36 -07:00
Roland Peelen
24ba1a6100 Add action on Zig side 2024-10-02 10:33:36 -07:00
Mitchell Hashimoto
03abc18adb Merge pull request #2347 from ghostty-org/push-nqtkputomwxx
Change copy-on-select behavior to be more idiomatic for Linux
2024-10-01 20:38:46 -07:00
Mitchell Hashimoto
66f2d75ddd Change copy-on-select behavior to be more idiomatic for Linux
Fixes #2345

The new docs for `copy-on-select`:

Whether to automatically copy selected text to the clipboard. `true`
will prefer to copy to the selection clipboard if supported by the
OS, otherwise it will copy to the system clipboard.

The value `clipboard` will always copy text to the system clipboard
(for supported systems) as well as the system clipboard. This is sometimes
a preferred behavior on Linux.

Middle-click paste will always use the selection clipboard on Linux
and the system clipboard on macOS. Middle-click paste is always enabled
even if this is `false`.

The default value is true on Linux and false on macOS. macOS copy on
select behavior is not typical for applications so it is disabled by
default. On Linux, this is a standard behavior so it is enabled by
default.
2024-10-01 20:38:27 -07:00
Mitchell Hashimoto
a92c24159e Merge pull request #2343 from ghostty-org/push-prytryysmvqw
macos: apply background opacity to quick terminal
2024-09-30 21:33:48 -07:00
Mitchell Hashimoto
78b9636d15 macos: apply background opacity to quick terminal
Fixes #2331
2024-09-30 21:18:47 -07:00
Mitchell Hashimoto
8c5afbbd24 Merge pull request #2341 from ghostty-org/push-noxxuypymuoz
macos: quick terminal supports fullscreen
2024-09-30 21:15:26 -07:00
Mitchell Hashimoto
46cbe59076 macos: quick terminal supports fullscreen
Fixes #2330

The quick terminal now supports fullscreen. The fullscreen mode is
always non-native due to the quick terminal being a titleless, floating
window.

When the quick terminal loses focus and animates out, it will always
exit fullscreen mode.
2024-09-30 21:07:16 -07:00
Mitchell Hashimoto
1cc79c5e76 Merge pull request #2340 from ghostty-org/push-tspxklnxtxpp
macos: quick terminal app activation tweaks to avoid bringing up other windows
2024-09-30 20:49:10 -07:00
Mitchell Hashimoto
3eb2e5f0f0 ci: re-enable the build matrix, not happy with this yet 2024-09-30 20:48:32 -07:00
Mitchell Hashimoto
7a5a9c2a58 macos: quick terminal app activation tweaks to avoid bringing up other windows
Fixes #2336

The comments explain the issues here.
2024-09-30 20:45:54 -07:00
Mitchell Hashimoto
0dc141d8bb ci: fix invalid dependency on test 2024-09-30 20:29:58 -07:00
Mitchell Hashimoto
7e720d1765 Merge pull request #2339 from ghostty-org/push-pwtowtzumlnw
ci: only run macos build matrix on main or demand
2024-09-30 20:29:19 -07:00
Mitchell Hashimoto
d1fe931f59 ci: only run macos build matrix on main or demand
This is our longest running job in CI and I don't need it to run for
every PR. I'd like it running on main in case I miss a need for it in a
PR.
2024-09-30 20:24:55 -07:00
Mitchell Hashimoto
d1bba3737b Merge pull request #2335 from rockorager/fix-sgr-reset
fix(list-keybinds): reset SGR after pretty printing
2024-09-30 20:20:41 -07:00
Mitchell Hashimoto
4b9a3aaaa2 Merge pull request #2337 from ghostty-org/nonnative
macOS: fullscreen implementation improvements
2024-09-30 20:17:10 -07:00
Tim Culverhouse
e502597e8d fix(list-keybinds): reset SGR after pretty printing
Update libvaxis which now resets SGR at the end of a pretty print.

Fixes: #2333
2024-09-30 20:16:27 -07:00
Mitchell Hashimoto
22b9f24978 macos: clarify comments, clean up notifications for fullscreen 2024-09-30 20:10:23 -07:00
Mitchell Hashimoto
639434df33 macos: exit native fullscreen if we try to enter non-native 2024-09-30 15:01:44 -07:00
Mitchell Hashimoto
93f0b9dce9 macos: only exit on screen change if the screen really changed 2024-09-30 14:48:05 -07:00
Mitchell Hashimoto
ef5b835dc4 macos: only hide dock on the screen with the dock 2024-09-30 14:25:33 -07:00
Mitchell Hashimoto
408c33e174 macos: handle non-native fullscreen changing screens 2024-09-30 14:14:01 -07:00
Mitchell Hashimoto
35462331ae macos: non-native fs sets frame async to account for style changes
Fixes #1996
2024-09-30 10:44:26 -07:00
Mitchell Hashimoto
ba9ae0c0be macos: only get fullscreen mode on AppKit 2024-09-30 10:37:33 -07:00
Mitchell Hashimoto
045ecacd8c macos: fullscreen mode can be changed at runtime 2024-09-30 10:31:11 -07:00
Mitchell Hashimoto
5f9d4f9733 macos: fullscreen=true with non-native fullscreen works
Fixes #1377
2024-09-30 10:02:50 -07:00
Mitchell Hashimoto
718fa6042c macos: new fullscreen implementation 2024-09-30 09:42:46 -07:00
Mitchell Hashimoto
bdf153281e Merge pull request #2328 from Pangoraw/mouse-down
cli: handle mouse scroll before setting window
2024-09-30 08:35:26 -07:00
Paul Berg
aa10e5160b cli: handle mouse scroll before setting window 2024-09-30 11:02:32 +02:00
Mitchell Hashimoto
332e1a1494 macos: new FullscreenMode/Style architecture for fullscreen impls 2024-09-29 21:31:58 -07:00
Mitchell Hashimoto
ea46cb19e6 macos: use a different bundle identifier for debug builds
This is necessary to avoid conflicts with application data such
as permissions and preferences.
2024-09-29 16:16:55 -07:00
Mitchell Hashimoto
f434c2cb71 Merge pull request #2327 from ghostty-org/quickterm
macOS: Quick Terminal focus improvements
2024-09-29 15:44:57 -07:00
Mitchell Hashimoto
19012cb6f5 macos: quick terminal restores focus to previous application 2024-09-29 15:33:12 -07:00
Mitchell Hashimoto
c70e0b2634 macos: use orderOut which handles all of our focus logic for us 2024-09-29 15:06:54 -07:00
Mitchell Hashimoto
c8a40a7791 macos: quick terminal close focuses next window on same screen/space
Previously, we'd find the next Ghostty window anywhere. Now we find the
one on the same screen/space to avoid moving the focus to a different screen.
2024-09-29 14:56:03 -07:00
Mitchell Hashimoto
83505bb4c0 macos: ensure quick terminal becomes key and focused after animation in 2024-09-29 10:44:16 -07:00