Corredor

ウェブ、プログラミングの勉強メモ。

MacOS

Mac 向けの TTF・TTC 形式のフォントファイルを OTF 形式に変換し Windows でも使えるようにする

フォントファイルにはいくつかの形式があるが、中でも TrueType フォントである .ttf 形式のファイルは、Windows と Mac とで中身が全く違い、互いの OS で共用できないのが難点。 また、この TTF 形式のフォントファイルを複数格納している .ttc フォントも…

Mac のデスクトップ通知をシェルスクリプトから送る

MacOS Mojave で検証。Mac で Slack などを使っていると、画面の右上に表示されるデスクトップ通知。コレをシェルスクリプトから送ってみる。内部的には AppleScript を使っている。 $ osascript -e 'display notification "お知らせです" with title "タイ…

Mac でも Windows のタスクバーみたいにカレンダー付き時計を表示する「Day-O 2」

Windows のタスクバーにある時刻をクリックすると、月表示のカレンダーが開く。 一方 MacOS の標準時計にはそのような機能はない。 カレンダーを見るためだけにターミナルを開いて $ cal と打って確認するのも面倒な時がある。 そこで、Windows 同様、クリッ…

zip・unzip コマンドでパスワードを指定する

MacOS で検証。zip・unzip コマンドを使って圧縮する時、解凍用パスワードを設定する方法。 Zip 圧縮時のパスワード指定 $ zip -e -P='【パスワード】' 【Zip ファイル名】.zip 【入れたいファイル指定…】 -e = --encrypt -P = --password -P とだけ書けば、…

Mac の「ターミナル.app」で使えそうなテキストベースのブラウザアプリを調べてみた

MacOS の「ターミナル.app」で動作する、テキストベースのブラウザアプリを3つほど試してみた。 browsh → 表示がバグってまともに動かず Lynxlet → 文字化けしまくり w3m → ちゃんと動いた browsh → 表示がバグってまともに動かず GitHub - browsh-org/brows…

Bash プロンプトに日付と時刻を入れる

僕は MacOS 環境でも、GitBash (Git For Windows) 風の Bash プロンプト (PS1) を導入している。 # ~/.bash_profile にて export PS1='\n\[\033[32m\]\u@\h \[\033[33m\]\w\[\033[36m\]`__git_ps1`\[\033[0m\]\n$ ' 手前のコマンドから1行開け、「ユーザ名@…

いい加減 tar コマンドを覚えるためのまとめ

ファイルのアーカイブ、圧縮、解凍を行える tar コマンド。オプション引数が覚えられずいつも調べてしまうので、いい加減覚える。 ヘルプを見てみる BSD tar GNU tar サンプルコードについて cvf : アーカイブを作成する czvf : gzip で圧縮する cjvf : bzip…

MacOS のフォントファイル、こんなところにもあった

MacOS Mojave で確認。 MacOS のフォントファイルの在り処を探していた。 主なフォントファイルは、大体以下の3箇所のどこかにある。 /System/Library/Fonts/ システム利用。消すと不具合が出る恐れ /Library/Fonts/ 複数ユーザで共用できるフォント ~/Libra…

MacOS「プレビュー.app」のマークアップツールバーを開くショートカットキー

MacOS の「プレビュー.app」が優秀なので、簡単な画像編集にもちょくちょく使っている。 その際、「マークアップツールバー」の項目を使うことが多いのだが、「プレビュー.app」を再起動するとマークアップツールバーが必ず隠れた状態からになってしまう。 …

Mac の ls -l でアットマーク @ が付いているファイルがあった : Extended Attributes と xattr コマンド

Mac で ls -l してファイルを見ていた時に、何やらパーミッションの後ろにアットマーク記号 @ が付いたファイルがあることに気が付いた。 $ ls -l -rw------- 1 Neo staff 17809 1 9 15:54 my-file-1.md -rw-------@ 1 Neo staff 25246 1 16 10:14 my-file-2…

2つの年月日から経過日数を表示する Bash スクリプト (Mac・Windows 両対応)

2つの年月日から経過日数を表示する Bash スクリプトを作った。MacOS・Windows GitBash の両対応。 コレを date-diff みたいな名前で PATH の通っているところに保存して実行権を設定する。あとは以下のように叩く。 $ date-diff 2019-01-01 2018-01-01 365 …

Finder のコンテキストメニューに「VSCode で開く」を追加する

MacOS に CotEditor をインストールすると、Finder のコンテキストメニューに「ファイルを CotEditor で開く」メニューが追加される。 Windows に VSCode をインストールすると、エクスプローラのコンテキストメニューに「Open with Code」メニューが追加さ…

MacOS で Docker を始めてみる

これまで仮想環境というと VirtualBox (とそれを操作する Vagrant) を使ったことがあったが、今回 Docker に手を出してみた。 Enterprise Container Platform | Docker とりあえず MacOS High Sierra か MacOS Mojave 上に Docker をインストールし、適当に …

CotEditor で開いているファイルを VSCode で開く Bash コマンド (AppleScript 併用)

Windows における WSH ばりに GUI ウィンドウを操作できる、MacOS の AppleScript。 今回は、「今 CotEditor で開いているファイルを、VSCode で開き直したいなぁ」という時の操作を Bash コマンド化してみる。 結論からいくと、コマンドとしてはコレだけ。 …

指定の URL・ファイルを複数のブラウザで一気に開く Bash スクリプト (Mac・Windows 両対応)

ウェブサイトのデザイン確認のため、色々なブラウザで同じページを開きたいことがある。 それを自動化するため、こんな Bash スクリプトを書いてみた。Mac と Windows (GitBash) で使える。 #!/bin/bash target="$1" if [ "$target" == "" ]; then echo 'URL…

Mac で「CotEditor で開いているファイルを Google Chrome で開く」コマンドを作る

僕は普段、Mac では「CotEditor」というテキストエディタを使っている。Windows における Notepad++ のような、軽量かつ高機能なエディタである。 僕はこの CotEditor で Markdown ファイルを書くことが多いのだが、Markdown のプレビューは Chrome ブラウザ…

MacOS 同梱の Apache が参照するドキュメントルートを変更する

前回の記事で、MacOS に同梱されている Apache の設定を変更して、ローカルで CGI が動かせるようになった。 この時、CGI ファイルを格納しているのは /Library/WebServer/Documents/ (ドキュメントルート、URL は http://localhost/ となる) /Library/WebSe…

Mac 内蔵の Apache で Perl CGI を動かせるようにするまで

MacOS には Apache が最初から含まれており、Perl や PHP を CGI としてすぐに動かせる。 今回は、Perl スクリプトを CGI として動かせるようにするため、この Apache の設定をいじってみようと思う。 (昔ワケも分からず色んなところからコードをコピペして…

Excel ドキュメントの納品時に毎回やっていることを一括自動処理する Excel VBA マクロを作った

Excel で作った設計書などを納品する際にやっていることを一括で自動処理する Excel VBA マクロを作った。 まずはコード紹介 このマクロがやれること Windows・MacOS ともに動作するクロスプラットフォームを実現 他に課題とか 以上 まずはコード紹介 先にマ…

MacOS にも PowerShell が入れられたので使ってみた

何やら Mac でも PowerShell が使えるらしく、そんなに使うことはないだろうけど、とりあえず入れてみた。 Installing PowerShell Core on macOS | Microsoft Docs … Microsoft 公式 Homebrew からインストールできる。 $ brew cask install powershell 起動…

MacOS 版 Excel VBA で Dir() 関数の代わり・ファイル一覧を取得する

前回紹介したとおり、Mac 版の Excel VBA では、Dir() 関数がまともに動かない。特に Dir() 関数でファイルの一覧を取得するような処理が全く動かず、Windows 版とは違うコードを書かないといけない。 色々調べてみると、Excel VBA から AppleScript を実行…

Mac の Excel VBA は色々と挙動が違うので、VBA で OS 判別する

最近 Mac で Excel VBA を書く機会があるのだが、Windows の Excel との挙動の違いが多くてつらい。 Excel for Mac のバージョンごとに改善していっているようだが、Excel for Mac 2016 (v15.41) 時点だとこんな感じ。 Dir() 関数でファイル一覧をサクッと取…

MacOS の Finder でファイルをゴミ箱に入れず直接削除するには

Windows エクスプローラだと、Shift + Delete でゴミ箱を経由せず直接ファイル削除ができるが、MacOS の Finder だとやり方はないものか。 調べたところ、Cmd + Option + Delete と押せば良いことが分かった。 参考:ゴミ箱を経由しないでファイルを削除する…

カレントディレクトリ配下のファイルの作成日と更新日を指定の日時に一括変更する Mac 専用シェルスクリプト

ニホンノエスイーの皆さん用。 カレントディレクトリ配下にあるファイルの、作成日時と更新日時を、それぞれ任意の日時に変更できるシェルスクリプトを作った。date コマンドのオプションの書式や、setfile コマンドを使用したりしていることから、Mac 専用…

Neo's Normalize で指定するフォントを見直して v1.0.11 をリリースした

少し前に、Chrome ブラウザで @font-face による游ゴシック Medium 指定が効かなくなっていたことに気付き、色々調査した記事を書いた。 neos21.hatenablog.com この調査を通じて、Neo's Normalize のフォント指定を見直したので、その内容を紹介する。 コレ…

MacOS で設定する defaults コマンドをまとめてみた

これまでどこかで適当に調べては適当に実行していた defaults コマンドだが、この度一つのシェルスクリプトにまとめてみたので、それを紹介する。 dotfiles/MacOS.sh at master · Neos21/dotfiles · GitHub 現時点での内容は以下のとおり。 #!/bin/bash # ==…

MacOS Finder で開いているディレクトリにターミナル上で移動する Bash 関数

MacOS のターミナルで、カレントディレクトリを Finder で開きたい時は、$ open . と叩けば良い。 その逆で、「Finder で開いているディレクトリに、ターミナル上で移動したい」時のコマンドを用意する。 Finder 上からそのディレクトリのターミナルを開く際…

Windows GitBash のプロンプト表示が遅いのをなんとかしたかった

Windows GitBash のプロンプト表示がやたらと遅い。何のコマンドも打たずに Enter を押しただけでも、何か表示がつっかえる。 何が原因かと思って調べてみたところ、どうも GitBash デフォルトのプロンプト内に設定されている __git_ps1 という関数が遅いよ…

Mac に Homebrew で tmux を入れてみた

tmux という、1つのターミナルウィンドウ内に複数のターミナルを分割して配置できるツールを入れてみた。こういうのを「ターミナルマルチプレクサ」と呼ぶらしい。 インストールは Homebrew でサクッと。 $ brew install tmux で、ターミナル上で $ tmux と…

指定ディレクトリ配下の Markdown ファイルに含まれる NFD・NFC 文字を一括相互変換する

Windows ユーザと Mac ユーザが入り混じって、Markdown ファイルを書いていた時に起こった、俗に NFD 問題と言われるアレ。 Mac の Finder で表示されるディレクトリ名やファイル名は、「NFD」という形式で Unicode 正規化されている。平たくいうと、「ガ」…