Menu: full scale presets; overlay ships extracted menu extension
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QKxGW1raAWaqeU8WdHsMsp
This commit is contained in:
@@ -24,6 +24,30 @@ valid_entry() {
|
||||
[[ $1 == "cn" || $1 =~ ^bin/(omarchycn|omarchy-cn-[a-z0-9-]+)$ ]]
|
||||
}
|
||||
|
||||
MENU_EXT="$HOME/.config/omarchy/extensions/omarchy-menu.jsonc"
|
||||
MENU_MARKER="// OmarchyCN overlay menu extension"
|
||||
|
||||
install_menu_extension() {
|
||||
if [[ -s $MENU_EXT ]] && ! grep -qF "$MENU_MARKER" "$MENU_EXT"; then
|
||||
echo "跳过菜单扩展:$MENU_EXT 已有用户内容,请手动合并 default/omarchy/omarchy-menu.jsonc 的 OmarchyCN 段"
|
||||
return 0
|
||||
fi
|
||||
mkdir -p "${MENU_EXT%/*}"
|
||||
{
|
||||
echo "$MENU_MARKER"
|
||||
echo "{"
|
||||
sed -n '/^ \/\/ OmarchyCN$/,$p' "$SRC/default/omarchy/omarchy-menu.jsonc" | sed '$d'
|
||||
echo "}"
|
||||
} > "$MENU_EXT"
|
||||
echo "OmarchyCN 菜单扩展已写入 $MENU_EXT"
|
||||
}
|
||||
|
||||
remove_menu_extension() {
|
||||
if [[ -f $MENU_EXT ]] && grep -qF "$MENU_MARKER" "$MENU_EXT"; then
|
||||
rm -f "$MENU_EXT"
|
||||
fi
|
||||
}
|
||||
|
||||
uninstall() {
|
||||
if [[ ! -f $MANIFEST ]]; then
|
||||
echo "No overlay manifest at $MANIFEST" >&2
|
||||
@@ -55,6 +79,7 @@ uninstall() {
|
||||
fi
|
||||
done < "$MANIFEST"
|
||||
|
||||
remove_menu_extension
|
||||
rm -f "$MANIFEST"
|
||||
echo "OmarchyCN overlay removed from $dest"
|
||||
}
|
||||
@@ -104,6 +129,7 @@ install() {
|
||||
run_in "$DEST" cp "$SRC/$rel" "$DEST/$rel"
|
||||
done
|
||||
|
||||
install_menu_extension
|
||||
echo "OmarchyCN overlay installed into $DEST (${#entries[@]} commands)"
|
||||
echo "Verify: omarchy cn version"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user