7651 Commits

Author SHA1 Message Date
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
Mitchell Hashimoto
c49b896f22 Merge pull request #2398 from ghostty-org/app-focus
Make core app-focus aware, used to determine global keybind behavior
2024-10-06 10:47:46 -10:00
Mitchell Hashimoto
494fedca2f apprt/gtk: report proper app focus state 2024-10-06 13:31:03 -07:00
Mitchell Hashimoto
e56cfbdc8b macos: set the proper app focus state 2024-10-06 10:06:17 -10:00
Mitchell Hashimoto
8dc4ebb4f7 apprt/embedded: add ghostty_app_set_focus 2024-10-06 09:58:46 -10:00
Mitchell Hashimoto
bac1780c3c core: add app focused state, make App.keyEvent focus aware 2024-10-06 09:58:46 -10:00
Mitchell Hashimoto
2e0a514384 Merge pull request #2395 from ghostty-org/mods
Hyperlink state improvements (no mouse move, blurred splits/windows on macOS)
2024-10-06 09:40:49 -10:00
Mitchell Hashimoto
6785f886ad core: ghostty_app_key only handles global keybinds for now
This introduces a separate bug fixes #2396
2024-10-06 09:32:30 -10:00
Mitchell Hashimoto
50b52da638 Merge pull request #2389 from ghostty-org/fn-globe
macOS: Allow binding the function/globe modifier
2024-10-06 06:07:32 -10:00
Qwerasd
06a37f32be font/sprite: use offset curve approximation for undercurl 2024-10-06 01:43:11 -04:00
Qwerasd
c454ef627b fix(font/sprite): avoid underflow
There's a degenerate case where height < line_pos
2024-10-05 22:12:59 -04:00
Qwerasd
fd49fb7338 font/sprite: improve double underline legibility with min 2px gap
At small thicknesses, the legibility of the double underline is not
great when it's a 1px line, a 1px gap, and another 1px line.
2024-10-05 22:08:17 -04:00
Qwerasd
156f735f8d font/sprite: fix undercurl rendering
- Limit max amplitude relative to cell width to avoid being too wavy
- Fix application of xiaolin-wu's for anti-aliasing too always be at
least 1px thick.
- Fix height calculation to avoid clipping bottom of wave at small
sizes.
2024-10-05 22:01:43 -04:00
Mitchell Hashimoto
520c21d665 core: refresh hyperlink state without hacky cursorPosCallback
This fixes a longstanding piece of tech debt which caused all sorts of
bugs. Instead of trying to jam cursorPosCallback into a modsChanged
event we bring out the link refreshing into a dedicated method that is
shared.
2024-10-05 15:31:36 -10:00
Mitchell Hashimoto
e3dd0edc4f macos: use local event listener to propagate modifier changes to all
Related to #1547

Concretely, if you are highlighting a link and then release the
modifier, the other surfaces will be notified of this change.
2024-10-05 10:33:15 -10:00
Mitchell Hashimoto
e9f1fe327f cli/list-keybinds: output function modifier 2024-10-05 10:13:39 -10:00
Mitchell Hashimoto
b9fa6b1b83 config: more caveats for fn 2024-10-05 10:11:25 -10:00
Mitchell Hashimoto
f9e6d6efa6 macos: forward key events to the app when no windows exist 2024-10-05 10:05:06 -10:00
Mitchell Hashimoto
6fdfa9d491 Make the function/globe key available as a modifier on macOS 2024-10-05 09:39:55 -10:00
Mitchell Hashimoto
a36bdd97de Merge pull request #2387 from ghostty-org/push-pkurnzzzyxyx
Bind ctrl+tab and ctrl+shift+tab by default
2024-10-05 06:37:17 -10:00
Mitchell Hashimoto
a278022e5d Bind ctrl+tab and ctrl+shift+tab by default
This matches default behaviors on native apps for macOS and GTK so we
should always bind it.
2024-10-05 09:34:46 -07:00
Mitchell Hashimoto
23f81f8084 Merge pull request #2386 from ghostty-org/push-ryyxywkwxypz
macos: non-native fs keeps track of screen number for change screen comp
2024-10-05 06:29:44 -10:00
Mitchell Hashimoto
1ae9322959 macos: non-native fs keeps track of screen number for change screen comp
Fixes #2370

Comparing NSScreens directly was fragile. It appears that AppKit/Cocoa
can return different instances of NSScreen for the same screen for
unknown reasons between calls to windowDidChangeScreen. I don't fully
understand why this happens.

In any case, our comparison was not safe. Instad, we now keep track of
of the CGDirectDisplayID for each screen and compare those instead.
2024-10-05 06:21:30 -10:00
Mitchell Hashimoto
9971d7a93d macos: toggle_visibility needs to sync to the correct menu item 2024-10-05 06:05:13 -10:00
Mitchell Hashimoto
0dbf9796ef Merge pull request #2383 from ghostty-org/push-xosyoktxxmoq
renderer: fg/bg/cursor change must mark the screen as dirty
2024-10-04 10:02:24 -07:00
Mitchell Hashimoto
89fadfc202 renderer: fg/bg/cursor change must mark the screen as dirty
Fixes #2372
2024-10-04 06:58:50 -10:00
Mitchell Hashimoto
c973ca6e03 macos: move show/hide all terminal windows
I don't think "View" was the right place.

Also, the menu was incorrectly bound to the quick terminal variable.
2024-10-04 06:35:20 -10:00
Mitchell Hashimoto
136dd8d0f9 Merge pull request #2376 from lucymhdavies/macos-initial-window-false
Implements initial-window=false for macOS
2024-10-04 08:47:49 -07:00
Mitchell Hashimoto
251a90c007 Merge pull request #2375 from ThePrimeagen/main
scroll_with_fractional would scroll by different line count depending on direction
2024-10-04 08:47:05 -07:00
Mitchell Hashimoto
694ca32edd Merge pull request #2379 from ghostty-org/dependabot/github_actions/cachix/install-nix-action-30
build(deps): bump cachix/install-nix-action from 29 to 30
2024-10-03 17:45:54 -07:00
dependabot[bot]
1cee9cc698 build(deps): bump cachix/install-nix-action from 29 to 30
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 29 to 30.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v29...v30)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-04 00:16:50 +00:00