レイヤー名変更は老眼につらい仕様
Photoshopレイヤー名は、レイヤーパネルの文字部分をダブルクリックする、またはレイヤーメニュー>レイヤー名の変更で変えられますが、
あまりにも小さい!ミスタイプしたまま人に渡すと恥ずかしい!
ということでなんとかできないかやってみました。Keyboard MaestroのカスタムHTMLプロンプトを使います。
こうなります
KMマクロを作ろう
AppleScriptでレイヤー名取得
tell application id "com.adobe.photoshop" to name of current layer of current document
CustomHTMLPromptを書く
HTMLもCSSもJSXも初心者なので調べまくって書いたやつです。もちろん正しく書ける方は適宜直してください。
escでキャンセルしたかったので…ごちゃごちゃとjavascriptでイベント拾っています。なぜか?type="reset"だとうまく発動しなかった。
<!DOCTYPE html>
<html lang="ja-jp">
<head>
<meta charset="UTF-8">
<title>レイヤー名編集</title>
<style>
#textinput{
border:none;
border-radius:10px;
padding:5px 15px;
font-family:"ヒラギノ角ゴ Pro W3";
font-size:32px;
background-color:#f2f2f2;
width:95%;
}
</style>
<script type="text/javascript">
document.addEventListener('keydown', function(e) {
if(e.key === 'Escape'){
window.KeyboardMaestro.Cancel('');
}
})
const a = window.KeyboardMaestro.GetVariable('PSLayerName');
function init1() {
document.getElementById("textinput").value=a;
document.getElementById("textinput").focus();
document.getElementById("textinput").select();
}
</script>
</head>
<body data-kmwindow="1000,90" onload="init1()">
<form>
<input type="text" id="textinput" name="PSLayerName">
<button type="submit" style="padding:0;border:0;" onclick="window.KeyboardMaestro.Submit()"></button>
</form>
</body>
</html>
inputのnameにKMのVariable書いとくとSubmitしたときに自動で格納されます。CustomHTMLPromptの歯車マークからFloatingとTransparentにチェックいれとくときれい。
戻り値で書き戻すか決めて、OKなら戻す
マクロのifで、The txt:
%HTMLResult%
がCancel
なら何もせず、そうでないときにAppleScriptでPhotoshopのレイヤー名にセットします。
tell application id "com.adobe.photoshop"
tell application "Keyboard Maestro Engine" to set myLN to getvariable "PSLayerName" as text
set name of current layer of current document to myLN
end tell
マクロDLはこちら(2023/01/10時点のもの)
https://d.pr/f/1q6BUT
問題点
実行時、ウインドウモードだと浮いてるパネルが隠れます。アプリケーションフレームにくっつけて、アプリフレームで実行すればレイヤーパネルも見えたまま実行できます。