295 Commits

Author SHA1 Message Date
Mitchell Hashimoto
c5d2f352d3 Merge pull request #2045 from nihaals/font-family-all
Document not every font-family needs to be set
2024-08-05 10:28:52 -07:00
Mitchell Hashimoto
978110ec24 config: update docs 2024-08-05 10:28:38 -07:00
Nihaal Sangha
538f6033ea Document not every font-family needs to be set 2024-08-05 17:26:33 +01:00
Łukasz Niemier
f9be02a20f chore: clean up typos 2024-08-05 13:56:57 +02:00
Mitchell Hashimoto
5f0371c189 change window padding color to background by default
While we work out the bugs…
2024-08-03 22:27:19 -07:00
Mitchell Hashimoto
f09a45704a config: typo in window-padding-color docs 2024-08-03 22:04:35 -07:00
Mitchell Hashimoto
ea551990eb renderer: disable window-padding-color=extend in certain scenarios
There are scenarios where this configuration looks bad. This commit
introduces some heuristics to prevent it. Here are the heuristics:

  * Extension is always enabled on alt screen.
  * Extension is disabled if a row contains any default bg color. The
    thinking is that in this scenario, using the default bg color looks
    just fine.
  * Extension is disabled if a row is marked as a prompt (using semantic
    prompt sequences). The thinking here is that prompts often contain
    perfect fit glyphs such as Powerline glyphs and those look bad when
    extended.

This introduces some CPU cost to the extension feature but it should be
minimal and respects dirty tracking. This is unfortunate but the feature
makes many terminal scenarios look much better and the performance cost
is minimal so I believe it is worth it.

Further heuristics are likely warranted but this should be a good
starting set.
2024-08-03 21:56:19 -07:00
Mitchell Hashimoto
55e8c421b5 config: add window-padding-color 2024-08-03 16:14:14 -07:00
Mitchell Hashimoto
288a1fe549 Merge pull request #2021 from jcollie/background
gtk: allow running in the background
2024-08-03 10:08:45 -07:00
Mitchell Hashimoto
c5e2889369 config: clarify comment 2024-08-03 09:50:39 -07:00
Mitchell Hashimoto
e62bdbf8b7 config: duration prevents overflow, added tests 2024-08-03 09:48:40 -07:00
Jeffrey C. Ollie
b87667c950 document behavior when no initial window is created and a quit delay is set 2024-08-02 16:17:10 -05:00
Jeffrey C. Ollie
0e533af21a add a warning if quit delay too short 2024-08-02 15:43:40 -05:00
Jeffrey C. Ollie
d243ad6616 add a standard zig formatter to Duration and more testing 2024-08-02 15:43:37 -05:00
Jeffrey C. Ollie
cf515c80d0 fix off-by-one error 2024-08-02 15:43:31 -05:00
Jeffrey C. Ollie
3aa1989620 make Duration units a struct field to reduce duplication and enable table-driven unit tests 2024-08-02 10:47:47 -05:00
Jeffrey C. Ollie
3d6ca14dc6 make quit-after-last-window-closed-delay an optional 2024-08-01 10:51:08 -05:00
Jeffrey C. Ollie
143e503d43 gtk: allow running in the background
This patch fixes #2010 by implementing `quit-after-last-window-closed`
for the GTK apprt. It also adds the ability for the GTK apprt to exit
after a delay once all surfaces have been closed and adds the ability to
start Ghostty without opening an initial window.
2024-08-01 01:25:17 -05:00
Mitchell Hashimoto
8ceff43a31 config: introduce config-default-files to skip loading default files
This is a CLI-only config. This is the first such config. I am only
pointing this out since it is a new pattern for Ghostty.

By specifying `--config-default-files=false`, Ghostty will discard any
configuration set in the default files it loads. This makes running
Ghostty from the CLI easier if you want to "reset" the configuration to
the "factory defaults."
2024-07-31 21:01:33 -07:00
Mitchell Hashimoto
62cc279fc0 Merge pull request #1989 from gpanders/cursor-invert-fg-bg
config: add cursor-invert-fg-bg option
2024-07-31 19:39:27 -07:00
Justin Su
898bffb6e5 Update docs for window-padding-x/y 2024-07-26 16:23:03 -04:00
Gregory Anders
3e4a8644b5 renderer/opengl: implement cursor-invert-fg-bg 2024-07-22 16:23:06 -05:00
Mitchell Hashimoto
6f658704ad Merge pull request #1958 from remi-gelinas/remi-gelinas/config-validation-cli-action
feat: add validate-config action
2024-07-22 09:49:49 -07:00
Mitchell Hashimoto
52ce196068 config: clarify reload font-size behavior
Fixes #1988
2024-07-22 09:43:40 -07:00
Gregory Anders
b09e4e5d63 config: add cursor-invert-fg-bg option
When set, the cursor-invert-fg-bg option uses the inverted foreground
and background colors of the cursor's current cell to color the cursor,
rather than using a fixed color. This option has higher precedence than
the cursor-color and cursor-text options, but has lower precedence than
an OSC 12 command to change the cursor color.
2024-07-22 08:42:30 -05:00
multifred
72c672adb7 Fix multiple deprecated names for zig lib/std 2024-07-22 00:07:17 +02:00
Remi Gelinas
4f182c5578 docs: specify path must be absolute 2024-07-21 11:36:43 -04:00
Remi Gelinas
c6cf13ac89 feat: add absolute path assertion 2024-07-21 10:19:46 -04:00
karei
6fde429728 core: support opening scrollback file in default text editor 2024-07-19 19:56:00 -07:00
Mitchell Hashimoto
72c0f9dd32 adjust selection 2024-07-19 14:20:28 -07:00
Mitchell Hashimoto
72d8af5d0b rename to expand_selection 2024-07-19 14:19:21 -07:00
Cameron Dart
cdeeeb9f88 feat: keybinds for text selection on copy mode 2024-07-19 14:08:52 -07:00
Remi Gelinas
699fce0ee5 docs: add docstrings 2024-07-18 11:03:23 -04:00
Remi Gelinas
368868f712 fix: handle relative paths in CLI 2024-07-17 16:51:16 -04:00
Remi Gelinas
3350e3c848 refactor: move config file loading into loadFile 2024-07-17 15:02:03 -04:00
Mitchell Hashimoto
6ac13034fe config: font-family CLI flags will clear font families set in files
This is a quality of life UX change. font-family is a repeatable
configuration where each subsequent value will be added as a fallback
font.

This introduces a UX gotcha where if a font was set in a config file,
the CLI args (which are loaded later) would _append_ to the font
families. This has never once been the behavior I've wanted. Previously,
you'd have to do `--font-family=""` which is clunky.

This change makes it so that CLI font-family flags will automatically
clear the families set in the configuration file.
2024-07-17 11:59:15 -07:00
Mitchell Hashimoto
306e9f8bb6 config: -e CLI flag automatically implies gtk-single-instance=false
`gtk-single-instance` should already be doing desktop-only detection and
in most cases it does. But there are some cases where it isn't and we
haven't quite tracked it down yet.

In any case, when `-e` is used from the CLI, we definitely do not want
to launch in single instance mode because `-e` is typically used in
scripts or for one-off instances. This forces gtk-single-instance to
false.
2024-07-17 11:17:15 -07:00
Mitchell Hashimoto
2d7baaa7d7 apprt/gtk: toggle_window_decorations keybinding
Fixes #1943
2024-07-15 21:23:52 -07:00
Tim Culverhouse
6c40cd963d gtk: implement unfocused-split opacity and fill
For a long time, us GTK users have been subject to lesser UX by not
knowing which split was focused. Improve the GTK UX by implementing both
unfocused-split-opacity and unfocused-split-fill. This is implemented by
setting the background-color of the notebook stack, and conditionally
applying a new css class "unfocused-split" to the unfocused split.
2024-07-10 12:56:09 -05:00
Mitchell Hashimoto
0acdea646b Merge pull request #1923 from antonk52/docs/window-decoration
docs: warn about `window-decoration` disables tabs functionality
2024-07-09 08:34:34 -07:00
Jon Parise
91b56e2494 config: document true/false for shell-integration-features 2024-07-09 10:52:20 -04:00
Anton Kastritskii
d97910a4e8 docs: fix typo 2024-07-09 10:51:51 +01:00
Okan Esen
9eacf6c27d document unfocused split option only working on macOS 2024-07-06 22:48:53 +02:00
Anton Kastritskii
3f85ad6892 docs: specify that window-decoration disables tabs on macos only 2024-07-06 13:42:24 +01:00
Anton Kastritskii
0d6023f059 docs: warn about window-decoration disables tabs functionality 2024-07-05 23:46:27 +01:00
Mitchell Hashimoto
d946809d6d config: note blank valid value 2024-07-01 09:34:07 -07:00
Anton Kastritskii
af18adb192 docs: add valid values for enum config options
fixes #1899
2024-07-01 15:02:22 +01:00
Codey Oxley
73d3761f65 docs: Convert 'unfocused-split-fill' comments into doc block 2024-06-29 21:27:23 -04:00
Justin Su
4de204659d fix a typo in Config.zig 2024-06-25 19:58:21 -04:00
Mitchell Hashimoto
37eb4082fe config: reorder increase font size so it works on macOS menu
Fixes #1826
2024-06-25 10:10:52 -07:00