8195 Commits

Author SHA1 Message Date
Tim Culverhouse
e0755b0a74 deps: update libvaxis to v0.5.1
Update libvaxis to v0.5.1, which contains the new URL for the zg
dependency. The previous URL is now defunct, as zg has been transfered
to Sam Atman.
2024-11-12 09:43:30 -06:00
Mitchell Hashimoto
2661792cf7 Merge pull request #2647 from ghostty-org/push-vsytqoyrvsvv
build.zig: add -Dpie option for position independent executables
2024-11-11 19:28:05 -08:00
Mitchell Hashimoto
dfe33dc9bb build.zig: add -Dpie option for position independent executables
This is required by some packaging ecosytems.
2024-11-11 19:24:02 -08:00
Mitchell Hashimoto
70b984ebaf Merge pull request #2646 from ghostty-org/push-xnylkvxuuroq
macos: allow additional modifiers through for ctrl+enter
2024-11-11 10:50:56 -08:00
Mitchell Hashimoto
f6ea15dd21 macos: allow additional modifiers through for ctrl+enter
The bug: ctrl+shift+enter on macOS 15 shows a context menu and doesn't
encode to the terminal.

This avoids a system-wide keybind that shows a context menu in macOS
15+. In general Ghostty doesn't try to override system-wide keybinds
but this one is particularly annoying and not useful to terminal users.

We've discussed making this logic configurable for all system level
keybinds but for now this is a quick fix specifically for
ctrl+shift+enter.
2024-11-11 10:13:31 -08:00
Mitchell Hashimoto
72659d48ac Merge pull request #2637 from jcollie/core-list-valid-enums
core: list valid options if an invalid value is detected parsing an enum
2024-11-09 11:57:10 -08:00
Mitchell Hashimoto
8b2980284d Merge pull request #2636 from jcollie/unifi-adwaita
core/gtk: unify libadwaita/adwaita options in the code
2024-11-09 11:56:58 -08:00
Mitchell Hashimoto
b76dc9e68b Merge pull request #2626 from nfejzic/freetype-load-flags
feat: implement configurable freetype load flags
2024-11-09 11:31:26 -08:00
Mitchell Hashimoto
3ee6577154 some tweaks 2024-11-09 11:03:02 -08:00
Jeffrey C. Ollie
3eef6d205e core: address review comments
- break formatting values out into a function so that we can
  catch errors and never fail
- eliminate the use of toOwnedSentinelSlice since we are using
  an arena to clean up memory
2024-11-09 12:49:40 -06:00
Jeffrey C. Ollie
783852ff48 ci: fix adwaita build 2024-11-09 12:24:25 -06:00
Mitchell Hashimoto
799877a436 Merge pull request #2608 from Pangoraw/toggle_split_zoom
gtk: implement toggle_split_zoom
2024-11-09 09:59:29 -08:00
Mitchell Hashimoto
ca2bf04daa Merge pull request #2639 from eljobe/fix/list-themes
Fix copying the theme name
2024-11-09 09:39:35 -08:00
Nadir Fejzic
4def80ce16 refactor: use if expression instead of switch 2024-11-09 13:09:15 +01:00
Nadir Fejzic
67966cb091 refactor: add default value for `freetype_load_flags' 2024-11-09 13:06:36 +01:00
Nadir Fejzic
69aa579ee3 fix: use ternary if expression and correct types 2024-11-09 12:51:28 +01:00
Nadir Fejzic
4c08688275 refactor: remove unused imports 2024-11-09 12:50:51 +01:00
Nadir Fejzic
08720a6d23 chore: fix typo 2024-11-09 12:49:53 +01:00
Nadir Fejzic
0e0751ad5b docs: write documentation for freetype_load_flags field 2024-11-09 12:34:45 +01:00
Nadir Fejzic
83c4d0077b refactor: define FreetypeLoadFlags struct and default in font.face 2024-11-09 12:34:39 +01:00
Pepper Lebeck-Jobe
3c493f2d0d Fix copying the theme name
Prior to this change both C and c would copy the path to the theme even though
the help screen claimed that c would copy the theme name.

There is a bug in libvaxis that results in both of these matches matching c:
  `key.matches('c', .{})`
	`key.matches('c', .{ .shift = true })`

Tested:
  Before the change: 'c' copies path and 'C' copies path
  After the change: 'c' copies the name and 'C' copies the path
2024-11-09 10:10:29 +01:00
Jeffrey C. Ollie
ca844ca3c0 core: list valid options if an invalid value is detected parsing an enum 2024-11-08 22:32:14 -06:00
Jeffrey C. Ollie
b353ddf46d core/gtk: unify libadwaita/adwaita options in the code
Fixes #2574
2024-11-08 22:19:04 -06:00
Nadir Fejzic
e7f286d83f docs: describe load_flags field in Face struct 2024-11-09 01:40:39 +01:00
Nadir Fejzic
c0b24ee60d refactor: make freetype flags void for non-freetype backend
This is an attempt to use `void` as type for Freetype Load Flags when
backend does not use these flags.
2024-11-09 01:39:10 +01:00
Nadir Fejzic
290857a871 chore: remove unused import 2024-11-09 00:44:19 +01:00
Nadir Fejzic
945a715b08 refactor: handle freetype load flags in face instead of renderer 2024-11-09 00:42:18 +01:00
Nadir Fejzic
74bda5a6eb feat: implement configurable freetype load flags 2024-11-08 20:38:38 +01:00
Mitchell Hashimoto
75fe0b2dfb Merge pull request #2617 from ghostty-org/pagelist-wip
chore: rename fields in PageList, move data structures to package, move PageList to intrusive linked list
2024-11-07 15:49:08 -08:00
Mitchell Hashimoto
20961e31e2 Merge pull request #2616 from reykjalin/fix-hostname-validation-for-sub-10-ports
Fix hostname as mac address handling when last section starts with '0'
2024-11-07 15:31:28 -08:00
Kristófer R
84707932d2 os/hostname: fix mac address handling when last section starts with '0'
I hit an edge case when using Private Wi-Fi addressing on macOS where
the last section of the randomized mac address starts with a '0'. The
hostname parsing for the shell integration didn't handle this case, so
issue #2512 reappeared.

This fixes that by explicitly handling port numbers < 10.
2024-11-07 18:17:51 -05:00
Mitchell Hashimoto
1335af3e4a terminal: change pagelist linked list to an intrusive linked list 2024-11-07 15:12:54 -08:00
Mitchell Hashimoto
3aff43b2e8 datastruct: add intrusive doubly linked list 2024-11-07 14:57:55 -08:00
Mitchell Hashimoto
a436bd0af6 move datastructures to dedicated "datastruct" package 2024-11-07 14:39:10 -08:00
Mitchell Hashimoto
aed51fd0b0 terminal: PageList rename "page" to "node" everywhere
This is more correct: a pagelist is a linked list of nodes, not pages.
The nodes themselves contain pages but we were previously calling the
nodes "pages" which was confusing, especially as I plan some future
changes to the way pages are stored.
2024-11-07 13:44:39 -08:00
Mitchell Hashimoto
7517d0a86b Merge pull request #2613 from qwerasd205/git-drawing-chars
feat(font/sprite): branch drawing characters
2024-11-07 09:56:31 -08:00
Mitchell Hashimoto
712bcfe680 Merge pull request #2612 from phillip-hirsch/feature/Add-bat-syntax-highlighting-to-macOS-package-contents
Feature: Add bat syntax highlighting to macOS app's package contents
2024-11-07 08:52:58 -08:00
phillip-hirsch
a420496e95 feat: Add bat syntax highlighting to macOS package contents 2024-11-06 19:12:58 -05:00
Qwerasd
4dbf404dc3 font/sprite: cleanup branch drawing character impl, implement fade-out lines 2024-11-06 18:44:12 -05:00
Meili C
0441987346 font feature: add git branch characters
addresses #2561 - adds support for most Git branch drawing characters as
specified in ![kitty/7681](https://github.com/kovidgoyal/kitty/pull/7681)
except for fading vertical and horizontal lines.

Adds git_draw_node function and a new Git node type.
Add this range (0xf5d0...0xf60d) for Git branch characters, to tests.
adds vline_middle_xy and hline_middle_xy for node connections.
add git characters to Face.zig.
2024-11-06 18:26:23 -05:00
Mitchell Hashimoto
444cf3b402 Merge pull request #2611 from phillip-hirsch/feature/Add-syntax-highlighting-for-viewing-config-file-with-bat
Feature: Add syntax highlighting for viewing config file with bat
2024-11-06 14:22:21 -08:00
phillip-hirsch
b5ed4cb680 feat: Add syntax highlighting for bat 2024-11-06 17:06:24 -05:00
Mitchell Hashimoto
f5c84dfdf3 Merge pull request #2609 from ghostty-org/push-uuprylpzkqsn
coretext: variable font fixes
2024-11-06 13:01:02 -08:00
Mitchell Hashimoto
94542b04f2 font/coretext: do not set variation axes in discovery
This was causing discovery to find some odd fonts under certain
scenarios (namely: Recursive Mono). Due to our prior fix in
e08eeb2b2ad810c4db22530a181858caee834b22 we no longer need to set
variations here for them to stick.
2024-11-06 12:57:06 -08:00
Mitchell Hashimoto
964f2ce96a font/coretext: always score based on style string length
This fixes an issue where for the regular style we were picking a
suboptimal style because for some font faces we were choosing more bold
faces (just as chance). This modifies our scoring to take the style
length into account even for regular style. We already had this logic
for explicit styles.
2024-11-06 12:55:03 -08:00
Mitchell Hashimoto
9a74960900 Merge pull request #2598 from NicoElbers/main
docs: fix the nixos install instructions
2024-11-06 11:47:34 -08:00
Paul Berg
1e003b2e0f gtk: implement toggle_split_zoom 2024-11-06 09:59:10 +01:00
Mitchell Hashimoto
ab97645df1 Merge pull request #2606 from ghostty-org/push-ovrqrlvyrkoo
config: add "initial-command" config, "-e" sets that
2024-11-05 17:20:17 -08:00
Mitchell Hashimoto
65f1cefb4e config: add "initial-command" config, "-e" sets that
Fixes #2601

It is more expected behavior that `-e` affects only the first window. By
introducing a dedicated configuration we avoid making `-e` too magical:
its simply syntax sugar for setting the "initial-command" configuration.
2024-11-05 16:58:20 -08:00
Mitchell Hashimoto
98c4c453ee update iterm2 themes 2024-11-05 16:32:30 -08:00