2695 Commits

Author SHA1 Message Date
Mitchell Hashimoto
ef5c5d1c0b macos: add split zoom to menu 2023-09-10 09:30:42 -07:00
Mitchell Hashimoto
1d0e2c43b5 Merge pull request #423 from mitchellh/split-focus
macos: fade unfocused splits
2023-09-10 09:20:00 -07:00
Mitchell Hashimoto
de564dad94 macos: fade unfocused splits
Fixes #353
2023-09-10 09:17:46 -07:00
Mitchell Hashimoto
4be097b901 Merge pull request #422 from mitchellh/split-traversal
macos: split traversal uses direction to determine proper focus target
2023-09-10 09:04:15 -07:00
Mitchell Hashimoto
5f30223e84 macos: new window assertion is unnecessary
We handle both cases
2023-09-10 09:03:53 -07:00
Mitchell Hashimoto
303c5ca189 macos: split traversal uses direction to determine proper focus target
Fixes #415
2023-09-10 08:59:05 -07:00
Mitchell Hashimoto
946826c384 Merge pull request #421 from mitchellh/mode12
Cursor state (style, blinking, visiblity, focus) refactor, implement mode 12 support
2023-09-10 08:15:50 -07:00
Mitchell Hashimoto
afacc2ca9e renderer: cursor style unit tests 2023-09-09 20:48:56 -07:00
Mitchell Hashimoto
8d96c2beed termio/exec: changing default cursor config updates at runtime 2023-09-09 20:40:38 -07:00
Mitchell Hashimoto
160b1eeb5a termio/exec: ensure initial cursor blink mode is set to config 2023-09-09 20:40:22 -07:00
Mitchell Hashimoto
3583a0c1ca renderer/opengl: new cursor apis 2023-09-09 20:37:56 -07:00
Mitchell Hashimoto
d9cfd00e9f Big Cursor State Refactor
This makes a few major changes:

  - cursor style on terminal is single source of stylistic truth
  - cursor style is split between style and style request
  - cursor blinking is handled by the renderer thread
  - cursor style/visibility is no longer stored as persistent state on
    renderers
  - cursor style computation is extracted to be shared by all renderers
  - mode 12 "cursor_blinking" is now source of truth on whether blinking
    is enabled or not
  - CSI q and mode 12 are synced like xterm
2023-09-09 20:19:37 -07:00
Mitchell Hashimoto
7fd8dde933 Merge pull request #420 from mitchellh/macos-prev-next-tab
macos: add prev/next tab custom binding support
2023-09-09 13:02:53 -07:00
Mitchell Hashimoto
f31bde48fc macos: add prev/next tab custom binding support 2023-09-09 13:00:23 -07:00
Mitchell Hashimoto
ce18b63f93 Merge pull request #419 from mitchellh/macos-flags
macos: kitty key events for modifier-only keys
2023-09-09 09:23:05 -07:00
Mitchell Hashimoto
e5cba11ad0 macos: key events for modifier-only keys 2023-09-09 09:22:15 -07:00
Mitchell Hashimoto
2e6e6c27f5 Merge pull request #418 from mitchellh/mrn/nix-add-zls
nix: add latest version of `zls` to flake.nix
2023-09-09 08:15:01 -07:00
Mitchell Hashimoto
09ac49aa11 Merge pull request #416 from mitchellh/mrn/gtk-new-window-action
gtk: add new-window action to .desktop files
2023-09-09 08:14:08 -07:00
Thorsten Ball
d86de34cf1 nix: add latest version of zls to flake.nix
I know not everybody uses ZLS (or LSPs in general) but I think it's very
useful and it's very handy to have it in the `flake.nix` to keep it up
to date with the `zig` version.

As with a lot of my PRs in this project, please consider the following a
disclaimer: I have 0 clue what I'm doing here and if there's a better
way to do what I'm trying to do, let me know!
2023-09-09 15:18:05 +02:00
Thorsten Ball
d275256e32 gtk: add new-window action to .desktop files
Inspired by #413.

This modifies the .desktop files so that it's possible to right-click on
the Ghostty icon in a dock and get the "New window" action.

Apparently this is how you implement that in GTK applications. In order
for us to also get "New tab", we'd have to implement a CLI flag, I
think.
2023-09-09 07:04:22 +02:00
Mitchell Hashimoto
1ebcec89fb Merge pull request #413 from mitchellh/macos-dock-menu
macos: dock menu
2023-09-08 11:40:01 -07:00
Mitchell Hashimoto
8619351df7 macos: dock menu 2023-09-08 11:37:56 -07:00
Mitchell Hashimoto
0ec3e299a0 Merge pull request #411 from mitchellh/macos-dock-click
macos: handle reopen event and open a window if none are visible
2023-09-07 14:51:21 -07:00
Mitchell Hashimoto
1d8ee005c6 macos: handle reopen event and open a window if none are visible
Fixes #410
2023-09-07 14:47:50 -07:00
Mitchell Hashimoto
2c7d4321cd Merge pull request #409 from mitchellh/cursor-focus-box
renderer: always show cursor if window is not focused
2023-09-06 11:34:26 -07:00
Mitchell Hashimoto
d1830c6ac2 Merge pull request #405 from mitchellh/goonz/fullscren-split-focus-fix
macos: fix split focus when toggling fullscreen
2023-09-06 11:26:02 -07:00
Mitchell Hashimoto
a6c40d0417 renderer: always show cursor if window is not focused
Fixes #400

This ensures the hollow box is shown even if the cursor is not in a
blinking state when unfocus happens. We still hide the cursor even on
unfocus if the terminal mode explictly asks for a hidden cursor.
2023-09-06 11:23:42 -07:00
Mitchell Hashimoto
342df1e994 Merge pull request #407 from mitchellh/dependabot/github_actions/cachix/install-nix-action-23
build(deps): bump cachix/install-nix-action from 22 to 23
2023-09-06 10:21:06 -07:00
Mitchell Hashimoto
e2f7d01b9d Merge pull request #406 from mitchellh/dependabot/github_actions/actions/checkout-4
build(deps): bump actions/checkout from 3 to 4
2023-09-06 10:20:44 -07:00
Mitchell Hashimoto
a9750ad04a Merge pull request #408 from mitchellh/mrn/gtk-single-instance-flag
gtk: add gtk-single-instance setting to allow disabling of it
2023-09-06 10:19:30 -07:00
Thorsten Ball
cac5b00d94 gtk: add gtk-single-instance setting to allow disabling of it
This is based on our conversation on Discord and adds a setting for GTK
that allows disabling the GTK single-instance mode.

If this is off, it's possible to start multiple applications from the
same release binary.

Tested like this:

```
$ zig build -Dapp-runtime=gtk -Doptimize=ReleaseFast && ./zig-out/bin/ghostty --gtk-single-instance=false

[... starts new application ...]
```

and

```
$ zig build -Dapp-runtime=gtk -Doptimize=ReleaseFast && ./zig-out/bin/ghostty --gtk-single-instance=true
info: ghostty version=0.1.0-main+42a22893
info: runtime=apprt.Runtime.gtk
info: font_backend=font.main.Backend.fontconfig_freetype
info: dependency harfbuzz=8.0.0
info: dependency fontconfig=21400
info: renderer=renderer.OpenGL
info: libxev backend=main.Backend.io_uring
info(os): LANG is not valid according to libc, will use en_US.UTF-8
info: reading configuration file path=/home/mrnugget/.config/ghostty/config
info(config): default shell source=env value=/usr/bin/zsh

(process:49045): GLib-GIO-WARNING **: 13:55:56.116: Your application did not unregister from D-Bus before destruction. Consider using g_application_run().

[exits]
```
2023-09-05 13:59:07 +02:00
dependabot[bot]
af36a49148 build(deps): bump cachix/install-nix-action from 22 to 23
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 22 to 23.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v22...v23)

---
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>
2023-09-05 00:35:08 +00:00
dependabot[bot]
025fffbcfd build(deps): bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-05 00:35:05 +00:00
Will Pragnell
7d9598fe6e macos: fix split focus when toggling fullscreen 2023-09-03 22:55:22 -07:00
Mitchell Hashimoto
42a228938f Merge pull request #403 from mitchellh/prompt-continuation
Semantic prompt resize should only clear most recent prompt
2023-09-03 14:07:28 -07:00
Mitchell Hashimoto
f8335c10d8 terminal: disable noisy logs 2023-09-03 14:02:55 -07:00
Mitchell Hashimoto
cdf81b610d terminal: mark prompt continuation lines, end prompt clear at first
prompt
2023-09-03 14:00:56 -07:00
Mitchell Hashimoto
de3d0b4243 terminal: parse semantic prompt "k" (kind) parameter 2023-09-03 13:47:06 -07:00
Mitchell Hashimoto
fe540011d7 Merge pull request #398 from mitchellh/mrn/gtk-readme-notice
README: add notice about gtk single instance application
2023-09-03 12:47:10 -07:00
Thorsten Ball
604a2c1353 README: add notice about gtk single instance application
Just as discussed on Discord: this adds a note to the README that can
potentially save minutes _and_ hairs.
2023-09-03 21:45:22 +02:00
Mitchell Hashimoto
2c5271ca82 Merge pull request #397 from mitchellh/mrn/gtk-window-decoration
gtk: allow hiding window decoration in configuration
2023-09-03 12:41:14 -07:00
Thorsten Ball
a1a48eb3f0 gtk: allow hiding window decoration in configuration
This is part of #319 by fixing it for GTK and introducing the
configuration option.

This adds `window-decoration = false` as a possible configuration
option. If set to `false`, then no window decorations are used.
2023-09-03 21:27:21 +02:00
Mitchell Hashimoto
5221a2f7f1 Merge pull request #395 from mitchellh/update-zig
update zig
2023-09-03 08:30:52 -07:00
Mitchell Hashimoto
375a4569f7 update zig 2023-09-03 08:21:21 -07:00
Mitchell Hashimoto
fc81802590 Merge pull request #394 from mitchellh/libxev
update vendor/libxev to retry on EINTR for io_uring
2023-09-03 08:14:43 -07:00
Mitchell Hashimoto
5bace502e4 update vendor/libxev to retry on EINTR for io_uring
Fixes #290

Previously, our io_uring loops were exiting on EINTR. EINTR is sent for
various reasons but particularly when a process is stopped such as for
sleeping. We should not exit these loops.

Longer term we should be more resilient to detecting that our renderer
and/or IO thread as died and behave in some better way but this
addresses a major issue in the mean time.
2023-09-03 08:10:13 -07:00
Mitchell Hashimoto
d3047c2245 Merge pull request #393 from mitchellh/refactor-cursor-style
config: clean up cursor style configuration
2023-09-03 07:53:11 -07:00
SoraTenshi
6faed268e0 config: clean up cursor style configuration 2023-09-03 07:51:36 -07:00
Mitchell Hashimoto
26f589e3e0 Merge pull request #391 from mitchellh/zoom-split
Zoom/Unzoom Split
2023-09-02 16:55:49 -07:00
Mitchell Hashimoto
e657a0f671 macos: close and refocus split work while zoomed 2023-09-02 16:47:48 -07:00