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
Lucy Davinhart
a109b8d755
Implements initial-window=false for macOS
...
Closes https://github.com/ghostty-org/ghostty/issues/2361
2024-10-03 19:09:37 +01:00
theprimeagen
f0591b4afb
fix: scrolling with fraction produces different lines count due to @floor vs @trunc (-1 vs 1)
2024-10-03 11:19:41 -06:00
Mitchell Hashimoto
e78a56a033
Merge pull request #2371 from jparise/vim-github-url
...
config: update project URL
2024-10-03 07:49:37 -07:00
Jon Parise
865f8bd456
config: update project URL
2024-10-03 10:07:25 -04:00
Mitchell Hashimoto
29a63ac303
fix xtshiftescape docs
2024-10-02 20:40:29 -07:00
Mitchell Hashimoto
0705e8dbb5
Merge pull request #2368 from ghostty-org/dependabot/github_actions/namespacelabs/nscloud-cache-action-1.2.0
...
build(deps): bump namespacelabs/nscloud-cache-action from 1.1.8 to 1.2.0
2024-10-02 17:36:48 -07:00
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