macos: encode tab color enumerator codes as 4-bit RGBA hex
parent
222fe01593
commit
da58eb0a7f
|
|
@ -127,16 +127,23 @@
|
|||
</record-type>
|
||||
|
||||
<enumeration name="tab color" code="GTbC" description="The color of a Ghostty tab.">
|
||||
<enumerator name="none" code="GTcN" description="No color."/>
|
||||
<enumerator name="blue" code="GTcB" description="Blue."/>
|
||||
<enumerator name="purple" code="GTcP" description="Purple."/>
|
||||
<enumerator name="pink" code="GTcK" description="Pink."/>
|
||||
<enumerator name="red" code="GTcR" description="Red."/>
|
||||
<enumerator name="orange" code="GTcO" description="Orange."/>
|
||||
<enumerator name="yellow" code="GTcY" description="Yellow."/>
|
||||
<enumerator name="green" code="GTcG" description="Green."/>
|
||||
<enumerator name="teal" code="GTcT" description="Teal."/>
|
||||
<enumerator name="graphite" code="GTcX" description="Graphite."/>
|
||||
<!-- Color enumerators use a 4-bit-per-channel ASCII hex RGBA as their code
|
||||
(one hex digit per channel: R, G, B, A). Values are the nearest 4-bit
|
||||
rounding of Apple's published Human Interface Guidelines light-mode
|
||||
system color hex (https://developer.apple.com/design/human-interface-guidelines/color).
|
||||
They serve as stable identifiers; the actual rendered color comes from
|
||||
the corresponding system color and may shift between OS releases.
|
||||
The "none" enumerator uses a literal code. -->
|
||||
<enumerator name="none" code="none" description="No color."/>
|
||||
<enumerator name="blue" code="08FF" description="Blue."/>
|
||||
<enumerator name="purple" code="C3DF" description="Purple."/>
|
||||
<enumerator name="pink" code="F35F" description="Pink."/>
|
||||
<enumerator name="red" code="F34F" description="Red."/>
|
||||
<enumerator name="orange" code="F82F" description="Orange."/>
|
||||
<enumerator name="yellow" code="FC0F" description="Yellow."/>
|
||||
<enumerator name="green" code="3C5F" description="Green."/>
|
||||
<enumerator name="teal" code="0CBF" description="Teal."/>
|
||||
<enumerator name="graphite" code="889F" description="Graphite."/>
|
||||
</enumeration>
|
||||
|
||||
<enumeration name="split direction" code="GSpD" description="Direction for a new split.">
|
||||
|
|
|
|||
|
|
@ -203,21 +203,20 @@ extension ScriptTab {
|
|||
}
|
||||
|
||||
/// Maps `TerminalTabColor` to and from the `tab color` enumeration in `Ghostty.sdef`.
|
||||
///
|
||||
/// Cocoa scripting passes enumerator FourCharCodes as integers via KVC.
|
||||
/// See `Ghostty.sdef` for how the codes are derived.
|
||||
private extension TerminalTabColor {
|
||||
var appleScriptCode: UInt32 {
|
||||
switch self {
|
||||
case .none: "GTcN".fourCharCode
|
||||
case .blue: "GTcB".fourCharCode
|
||||
case .purple: "GTcP".fourCharCode
|
||||
case .pink: "GTcK".fourCharCode
|
||||
case .red: "GTcR".fourCharCode
|
||||
case .orange: "GTcO".fourCharCode
|
||||
case .yellow: "GTcY".fourCharCode
|
||||
case .green: "GTcG".fourCharCode
|
||||
case .teal: "GTcT".fourCharCode
|
||||
case .graphite: "GTcX".fourCharCode
|
||||
case .none: "none".fourCharCode
|
||||
case .blue: "08FF".fourCharCode
|
||||
case .purple: "C3DF".fourCharCode
|
||||
case .pink: "F35F".fourCharCode
|
||||
case .red: "F34F".fourCharCode
|
||||
case .orange: "F82F".fourCharCode
|
||||
case .yellow: "FC0F".fourCharCode
|
||||
case .green: "3C5F".fourCharCode
|
||||
case .teal: "0CBF".fourCharCode
|
||||
case .graphite: "889F".fourCharCode
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue