i3 ライクな Window Manager
better cat
- [catppuccin/bat: 🦇️ Soothing pastel theme for Bat](https://github.com/catppuccin/bat)
Theme には Catppuccin Frappe を使用しています。
初回のみキャッシュをリビルドしましょう。
bat cache --build
画面共有用に仮想ディスプレイ (Virtual Display) を作るアプリ
(emacs-version)
see https://github.com/ataka/emacs-d.git
Better ls
brew install eza
フォントを編集するアプリ。
ARM 用のアプリは提供されていない? `brew` でインストールすると、次の警告が出ます。
==> Caveats fontforge is built for Intel macOS and so requires Rosetta 2 to be installed. You can install Rosetta 2 with: softwareupdate --install-rosetta --agree-to-license Note that it is very difficult to remove Rosetta 2 once it is installed.
幸い手元の環境は既に Rosetta 2 だったのでそのままスルーします。
zoxide
との連携で力を発揮する Fazzy Finder
brew install fzf
.gitconfig
ウィンドウ枠に色を付けるツール。
コマンド名は borders
コマンドランナー。
' , . p y f g c r l a o e u u d h t n s ; q j k x b m w v ]
Home Row Mods の設定は https://github.com/Leo-keeb/Karabiner-Elements-Advanced-Settings を参考にしました。
' , . p y f g c r l Cmd Sft Opt Ctl i d Ctl Opt Sft Cmd ; q j k x b m w v ]
cd ~/project git clone --recursive https://github.com/kmonad/kmonad.git cd kmonad
Karabiner-DriverKit-VirtualHIDDevice のインストール (対話的)
open c_src/mac/Karabiner-DriverKit-VirtualHIDDevice/dist/Karabiner-DriverKit-VirtualHIDDevice-3.1.0.pkg
Karabiner-DriverKit-VirtualHIDDevice をインストール後に実行する
/Applications/.Karabiner-VirtualHIDDevice-Manager.app/Contents/MacOS/Karabiner-VirtualHIDDevice-Manager activate
ビルドして ~/.local/bin にインストール
stack build --flag kmonad:dext --extra-include-dirs=c_src/mac/Karabiner-DriverKit-VirtualHIDDevice/include/pqrs/karabiner/driverkit:c_src/mac/Karabiner-DriverKit-VirtualHIDDevice/src/Client/vendor/include
Catalina (10.15) からキーイベントのキャプチャーにはシステム設定でパーミッションを与える必要があります。 「設定 > プライバシーとセキュリティ > プライバシー > 入力監視」から KMonad を実行するアプリを追加してください。
sudo
を使って起動
sudo ~/.local/bin/kmonad ~/.config/kmonad/foo.kbd
<?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">
<dict>
<key>Label</key>
<string>local.kmonad</string>
<key>Program</key>
<string>/Users/[user]/.local/bin/kmonad</string>
<key>ProgramArguments</key>
<array>
<string>/Users/[user]/.local/bin/kmonad</string>
<string>/Users/[user]/.config/config.kbd</string>
</array>
<key>RunAtLoad</key>
<true />
<key>StandardOutPath</key>
<string>/tmp/kmonad.stdout</string>
<key>StandardErrorPath</key>
<string>/tmp/kmonad.stderr</string>
</dict>
</plist>
.screenrc
Better メニューバー
完全にメニューバーを非表示にする方法はないので、自動表示を「常に」に設定します。
- 設定アプリ > コントロールセンター > 「メニューバーを自動的に表示/非表示」 > 常に
brew services start sketchybar
brew install jandedobbeleer/oh-my-posh/oh-my-posh
brew install --cask wezterm
Cmd + T
タブを新しく作るCmd + W
タブを閉じる
Catppuccin Frappe テーマを使用しています。
Wezterm はシステムのライト/ダークテーマの切替に対応していますが、その機能を利用していません。 Wezterm 上で使う CUI ツールが対応していないためです。
Better cd
brew install zoxide
.zshrc
.zprofile
brew install zsh
/etc/shells
に次の行を追加します。
/opt/homebrew/bin/zsh
その後、ログイン・シェルの変更を実施します。
chsh -s /opt/homebrew/bin/zsh
Mermaid のソースコードから画像等を作成するコマンドラインツール。
npm install -g @mermaid-js/mermaid-cli
次の Rakefile を用意しておくと、ビルドが楽になります。
PLANTUML = "/opt/homebrew/bin/plantuml"
task :default => :uml
desc "UML 図を更新する"
task :uml => %w[
foo.png
]
rule '.png' => '.mmdc' do |t|
sh "mmdc -i #{t.source} -o #{t.name}"
end
PlantUML のソースコードから画像等を作成するコマンドラインツール。
brew install plantuml
次の Rakefile を用意しておくと、ビルドが楽になります。
PLANTUML = "/opt/homebrew/bin/plantuml"
task :default => :uml
desc "UML 図を更新する"
task :uml => %w[
foo.png
]
rule '.png' => '.plantuml' do |t|
sh "#{PLANTUML} #{t.source}"
end
BIZ UDGothic と JetBrains Mono を組み合わせたフォント。
JetBrains Mono は Ligature に対応しています。
Nerd Fonts に対応した UDEVGothic_NF_v2.0.0.zip
をダウンロードしています。
Ligature に対応した英文フォント。
- Text Attributes
- 0 : All attributes off
- 1 : Bold on
- 2 : Dim/Faint on
- 3 : Italic on
- 4 : Underscore
- 5 : Blink on
- 6 : Hidden on
- 7 : Reverse video on
- 8 : Concealed on
- 9 : Strikethrough on
Color Name | Foreground Color | Background Color |
---|---|---|
Black | 30 | 40 |
Red | 31 | 41 |
Green | 32 | 42 |
Yellow | 33 | 43 |
Blue | 34 | 44 |
Magenta | 35 | 45 |
Cyan | 36 | 46 |
White | 37 | 47 |
Bright Black | 90 | 100 |
Bright Red | 91 | 101 |
Bright Green | 92 | 102 |
Bright Yellow | 99 | 109 |
Bright Blue | 94 | 104 |
Bright Magenta | 95 | 105 |
Bright Cyan | 96 | 106 |
Bright White | 97 | 107 |
Color Name | ANSI | Bright | ANSI Name | Bright Name |
---|---|---|---|---|
Black | #51576d | #626880 | surface1 | surface2 |
Red | #e78284 | #e78284 | red | red |
Green | #a6d189 | #a6d189 | green | green |
Yellow | #e5c890 | #e5c890 | yellow | yellow |
Blue | #8caaee | #8caaee | blue | blue |
Magenta | #f4b8e4 | #f4b8e4 | pink | pink |
Cyan | #81c8be | #81c8be | teal | teal |
White | #b5bfe2 | #a5adce | subtext1 | subtext0 |
<<<<<<< Updated upstream =======
JavaScript
<script src="https://cdn.jsdelivr.net/combine/npm/prismjs@1/components/prism-core.min.js,npm/prismjs@1/components/prism-bash.min.js,npm/prismjs@1/components/prism-css.min.js,npm/prismjs@1/components/prism-diff.min.js,npm/prismjs@1/components/prism-git.min.js,npm/prismjs@1/components/prism-javascript.min.js,npm/prismjs@1/components/prism-json.min.js,npm/prismjs@1/components/prism-jsonp.min.js,npm/prismjs@1/components/prism-lisp.min.js,npm/prismjs@1/components/prism-markdown.min.js,npm/prismjs@1/components/prism-mermaid.min.js,npm/prismjs@1/components/prism-ruby.min.js,npm/prismjs@1/components/prism-shell-session.min.js,npm/prismjs@1/components/prism-sql.min.js,npm/prismjs@1/components/prism-swift.min.js,npm/prismjs@1/components/prism-toml.min.js,npm/prismjs@1/components/prism-xml-doc.min.js,npm/prismjs@1/components/prism-yaml.min.js,npm/prismjs@1/components/prism-lua.min.js,npm/prismjs@1,npm/prismjs@1/plugins/line-numbers/prism-line-numbers.min.js,npm/prismjs@1/plugins/line-highlight/prism-line-highlight.min.js,npm/prismjs@1/plugins/toolbar/prism-toolbar.min.js,npm/prismjs@1/plugins/show-language/prism-show-language.min.js,npm/prismjs@1/plugins/copy-to-clipboard/prism-copy-to-clipboard.min.js,npm/prismjs@1/plugins/treeview/prism-treeview.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1/plugins/autoloader/prism-autoloader.min.js"></script>
CSS
<link rel="stylesheet" href="https://cdn.jsdelivr.net/combine/npm/prismjs@1/themes/prism.min.css,npm/prismjs@1/plugins/line-numbers/prism-line-numbers.min.css,npm/prismjs@1/plugins/line-highlight/prism-line-highlight.min.css,npm/prismjs@1/plugins/toolbar/prism-toolbar.min.css,npm/prismjs@1/plugins/treeview/prism-treeview.min.css"/>
>>>>>>> Stashed changes