update: theme

This commit is contained in:
msojocs 2022-04-19 22:21:11 +08:00
parent 98b155b83d
commit 2734615ac2
2 changed files with 27 additions and 17 deletions

View File

@ -79,14 +79,19 @@ class CheckDark {
} }
} }
get gnomeScheme() { get gnomeScheme() {
// 判断 Gnome-Shell 版本 try {
const gnomeVersion = execSync(`gnome-shell --version`) // 判断 Gnome-Shell 版本
.toString() const gnomeVersion = execSync(`gnome-shell --version`)
.replace(/[\r\n]/g, "") .toString()
.split(" "); .replace(/[\r\n]/g, "")
const gnomeVersionNum = .split(" ");
gnomeVersion.length == 3 ? Number(gnomeVersion[2]) : 0; const gnomeVersionNum =
return gnomeVersionNum >= 42 ? "color-scheme" : "gtk-theme"; gnomeVersion.length == 3 ? Number(gnomeVersion[2]) : 0;
return gnomeVersionNum >= 42 ? "color-scheme" : "gtk-theme";
} catch (err) {
console.error("检查gnome版本失败, 使用gtk-theme", err);
return "gtk-theme";
}
} }
} }
const cd = new CheckDark(); const cd = new CheckDark();
@ -221,14 +226,19 @@ function original() {
} }
} }
get gnomeScheme() { get gnomeScheme() {
// 判断 Gnome-Shell 版本 try {
const gnomeVersion = execSync(`gnome-shell --version`) // 判断 Gnome-Shell 版本
.toString() const gnomeVersion = execSync(`gnome-shell --version`)
.replace(/[\r\n]/g, "") .toString()
.split(" "); .replace(/[\r\n]/g, "")
const gnomeVersionNum = .split(" ");
gnomeVersion.length == 3 ? Number(gnomeVersion[2]) : 0; const gnomeVersionNum =
return gnomeVersionNum >= 42 ? "color-scheme" : "gtk-theme"; gnomeVersion.length == 3 ? Number(gnomeVersion[2]) : 0;
return gnomeVersionNum >= 42 ? "color-scheme" : "gtk-theme";
} catch (err) {
console.error("检查gnome版本失败, 使用gtk-theme", err);
return "gtk-theme";
}
} }
monitorTheme() { monitorTheme() {
try { try {

View File

@ -79,7 +79,7 @@ sed -i 's/this.registerListeners()/this.monitorTheme()/' $find_result
# replace check func # replace check func
sed -i 's/mediaQuery.matches/isDark/' $find_result sed -i 's/mediaQuery.matches/isDark/' $find_result
# add functions # add functions
sed -i 's#}getDefaultTheme#}get isDark(){try{const{DESKTOP_SESSION}=process.env;console.log(DESKTOP_SESSION);let theme="";switch(DESKTOP_SESSION){case"deepin":theme=execSync(`gsettings get com.deepin.dde.appearance gtk-theme`);break;case"gnome":case"gnome-classic":theme=execSync(`gsettings get org.gnome.desktop.interface ${this.gnomeScheme}`);break;default:break}return theme.includes("dark");}catch(err){console.error("尝试获取主题信息失败,使用默认暗色",err);return true;}}get gnomeScheme(){const gnomeVersion=execSync(`gnome-shell --version`).toString().replace(/[\\r\\n]/g,"").split(" ");const gnomeVersionNum=gnomeVersion.length==3?Number(gnomeVersion[2]):0;return gnomeVersionNum>=42?"color-scheme":"gtk-theme"}monitorTheme(){try{let monitor=null;const{DESKTOP_SESSION}=process.env;switch(DESKTOP_SESSION){case"deepin":monitor=spawn("gsettings",["monitor","com.deepin.dde.appearance","gtk-theme",]);break;case"gnome":case"gnome-classic":monitor=spawn("gsettings",["monitor","org.gnome.desktop.interface",this.gnomeScheme,]);break;default:console.warn(`NOT SUPPORTED!!!DESKTOP_SESSION:${DESKTOP_SESSION}`);break}monitor\&\&monitor.on("error",(err)=>{console.error("monitorTheme",err)});monitor\&\&monitor.stdout.on("data",e.debounce((chunk)=>{const data=chunk.toString();const t=data.toLowerCase().includes("dark");(this._theme=t?i.Dark:i.Light),this._onDidThemeChange.fire(this._theme)},400));}catch(err){console.error("尝试监听主题失败!", err);}}getDefaultTheme#' $find_result sed -i 's#}getDefaultTheme#}get isDark(){try{const{DESKTOP_SESSION}=process.env;console.log(DESKTOP_SESSION);let theme="";switch(DESKTOP_SESSION){case"deepin":theme=execSync(`gsettings get com.deepin.dde.appearance gtk-theme`);break;case"gnome":case"gnome-classic":theme=execSync(`gsettings get org.gnome.desktop.interface ${this.gnomeScheme}`);break;default:break}return theme.includes("dark");}catch(err){console.error("尝试获取主题信息失败,使用默认暗色",err);return true;}}get gnomeScheme(){try{const gnomeVersion=execSync(`gnome-shell --version`).toString().replace(/[\\r\\n]/g,"").split(" ");const gnomeVersionNum=gnomeVersion.length==3?Number(gnomeVersion[2]):0;return gnomeVersionNum>=42?"color-scheme":"gtk-theme";}catch(err){console.error("检查gnome版本失败, 使用gtk-theme", err);return "gtk-theme";}}monitorTheme(){try{let monitor=null;const{DESKTOP_SESSION}=process.env;switch(DESKTOP_SESSION){case"deepin":monitor=spawn("gsettings",["monitor","com.deepin.dde.appearance","gtk-theme",]);break;case"gnome":case"gnome-classic":monitor=spawn("gsettings",["monitor","org.gnome.desktop.interface",this.gnomeScheme,]);break;default:console.warn(`NOT SUPPORTED!!!DESKTOP_SESSION:${DESKTOP_SESSION}`);break}monitor\&\&monitor.on("error",(err)=>{console.error("monitorTheme",err)});monitor\&\&monitor.stdout.on("data",e.debounce((chunk)=>{const data=chunk.toString();const t=data.toLowerCase().includes("dark");(this._theme=t?i.Dark:i.Light),this._onDidThemeChange.fire(this._theme)},400));}catch(err){console.error("尝试监听主题失败!", err);}}getDefaultTheme#' $find_result
# fix update check # fix update check
find_result=$( grep -lr "whatsnew.html" "$tmp_dir/core.wxvpkg" ) find_result=$( grep -lr "whatsnew.html" "$tmp_dir/core.wxvpkg" )