mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-10-08 10:56:34 +00:00
Merge branch 'ghostty-org:main' into adjust-line
This commit is contained in:
@@ -118,7 +118,8 @@ class TerminalController: NSWindowController, NSWindowDelegate,
|
||||
|
||||
/// Update the accessory view of each tab according to the keyboard
|
||||
/// shortcut that activates it (if any). This is called when the key window
|
||||
/// changes and when a window is closed.
|
||||
/// changes, when a window is closed, and when tabs are reordered
|
||||
/// with the mouse.
|
||||
func relabelTabs() {
|
||||
// Reset this to false. It'll be set back to true later.
|
||||
tabListenForFrame = false
|
||||
@@ -129,11 +130,19 @@ class TerminalController: NSWindowController, NSWindowDelegate,
|
||||
// otherwise the accessory view doesn't matter.
|
||||
tabListenForFrame = windows.count > 1
|
||||
|
||||
for (index, window) in windows.enumerated().prefix(9) {
|
||||
let action = "goto_tab:\(index + 1)"
|
||||
for (tab, window) in zip(1..., windows) {
|
||||
// We need to clear any windows beyond this because they have had
|
||||
// a keyEquivalent set previously.
|
||||
guard tab <= 9 else {
|
||||
window.keyEquivalent = ""
|
||||
continue
|
||||
}
|
||||
|
||||
let action = "goto_tab:\(tab)"
|
||||
if let equiv = ghostty.config.keyEquivalent(for: action) {
|
||||
window.keyEquivalent = "\(equiv)"
|
||||
} else {
|
||||
window.keyEquivalent = ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -23,6 +23,13 @@ pub const Slant = enum(c_uint) {
|
||||
oblique = c.FC_SLANT_OBLIQUE,
|
||||
};
|
||||
|
||||
pub const Spacing = enum(c_uint) {
|
||||
proportional = c.FC_PROPORTIONAL,
|
||||
dual = c.FC_DUAL,
|
||||
mono = c.FC_MONO,
|
||||
charcell = c.FC_CHARCELL,
|
||||
};
|
||||
|
||||
pub const Property = enum {
|
||||
family,
|
||||
style,
|
||||
|
@@ -139,6 +139,15 @@ pub const Descriptor = struct {
|
||||
false,
|
||||
));
|
||||
|
||||
// For fontconfig, we always add monospace in the pattern. Since
|
||||
// fontconfig sorts by closeness to the pattern, this doesn't fully
|
||||
// exclude non-monospace but helps prefer it.
|
||||
assert(pat.add(
|
||||
.spacing,
|
||||
.{ .integer = @intFromEnum(fontconfig.Spacing.mono) },
|
||||
false,
|
||||
));
|
||||
|
||||
return pat;
|
||||
}
|
||||
|
||||
@@ -277,7 +286,7 @@ pub const Fontconfig = struct {
|
||||
if (res.result != .match) return error.FontConfigFailed;
|
||||
errdefer res.fs.destroy();
|
||||
|
||||
return DiscoverIterator{
|
||||
return .{
|
||||
.config = self.fc_config,
|
||||
.pattern = pat,
|
||||
.set = res.fs,
|
||||
|
Reference in New Issue
Block a user