fix(tui): respect terminal transparency in system theme (#8467)
This commit is contained in:
@@ -41,7 +41,6 @@ import { useRenderer } from "@opentui/solid"
|
|||||||
import { createStore, produce } from "solid-js/store"
|
import { createStore, produce } from "solid-js/store"
|
||||||
import { Global } from "@/global"
|
import { Global } from "@/global"
|
||||||
import { Filesystem } from "@/util/filesystem"
|
import { Filesystem } from "@/util/filesystem"
|
||||||
import { useSDK } from "./sdk"
|
|
||||||
|
|
||||||
type ThemeColors = {
|
type ThemeColors = {
|
||||||
primary: RGBA
|
primary: RGBA
|
||||||
@@ -429,6 +428,7 @@ export function tint(base: RGBA, overlay: RGBA, alpha: number): RGBA {
|
|||||||
function generateSystem(colors: TerminalColors, mode: "dark" | "light"): ThemeJson {
|
function generateSystem(colors: TerminalColors, mode: "dark" | "light"): ThemeJson {
|
||||||
const bg = RGBA.fromHex(colors.defaultBackground ?? colors.palette[0]!)
|
const bg = RGBA.fromHex(colors.defaultBackground ?? colors.palette[0]!)
|
||||||
const fg = RGBA.fromHex(colors.defaultForeground ?? colors.palette[7]!)
|
const fg = RGBA.fromHex(colors.defaultForeground ?? colors.palette[7]!)
|
||||||
|
const transparent = RGBA.fromInts(0, 0, 0, 0)
|
||||||
const isDark = mode == "dark"
|
const isDark = mode == "dark"
|
||||||
|
|
||||||
const col = (i: number) => {
|
const col = (i: number) => {
|
||||||
@@ -479,8 +479,8 @@ function generateSystem(colors: TerminalColors, mode: "dark" | "light"): ThemeJs
|
|||||||
textMuted,
|
textMuted,
|
||||||
selectedListItemText: bg,
|
selectedListItemText: bg,
|
||||||
|
|
||||||
// Background colors
|
// Background colors - use transparent to respect terminal transparency
|
||||||
background: bg,
|
background: transparent,
|
||||||
backgroundPanel: grays[2],
|
backgroundPanel: grays[2],
|
||||||
backgroundElement: grays[3],
|
backgroundElement: grays[3],
|
||||||
backgroundMenu: grays[3],
|
backgroundMenu: grays[3],
|
||||||
|
|||||||
Reference in New Issue
Block a user