毎日モザイク

White Room Layout Works

2019-08-12T22:04:35+09:00 [Mon]
--> [日常]

denite-gitが動かないのはどう考えても以下略

denite-gitが動きません。

OSX10.11.6(ハードが古すぎてここが限界)
MacVim8.1.1722(157)
denite, denite-git,ほか依存関係者はさっきアップデートしたやつ。

tigかsourcetreeのどちらかがメインなので、あんまり気にしてませんでしたが、超あっけなく解決してしまったので一応書いておこう。

フォルダをApplication Support/repoからDesktop/repoに移したら普通に動きました…。

deniteかdenite-gitがフォルダ名にスペースがあるとダメなようです。普通は使いませんが、デフォルト名のは仕方ない…。

起動ディスクのデフォルト名にも入ってますが、アソコはposix pathでは展開されないので問題なし。ということのようです。

2019-07-16T01:36:28+09:00 [Tue]
--> [Ubuntu]

ひどいターミナル

st(suckless terminal or simple terminal)はひどい。

もちろん、いい意味で。

sucklessをgoogle翻訳すると「ひどい」と出る。ホントの意味はわからない。

.strcみたいな設定ファイルはなくて、なんというか、こう、コンパイル時に設定オプションを書き換えてリコンパイルしろという恐ろしい仕様。

起動オプションでも変更できる設定があるけど、せっかくなので設定用のファイルを書き換えたほうがstっぽい感じ。設定ファイルがわけわからん状態になっても大丈夫。オリジナルをコピーし忘れてもデフォルト設定ファイルがオマケで入っている親切設計。

もちろん、そんな鬼仕様なのでコンパイルは瞬殺で終わる。

起動が超速い。どのくらい速いかと言うとcairo-dockのエフェクトが終わらないうちに起動する。設定がハードコーディングされるので読み込むものがない。一人で使うものはこうでなくちゃ。どうせ決まった設定なんて滅多に変えないし、コンパイルは爆速なのでmake clean install Return!!!の!あたりで終わってる。

fcitxでインライン変換が出来ない。左右metaに割り当てたon/off切替が効かないのでcontrol+spaceを使わないといけない。何かに食われているらしいけど読むのはCのソースコードなのでまたの機会にw。キー設定も書かれているので読めばわかるだろ系。

安心のtrue color対応。ubuntuの旧型LTSでも使えます。

2019-05-15T23:56:03+09:00 [Wed]

Indesignから文字なし・文字ありのPNGで書き出して、レイヤー状態のPSDファイルでください。

Indesignからフォルダ1に文字非表示のPNG画像を書き出します。
ついで、フォルダ2に文字のみのPNG画像を書き出します。
これを適当な手段で合成して1枚のPSD形式にまとめて納品します。
そういう需要が少しあるようです。

// marge2ImagesIntoPsd.jsx
// Actionに"paste"セットを作って"pasteInto"アクションに
// "特殊ペースト→同じ位置にペースト"を記録
// Indesignで表示・非表示を分けて書き出したファイルを
// 一枚のレイヤー生きPSDファイルに結合する
// 2019.05.14 WhiteRoom

(function main () {

    var fs = folderSelect();
    var re = /.*\.(JPG|jpg|PSD|psd|PNG|png|TIF|tif)$/;
    var layLitems = fs.layerL.getFiles(re);
    var layUitems = fs.layerU.getFiles(re);

    if ((layLitems.length) != (layUitems.length))  {
        confirm("画像ファイルと文字ファイルの数が異なっています。実行しますか?");
    }

    //photoshop start
    for (var i = 0; i < layLitems.length; i++) {

        var fileObjL = new File(layLitems[i]);
        var fileObjU = new File(layUitems[i]);
        var saveLocation = new File(fs.savLoc + "/" + fileObjU.name);
        var psdOpt = new PhotoshopSaveOptions();
        psdOpt.alphaChannels = true;
        psdOpt.annotations = true;
        psdOpt.embedColorProfile = false;
        psdOpt.layers = true;
        psdOpt.spotColors = false;

        open(fileObjL);
        open(fileObjU);

        activeDocument.selection.selectAll();
        activeDocument.activeLayer.copy();
        activeDocument.close(SaveOptions.DONOTSAVECHANGES);
        activeDocument.flatten(); //下段のレイヤーは統合します(個人的な都合)
        doAction("pasteInto","paste"); //同じ位置にペーストは面倒なのでaction
        activeDocument.saveAs(saveLocation, psdOpt, true, Extension.LOWERCASE);
        activeDocument.close(SaveOptions.DONOTSAVECHANGES);
    }
})();

//なんとなく分離してみただけ。この程度はmain()の中に入れたほうがいいかも
function folderSelect() {
    var retItems = new Object();
    retItems.layerL = Folder.selectDialog("画像レイヤーのフォルダを選択してください");
    retItems.layerU = Folder.selectDialog("文字レイヤーのフォルダを選択してください");
    retItems.savLoc = Folder.selectDialog("保存先フォルダを選択してください");
    return retItems;
}

まず定番の.DS_Storeほかファイラのクソファイル避け。
ブラックリスト方式は難しすぎるので(/^[^.].=$/ でも /(?!.).+$/ でも駄目だったので諦め)ホワイトリスト方式で。
次も定番の同じ位置にペーストがJSではできない。
できるっぽいけどかなりめんどくさそうなので、アクションに逃げます。
メニュー項目から同じ位置にペーストを記録したアクションを呼び出すだけでお悩み解決。
※同じinddから同じ設定で書き出した画像を扱うのが前提なので、サイズの不一致とか一切考慮に入れていません。

2019-03-03T07:27:25+09:00 [Sun]
--> [日常]

signing with opengpg

LOのopen gpg signatureは何をするか。

LOの.odt, .odsほか、open document formatの実体はzipファイルで、解凍すればわかりますが、ドキュメント本体とか、配置画像とか、設定とか、履歴とかをひとまとめの圧縮ファイルにしたものです。

こんな感じ。

content.xmlというのが本文で、documentsignatures.xmlというのがgpgsignatureをxml化したものです。

デジタルサインでなんか直感と違う動作の、サインしたあとで保存してはいけないというのは、content.xmlがサインしたものと変わってしまうからで、デジタルサインが成功すると.odtのzipファイルに追加保存されているので、そのまま閉じればいいわけです。

サインが成功したファイルをLOで開くと、勝手に検証してくれて、正しい署名であれば青っぽいウィンドウが出ます。

なぜここまでにMacのスクショがないかといえば、Mac版ではどうにも動かないからです…。

2019-01-08T02:38:41+09:00 [Tue]
--> [WordPress]

ver5

大幅変更しすぎ…。

でも、前日と同じ操作で同じことができることが最重要なので、旧型入力画面のプラグインが用意されているあたりは好感がもてる。

新設のところは新規のでやったほうがいいかも。

既存のところは旧型に変更したほうが絶対にいい。

ユーザ数が知れている俺管理サイトでさえ、阿鼻叫喚。もっとユーザ数が多いところだったら説明で死ねる。