add english readme, more functions

This commit is contained in:
xzhih
2018-06-11 00:03:20 +08:00
parent 6a487ffb03
commit 43b1281ef6
7 changed files with 403 additions and 93 deletions

157
hidpi.sh
View File

@@ -1,13 +1,19 @@
#!/bin/sh
#
# 初始化
# init
function init()
{
#
cat << EEF
----------------------------------------
|*************** HIDPI ****************|
----------------------------------------
_ _ _____ _____ _____ _____
| | | | |_ _| | __ \ | __ \ |_ _|
| |__| | | | | | | | | |__) | | |
| __ | | | | | | | | ___/ | |
| | | | _| |_ | |__| | | | _| |_
|_| |_| |_____| |_____/ |_| |_____|
============================================
EEF
#
VendorID=$(ioreg -l | grep "DisplayVendorID" | awk '{print $8}')
@@ -18,25 +24,20 @@ EEF
Pid=$(echo "obase=16;$ProductID" | bc | tr 'A-Z' 'a-z')
edID=$(echo $EDID | sed 's/../b5/21')
EDid=$(echo $edID | xxd -r -p | base64)
thisDir=$(dirname $0)
thatDir="/System/Library/Displays/Contents/Resources/Overrides"
Overrides="\/System\/Library\/Displays\/Contents\/Resources\/Overrides\/"
DICON="com\.apple\.cinema-display"
imacicon=${Overrides}"DisplayVendorID-610\/DisplayProductID-a032.tiff"
mbpicon=${Overrides}"DisplayVendorID-610\/DisplayProductID-a030-e1e1df.tiff"
mbicon=${Overrides}"DisplayVendorID-610\/DisplayProductID-a028-9d9da0.tiff"
lgicon=${Overrides}"DisplayVendorID-1e6d\/DisplayProductID-5b11.tiff"
if [[ ! -d $thatDir/backup ]]; then
echo "正在备份"
echo "Backing up..."
sudo mkdir -p $thatDir/backup
sudo cp $thatDir/Icons.plist $thatDir/backup/
if [[ -d $thatDir/DisplayVendorID-$Vid ]]; then
@@ -45,7 +46,7 @@ EEF
fi
}
# 选择ICON
# choose_icon
function choose_icon()
{
#
@@ -56,18 +57,18 @@ function choose_icon()
#
cat << EOF
----------------------------------------
|********** 选择要显示的ICON ***********|
----------------------------------------
------------------------------------
|********** Choose Icon ***********|
------------------------------------
(1) iMac
(2) MacBook
(3) MacBook Pro
(4) LG 显示器
(5) 保持原样
(4) LG Display
(5) Remain as it is
EOF
read -p "输入你的选择[1~5]: " logo
read -p "Enter your choice [1~5]: " logo
case $logo in
1) Picon=$imacicon
RP=("33" "68" "160" "90")
@@ -84,9 +85,7 @@ DICON=${Overrides}"DisplayVendorID-1e6d\/DisplayProductID-5b11.icns"
;;
5) rm -rf $thisDir/tmp/Icons.plist
;;
*)
echo "输入错误,拜拜";
*) echo "Enter error, bye";
exit 0
;;
esac
@@ -104,7 +103,7 @@ fi
}
# 主函数
# mian
function main()
{
sudo mkdir -p $thisDir/tmp/DisplayVendorID-$Vid
@@ -112,7 +111,7 @@ function main()
sudo chmod -R 777 $thisDir/tmp/
#
cat > "$dpiFile" <<-\HIDPI
cat > "$dpiFile" <<-\CCC
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
@@ -125,73 +124,77 @@ cat > "$dpiFile" <<-\HIDPI
<data>EDid</data>
<key>scale-resolutions</key>
<array>
<!-- 1840x1035 -->
<!-- <data>AAAOYAAACBYA</data> -->
<!-- <data>AAAOYAAACBYAAAABACAAAA==</data> -->
<!-- <data>AAAOYAAACBYAAAAJAKAAAA==</data> -->
CCC
<!-- 1760x990 -->
<!-- <data>AAANwAAAB7wA</data> -->
<!-- <data>AAANwAAAB7wAAAABACAAAA==</data> -->
<!-- <data>AAANwAAAB7wAAAAJAKAAAA==</data> -->
cat << EOF
------------------------------------------
|********** resolution config ***********|
------------------------------------------
(1) 1080P Display
(2) 2K Display
(3) Manual input resolution
<!-- 1680x945 -->
<data>AAANIAAAB2IA</data>
<data>AAANIAAAB2IAAAABACAAAA==</data>
<data>AAANIAAAB2IAAAAJAKAAAA==</data>
EOF
<!-- 1440x810 -->
<data>AAALQAAABlQA</data>
<data>AAALQAAABlQAAAABACAAAA==</data>
<data>AAALQAAABlQAAAAJAKAAAA==</data>
read -p "Enter your choice: " res
case $res in
1 ) create_res 1680x945 1600x900 1440x810;;
2 ) create_res 2048x1152 1920x1080 1840x1035 1760x990;;
3 ) custom_res;;
esac
<!-- 1280x720 -->
<data>AAAKAAAABaAA</data>
<data>AAAKAAAABaAAAAABACAAAA==</data>
<data>AAAKAAAABaAAAAAJAKAAAA==</data>
create_res 1280x720 1024x576 960x540 640x360
<!-- 1024x576 -->
<data>AAAIAAAABIAA</data>
<data>AAAIAAAABIAAAAABACAAAA==</data>
<data>AAAIAAAABIAAAAAJAKAAAA==</data>
<!-- 960x540 -->
<data>AAAHgAAABDgA</data>
<data>AAAHgAAABDgAAAABACAAAA==</data>
<data>AAAHgAAABDgAAAAJAKAAAA==</data>
<!-- 640x360 -->
<data>AAAFAAAAAWgA</data>
<data>AAAFAAAAAWgAAAABACAAAA==</data>
<data>AAAFAAAAAWgAAAAJAKAAAA==</data>
</array>
cat >> "$dpiFile" <<-\FFF
</array>
<key>target-default-ppmm</key>
<real>10.0699301</real>
</dict>
</plist>
HIDPI
FFF
sed -i '' "s/VID/$VendorID/g" $dpiFile
sed -i '' "s/PID/$ProductID/g" $dpiFile
}
# 擦屁股
# end
function end()
{
sudo cp -r $thisDir/tmp/* $thatDir/
sudo rm -rf $thisDir/tmp
echo "开启成功,重启生效"
echo "首次重启开机logo会变得巨大之后就不会了"
say "妖怪,哪里跑"
echo "Enabled, please reboot."
echo "Rebooting the logo for the first time will become huge, then it will not be."
say "Good"
}
#自定义分辨率
#hi = $(printf '%08x %08x' $((1920*2)) $((1080*2)))
#encode_hi = $(echo $hi | xxd -r -p | base64)
# custom resolution
function custom_res()
{
echo "Enter the HIDPI resolution, separated by a spacelike this: 1680x945 1600x900 1440x810"
read -p ":" res
create_res $res
}
# create resolution
function create_res()
{
for res in $@; do
width=$(echo $res | cut -d x -f 1)
height=$(echo $res | cut -d x -f 2)
hidpi=$(printf '%08x %08x' $(($width*2)) $(($height*2)) | xxd -r -p | base64)
#
cat << OOO >> $dpiFile
<!-- $res -->
<data>${hidpi:0:11}A</data>
<data>${hidpi:0:11}AAAABACAAAA==</data>
<data>${hidpi:0:11}AAAAJAKAAAA==</data>
OOO
# 开
done
}
# enable
function enable_hidpi()
{
choose_icon
@@ -201,7 +204,7 @@ function enable_hidpi()
end
}
# 开挂
# patch
function enable_hidpi_with_patch()
{
choose_icon
@@ -210,17 +213,14 @@ function enable_hidpi_with_patch()
end
}
#
# disable
function disable()
{
sudo rm -rf $thatDir/DisplayVendorID-$Vid
sudo rm -rf $thatDir/Icons.plist
sudo cp -r $thatDir/backup/* $thatDir/
sudo rm -rf $thatDir/backup
echo "已关闭,重启生效"
echo "Disabled, restart takes effect"
}
function start()
@@ -229,13 +229,13 @@ function start()
#
cat << EOF
(1) 开启HIDPI
(2) 开启HIDPI同时注入花屏补丁
(3) 关闭HIDPI
(1) Enable HIDPI
(2) Enable HIDPI (with patch)
(3) Disable HIDPI
EOF
read -p "输入你的选择[1~3]: " input
read -p "Enter your choice [1~3]: " input
case $input in
1) enable_hidpi
;;
@@ -244,8 +244,7 @@ case $input in
3) disable
;;
*)
echo "输入错误,拜拜";
echo "Enter error, bye";
exit 0
;;
esac