mirror of
https://github.com/msojocs/wechat-web-devtools-linux.git
synced 2025-07-22 00:00:04 +08:00
test: follow system theme for gnome #35
This commit is contained in:
parent
42c222b34d
commit
7c24ba198f
@ -16,13 +16,22 @@ class CheckDark {
|
|||||||
break;
|
break;
|
||||||
case "gnome":
|
case "gnome":
|
||||||
case "gnome-classic":
|
case "gnome-classic":
|
||||||
monitor = spawn("gsettings", [
|
const gnomeVersion = execSync(`gnome-shell --version`).toString().replace(/[\r\n]/g, "").split(" ")
|
||||||
"monitor",
|
const gnomeVersionNum = gnomeVersion.length ? Number(gnomeVersion[2]) : 0
|
||||||
"org.gnome.desktop.interface",
|
if (gnomeVersionNum >= 42) {
|
||||||
"gtk-theme",
|
monitor = spawn("gsettings", [
|
||||||
]);
|
"monitor",
|
||||||
|
"org.gnome.desktop.interface",
|
||||||
|
"color-scheme",
|
||||||
|
]);
|
||||||
|
} else {
|
||||||
|
monitor = spawn("gsettings", [
|
||||||
|
"monitor",
|
||||||
|
"org.gnome.desktop.interface",
|
||||||
|
"gtk-theme",
|
||||||
|
]);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
console.warn(
|
console.warn(
|
||||||
`NOT SUPPORTED !!! DESKTOP_SESSION: ${DESKTOP_SESSION}`
|
`NOT SUPPORTED !!! DESKTOP_SESSION: ${DESKTOP_SESSION}`
|
||||||
@ -37,7 +46,7 @@ class CheckDark {
|
|||||||
monitor.stdout.on("data", (chunk) => {
|
monitor.stdout.on("data", (chunk) => {
|
||||||
// TODO: 防抖动包装
|
// TODO: 防抖动包装
|
||||||
const data = chunk.toString();
|
const data = chunk.toString();
|
||||||
const t = data.includes("dark");
|
const t = data.includes("dark") || data.includes("Dark");
|
||||||
console.log(data);
|
console.log(data);
|
||||||
console.log("dark", t);
|
console.log("dark", t);
|
||||||
// (this._theme = t ? i.Dark : i.Light),
|
// (this._theme = t ? i.Dark : i.Light),
|
||||||
@ -56,15 +65,24 @@ class CheckDark {
|
|||||||
break;
|
break;
|
||||||
case "gnome":
|
case "gnome":
|
||||||
case "gnome-classic":
|
case "gnome-classic":
|
||||||
theme = execSync(
|
// 判断 Gnome-Shell 版本
|
||||||
`gsettings get org.gnome.desktop.interface gtk-theme`
|
const gnomeVersion = execSync(`gnome-shell --version`).toString().replace(/[\r\n]/g, "").split(" ")
|
||||||
);
|
const gnomeVersionNum = gnomeVersion.length ? Number(gnomeVersion[2]) : 0
|
||||||
|
if (gnomeVersionNum >= 42) {
|
||||||
|
theme = execSync(
|
||||||
|
`gsettings get org.gnome.desktop.interface color-scheme`
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
theme = execSync(
|
||||||
|
`gsettings get org.gnome.desktop.interface gtk-theme`
|
||||||
|
);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return theme.includes("dark");
|
return theme.includes("dark") || theme.includes("Dark");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const cd = new CheckDark();
|
const cd = new CheckDark();
|
||||||
@ -128,7 +146,7 @@ function original() {
|
|||||||
"gtk-theme",
|
"gtk-theme",
|
||||||
]);
|
]);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
console.warn(
|
console.warn(
|
||||||
`NOT SUPPORTED !!! DESKTOP_SESSION: ${DESKTOP_SESSION}`
|
`NOT SUPPORTED !!! DESKTOP_SESSION: ${DESKTOP_SESSION}`
|
||||||
@ -147,7 +165,7 @@ function original() {
|
|||||||
console.warn(data);
|
console.warn(data);
|
||||||
console.warn("dark", t);
|
console.warn("dark", t);
|
||||||
(this._theme = t ? i.Dark : i.Light),
|
(this._theme = t ? i.Dark : i.Light),
|
||||||
this._onDidThemeChange.fire(this._theme);
|
this._onDidThemeChange.fire(this._theme);
|
||||||
}, 400));
|
}, 400));
|
||||||
}
|
}
|
||||||
registerListeners() {
|
registerListeners() {
|
||||||
@ -156,7 +174,7 @@ function original() {
|
|||||||
(null === (e = this.mediaQuery) ||
|
(null === (e = this.mediaQuery) ||
|
||||||
void 0 === e ||
|
void 0 === e ||
|
||||||
e.addEventListener("change", this.onMediaQueryChange),
|
e.addEventListener("change", this.onMediaQueryChange),
|
||||||
null === (t = this.mediaQuery2) ||
|
null === (t = this.mediaQuery2) ||
|
||||||
void 0 === t ||
|
void 0 === t ||
|
||||||
t.addEventListener("change", this.onMediaQueryChange));
|
t.addEventListener("change", this.onMediaQueryChange));
|
||||||
}
|
}
|
||||||
@ -193,21 +211,21 @@ function original() {
|
|||||||
get mediaQuery() {
|
get mediaQuery() {
|
||||||
return (
|
return (
|
||||||
this._mediaQuery ||
|
this._mediaQuery ||
|
||||||
(this._mediaQuery = window.matchMedia(
|
(this._mediaQuery = window.matchMedia(
|
||||||
"(prefers-color-scheme: dark)"
|
"(prefers-color-scheme: dark)"
|
||||||
)),
|
)),
|
||||||
this._mediaQuery
|
this._mediaQuery
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
get mediaQuery2() {
|
get mediaQuery2() {
|
||||||
return (
|
return (
|
||||||
void 0 === this._mediaQuery2 &&
|
void 0 === this._mediaQuery2 &&
|
||||||
(global.contentWindow && global.contentWindow !== window
|
(global.contentWindow && global.contentWindow !== window
|
||||||
? (this._mediaQuery2 =
|
? (this._mediaQuery2 =
|
||||||
global.contentWindow.matchMedia(
|
global.contentWindow.matchMedia(
|
||||||
"(prefers-color-scheme: dark)"
|
"(prefers-color-scheme: dark)"
|
||||||
))
|
))
|
||||||
: (this._mediaQuery2 = null)),
|
: (this._mediaQuery2 = null)),
|
||||||
this._mediaQuery2
|
this._mediaQuery2
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -227,7 +245,7 @@ function original() {
|
|||||||
`gsettings get org.gnome.desktop.interface gtk-theme`
|
`gsettings get org.gnome.desktop.interface gtk-theme`
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user