7731 Commits

Author SHA1 Message Date
Mitchell Hashimoto
7c5ea1c8d6 Merge pull request #2429 from ghostty-org/push-svonxsqwnumx
macos: change our minimum version to macOS 13
2024-10-09 15:19:12 -07:00
Mitchell Hashimoto
94d30eaea3 macos: retry focusing the quick terminal to handle focus on other screen
Fixes #2409

This is one of the weirder macOS quirks (bugs? who knows!) I've seen
recently. The bug as described in #2409: when you have at least two
monitors ("screens" in AppKit parlance), Ghostty on one, a focused app
on the other, and you toggle the quick terminal, the quick terminal
does not have focus.

We already knew and accounted for the fact that
`window.makeKeyAndOrderFront(nil)` does not work until the window is visible
and on the target screen. To do this, we only called this once the
animation was complete. For the same NSScreen, this works, but for
another screen, it does not.

Using one DispatchQueue.async tick also does not work. Based on testing,
it takes anywhere from 2 to 5 ticks to get the window focus API to work
properly. Okay.

The solution I came up with here is to retry the focus operation every
25ms up to 250ms. This has worked consistently for me within the first 5
ticks but it is obviously a hack so I'm not sure if this is all right.

This fixes the issue but if there's a better way to do this, I'm all
ears!
2024-10-09 15:13:54 -07:00
Mitchell Hashimoto
eec77e271c macos: change our minimum version to macOS 13
macOS 12 is officially EOL by Apple and the project only supports
officially supported versions of macOS. Once publicly released, users on
older macOS versions will have to use older released builds.
2024-10-09 14:41:57 -07:00
Mitchell Hashimoto
2f009b7262 Merge pull request #2428 from ghostty-org/push-spqssprnrpun
build: use the native target for generic macos target by default
2024-10-09 14:18:19 -07:00
Mitchell Hashimoto
640eaf3795 Merge pull request #2427 from lucymhdavies/patch-1
Include command to run a subset of tests in README
2024-10-09 14:11:14 -07:00
Mitchell Hashimoto
124ffb3ecb build: use the native target for generic macos target by default
Fixes #2426
2024-10-09 14:08:48 -07:00
Lucy Davinhart || Strawb System
1b024b117f Include command to run a subset of tests in README
For Zig veterans this may be obvious. As a Zig newbie, for me it was no, but found the answer in the Discord.
2024-10-09 21:23:05 +01:00
Qwerasd
ca59367164 harfbuzz: fix tests to account for removal of null cells 2024-10-09 16:05:09 -04:00
Qwerasd
7de7bfa20e coretext: fix tests to account for removal of null cells 2024-10-09 16:00:57 -04:00
Qwerasd
0bb176d22c renderer: cleanup, reduce nesting, more comments 2024-10-09 15:53:02 -04:00
Qwerasd
b65ccd4598 test(coretext): add test for high plane padding sprite font behavior 2024-10-09 15:28:01 -04:00
Mitchell Hashimoto
6b293fbf25 Merge pull request #2424 from ghostty-org/push-xnvwslrvoktn
core: support mouse button 6/7 for mouse reports
2024-10-09 11:30:19 -07:00
Mitchell Hashimoto
e90dec04be core: support mouse button 6/7 for mouse reports
Fixes #2423

This corresponds to horizontal scroll on macOS and likely other mice.
2024-10-09 11:24:36 -07:00
Mitchell Hashimoto
fe9afe73f0 Merge pull request #2422 from ghostty-org/push-nrnmvswvwlmz
macos: don't swallow flagsChanged events, breaks system bindings
2024-10-09 10:20:29 -07:00
Mitchell Hashimoto
a2ba7b4948 macos: don't swallow flagsChanged events, breaks system bindings
Fixes #2419
2024-10-09 10:17:39 -07:00
Mitchell Hashimoto
defb2e186d Merge pull request #2420 from ghostty-org/push-lrummrmpmxwt
core: modifier-only keys do not reset pending key sequences
2024-10-09 09:50:28 -07:00
Mitchell Hashimoto
4ffb1c8cf9 core: modifier-only keys do not reset pending key sequences
This allows nested key sequences to be used such as `ctrl+a>ctrl+b>c`.
2024-10-09 09:46:16 -07:00
Mitchell Hashimoto
b65a9ebc45 Merge pull request #2234 from jcollie/gtk-css-no-libadwaita
gtk: load css when libadwaita is not being used
2024-10-09 09:37:30 -07:00
Mitchell Hashimoto
3e55c47e8b Merge pull request #2418 from ghostty-org/apprt-key-seq
macOS: Key Sequence UI
2024-10-09 09:30:53 -07:00
Mitchell Hashimoto
8994a8c627 macos: implement key sequence UI 2024-10-08 21:58:53 -07:00
Mitchell Hashimoto
5c1ffbb642 apprt: implement key_sequence action 2024-10-08 21:55:00 -07:00
Qwerasd
5730242596 coretext: don't emit 0 codepoints for special fonts 2024-10-08 23:47:35 -04:00
Qwerasd
7686cacde6 renderer, shaper: don't use null cells, handle bg and decorations separately
Significant rework that also removes a lot of unnecessarily duplicated
work while rebuilding cells in both renderers. Fixes multiple issues
with decorations and bg colors on wide chars and ligatures, while
reducing the amount of special case handling required.
2024-10-08 23:10:43 -04:00
Mitchell Hashimoto
8d7367fa64 input: return a K/V entry for the binding set get 2024-10-08 06:29:54 -10:00
Jeffrey C. Ollie
a559ecf957 gtk: add adw or gtk class to top level windows 2024-10-08 11:17:33 -05:00
Jeffrey C. Ollie
bb109c435f gtk: fix window-theme=ghostty 2024-10-08 11:17:33 -05:00
Jeffrey C. Ollie
ab0a736089 gtk: load css when libadwaita is not being used 2024-10-08 11:17:32 -05:00
Mitchell Hashimoto
78d6cfb620 Merge pull request #2255 from pluiedev/feat/situs-inversus
DRAFT: implement splitting leftwards and upwards
2024-10-08 06:09:26 -10:00
Mitchell Hashimoto
392875381a macos: become aware of new split directions left and up 2024-10-07 15:34:47 -10:00
Leah Amelia Chen
fbc621a7d8 gtk: implement splitting leftwards and upwards 2024-10-07 18:19:27 -07:00
Mitchell Hashimoto
1b5a4433c8 Merge pull request #2414 from ghostty-org/push-yzvnksxnotwm
macos: quick terminal window blur settings take effect properly
2024-10-07 15:01:20 -10:00
Mitchell Hashimoto
163e6cccca macos: quick terminal window blur settings take effect properly
Fixes #2410
2024-10-07 14:58:47 -10:00
Mitchell Hashimoto
2b93e37e8f Merge pull request #2413 from ghostty-org/push-zzplrqptxorm
macos: remove the ability to bind fn/globe
2024-10-07 14:54:33 -10:00
Mitchell Hashimoto
ed2cd6d436 macos: remove the ability to bind fn/globe
This was recently introduced a few days ago. Unfortunately, this doesn't
work as expected. The "function" modifier is not actually the fn key
but used by macOS to represent a variety of "functional" key presses.
This breaks other bindings such as #2411.

I can't find a source on the internet that reliably tells me how we
can detect fn key presses, but I do find a number of sources that tell
us we can't.
2024-10-07 14:36:12 -10:00
Mitchell Hashimoto
3e3c666244 Merge pull request #2408 from ghostty-org/push-ykwznorkrttp
macos: send mouse cursor position events for right mouse dragged
2024-10-07 10:55:33 -10:00
Mitchell Hashimoto
fe3f8439a7 macos: send mouse cursor position events for right mouse dragged
Fixes #2407
2024-10-07 10:50:04 -10:00
Mitchell Hashimoto
c4105c3f40 Merge pull request #2406 from ghostty-org/gtk-key
gtk: handle key press events at the window level if necessary
2024-10-07 10:20:54 -10:00
Mitchell Hashimoto
1b1589e0c6 apprt/gtk: only run window key events with tab overview shown 2024-10-07 13:17:21 -07:00
Mitchell Hashimoto
9c547dd8cd apprt/gtk: forward window key events to the focused surface 2024-10-07 13:06:35 -07:00
Mitchell Hashimoto
9e435f050e apprt/gtk: setup window key event infrastructure 2024-10-07 13:01:36 -07:00
Mitchell Hashimoto
495b4c6131 Merge pull request #2405 from ghostty-org/push-pwuvkvrtvytu
gtk: only set initial window size if its the first terminal in a window
2024-10-07 06:52:28 -10:00
Mitchell Hashimoto
eab6c0d4af gtk: only set initial window size if its the first terminal in a window
Fixes #2391
2024-10-07 09:46:13 -07:00
Mitchell Hashimoto
dd0f05a537 Merge pull request #2404 from ghostty-org/push-wnotxszvqmwr
macos: global keybind event tap only handles events when app is inactive
2024-10-07 06:03:58 -10:00
Mitchell Hashimoto
9e161758bb input: function is part of the binding mods 2024-10-07 05:52:20 -10:00
Mitchell Hashimoto
715df3f263 macos: global keybind event tap only handles events when app is inactive
Fixes #2403
2024-10-07 05:46:16 -10:00
Mitchell Hashimoto
481e249958 Merge pull request #2400 from ghostty-org/mouse-exit
Detect mouse leave events, use it to reset hover states
2024-10-06 15:42:33 -10:00
Mitchell Hashimoto
c7f83fcef8 gtk: notify core of cursor leave 2024-10-06 18:23:53 -07:00
Mitchell Hashimoto
227eda1d09 macos: notify core of mouse exit 2024-10-06 15:20:17 -10:00
Mitchell Hashimoto
65c907ddab core: negative x/y for cursor position indicates mouse exited viewport 2024-10-06 15:20:17 -10:00
Mitchell Hashimoto
bca0f76a7f Merge pull request #2399 from qwerasd205/broken-undercurl
Undercurl fixes/improvements
2024-10-06 15:02:11 -10:00