【tmux】Powerlineでステータスバーをカスタマイズ

スポンサーリンク

はじめに

tmuxでPowerlineを設定する方法を紹介します。

今回導入するPowerlineは下記になります。

GitHub - powerline/powerline: Powerline is a statusline plugin for vim, and provides statuslines and prompts for several other applications, including zsh, bash, tmux, IPython, Awesome and Qtile.
Powerline is a statusline plugin for vim, and provides statuslines and prompts for several other applications, including zsh, bash, tmux, IPython, Awesome and Q...

tmux-powerlineというのもありますが、今は積極的な開発が行われておらず、上記のPowerlineを紹介しています。

GitHub - erikw/tmux-powerline: A hackable statusbar for tmux consisting of dynamic & beautiful looking segments, inspired by vim-powerline, written purely in bash.
A hackable statusbar for tmux consisting of dynamic & beautiful looking segments, inspired by vim-powerline, written purely in bash. - GitHub - erikw/tmux-power...

tmuxの基本的な部分については、下記で解説しています。

【入門】tmux始めてみる
はじめにtmuxについて、基本的なことを理解して使えるようになるまでを解説していこうと思います。tmuxとはtmuxとは、端末多重化ソフトウェア(Terminal Multiplexer)です。端末多重化ソフトウェアと言ってもわかりにくいで...
【tmux】プラグインを使ってみる
はじめにtmuxでのプラグインの導入方法と参考用に現在利用しているプラグインとその設定を紹介したいと思います。tmuxの基礎的な部分は下記で解説しています。tmuxのプラグイン管理tmuxではプラグインを利用することで見た目や操作方法をカス...

完成系

今回設定するのは画像のようなtmuxのステータスバーになります。

powerlineのインストール

まずはPowerlineをインストールします。

pip install powerline-status

フォントのインストール

Powerlineで使用するフォントをインストールします。

git clone https://github.com/powerline/fonts.git --depth=1
cd fonts
./install.sh
cd ..
rm -rf fonts

インストールしたフォントの中から好きなものを選び、ターミナルのフォントに設定します。

iTerm2の場合は下記のようになります。

tmuxの設定

.tmux.confに設定を追加します。

まずはインストールしたpowerline-statusのパスをpip showで確認します。

❯ pip show powerline-status
Name: powerline-status
Version: 2.7
Summary: The ultimate statusline/prompt utility.
Home-page: https://github.com/powerline/powerline
Author: Kim Silkebaekken
Author-email: [email protected]
License: MIT
Location: /usr/local/lib/python3.9/site-packages # インストールされているディレクトリを確認
Requires:
Required-by: powerline-k8s, powerline-kubernetes

.tmux.confに下記の設定を追記します。

source "{インストールされているディレクトリ}/powerline/bindings/tmux/powerline.conf"
run-shell "powerline-daemon -q"

.tmux.confを読み込めばデフォルトの設定でPowerlineが表示されるかと思います。

tmux source ~/.tmux.conf

Powerlineの設定

ここからPowerlineのカスタマイズをしていきます。

powerline_mem_segmentのインストール

はじめに、メモリの使用量を表示するためのツールをインストールしておきます。

pip install powerline-mem-segment
GitHub - mKaloer/powerline_mem_segment
Contribute to mKaloer/powerline_mem_segment development by creating an account on GitHub.

設定ファイルのディレクトリ

インストールしたpowerline/config_files配下にデフォルトの設定ファイルが揃っています。

❯ pwd
/usr/local/lib/python3.9/site-packages/powerline/config_files

❯ tree -L 2
.
├── config.json # メインの設定ファイル
├── colors.json # 色の定義
├── colorschemes # 表示内容ごとの色設定
│   ├── default.json
│   ├── ipython
│   ├── pdb
│   ├── shell
│   ├── solarized.json
│   ├── tmux
│   └── vim
└── themes # 表示する項目の設定
    ├── ascii.json
    ├── ipython
    ├── pdb
    ├── powerline.json
    ├── powerline_terminus.json
    ├── powerline_unicode7.json
    ├── shell
    ├── tmux
    ├── unicode.json
    ├── unicode_terminus.json
    ├── unicode_terminus_condensed.json
    ├── vim
    └── wm

設定のカスタマイズをする場合は~/.config/powerline配下に同じ構成のファイルを配置することでカスタマイズが可能です。

今回作成する設定ファイルは下記の通りです。

❯ pwd
~/.config/powerline

❯ tree .
├── config.json
├── colors.json
├── colorschemes
│   └── tmux
│       └── tmux-colorscheme.json
└── themes
    └── tmux
        └── tmux-theme.json

基本的にデフォルトの設定ファイルを参考にカスタマイズしています。

color.json

まずは~/.config/powerline/color.jsonを作成します。

今後変更する可能性があるためファイルを作成しましたが、内容はデフォルトと同じにしています。

{
    "colors": {
        "black": 16,
        "white": 231,

        "green": 2,
        "darkestgreen": 22,
        "darkgreen": 28,
        "mediumgreen": 70,
        "brightgreen": 148,

        "darkestcyan": 23,
        "darkcyan": 74,
        "mediumcyan": 117,
        "brightcyan": 159,

        "darkestblue": 24,
        "darkblue": 31,

        "red": 1,
        "darkestred": 52,
        "darkred": 88,
        "mediumred": 124,
        "brightred": 160,
        "brightestred": 196,

        "darkestpurple": 55,
        "mediumpurple": 98,
        "brightpurple": 189,

        "darkorange": 94,
        "mediumorange": 166,
        "brightorange": 208,
        "brightestorange": 214,

        "yellow": 11,
        "brightyellow": 220,

        "gray0": 233,
        "gray1": 235,
        "gray2": 236,
        "gray3": 239,
        "gray4": 240,
        "gray5": 241,
        "gray6": 244,
        "gray7": 245,
        "gray8": 247,
        "gray9": 250,
        "gray10": 252,

        "gray11": 234,
        "gray90": 254,

        "gray70": [249, "b3b3b3"],

        "lightyellowgreen": 106,
        "gold3": 178,
        "orangered": 202,

        "steelblue": 67,
        "darkorange3": 166,
        "skyblue1": 117,
        "khaki1": 228,

        "solarized:base03": [8, "002b36"],
        "solarized:base02": [0, "073642"],
        "solarized:base01": [10, "586e75"],
        "solarized:base00": [11, "657b83"],
        "solarized:base0": [12, "839496"],
        "solarized:base1": [14, "93a1a1"],
        "solarized:base2": [7, "eee8d5"],
        "solarized:base3": [15, "fdf6e3"],
        "solarized:yellow": [3, "b58900"],
        "solarized:orange": [9, "cb4b16"],
        "solarized:red": [1, "dc322f"],
        "solarized:magenta": [5, "d33682"],
        "solarized:violet": [13, "6c71c4"],
        "solarized:blue": [4, "268bd2"],
        "solarized:cyan": [6, "2aa198"],
        "solarized:green": [2, "859900"]
    },
    "gradients": {
        "dark_GREEN_Orange_red": [
            [22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 94, 94, 94, 94, 94, 94, 94, 88, 52],
            ["006000", "006000", "006000", "006000", "006000", "006000", "006000", "006000", "006000", "036000", "076000", "0a6000", "0d6000", "106000", "126000", "146000", "166000", "186000", "1a6000", "1b6000", "1d6000", "1e6000", "206000", "216000", "236000", "246000", "256000", "266000", "286000", "296000", "2a6000", "2b6000", "2c6100", "2d6100", "2f6100", "306100", "316100", "326100", "336100", "346100", "356100", "366100", "376100", "386100", "386100", "396100", "3a6100", "3b6100", "3c6100", "3d6100", "3e6100", "3f6100", "406100", "406100", "416100", "426000", "436000", "446000", "456000", "456000", "466000", "476000", "486000", "496000", "496000", "4a6000", "4b6000", "4c6000", "4d6000", "4d6000", "4e6000", "4f6000", "506000", "506000", "516000", "526000", "536000", "536000", "546000", "556000", "566000", "566000", "576000", "586000", "596000", "596000", "5a6000", "5d6000", "616000", "646000", "686000", "6b6000", "6f6000", "726000", "766000", "796000", "7d6000", "806000", "7e5500", "6f3105", "5d0001"]
        ],
        "GREEN_Orange_red": [
            [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1],
            ["005f00", "015f00", "025f00", "035f00", "045f00", "055f00", "065f00", "075f00", "085f00", "095f00", "0b5f00", "0c5f00", "0d5f00", "0e5f00", "0f5f00", "105f00", "115f00", "125f00", "135f00", "145f00", "165f00", "175f00", "185f00", "195f00", "1a5f00", "1b5f00", "1c5f00", "1d5f00", "1e5f00", "1f5f00", "215f00", "225f00", "235f00", "245f00", "255f00", "265f00", "275f00", "285f00", "295f00", "2a5f00", "2c5f00", "2d5f00", "2e5f00", "2f5f00", "305f00", "315f00", "325f00", "335f00", "345f00", "355f00", "375f00", "385f00", "395f00", "3a5f00", "3b5f00", "3c5f00", "3d5f00", "3e5f00", "3f5f00", "415f00", "425f00", "435f00", "445f00", "455f00", "465f00", "475f00", "485f00", "495f00", "4a5f00", "4c5f00", "4d5f00", "4e5f00", "4f5f00", "505f00", "515f00", "525f00", "535f00", "545f00", "555f00", "575f00", "585f00", "595f00", "5a5f00", "5b5f00", "5c5f00", "5d5f00", "5e5f00", "615f00", "655f00", "685f00", "6c5f00", "6f5f00", "735f00", "765f00", "7a5f00", "7d5f00", "815f00", "845f00", "815200", "702900"]
        ],
        "green_yellow_red": [
            [190, 184, 178, 172, 166, 160],
            ["8ae71c", "8ce71c", "8fe71c", "92e71c", "95e71d", "98e71d", "9ae71d", "9de71d", "a0e71e", "a3e71e", "a6e71e", "a8e71e", "abe71f", "aee71f", "b1e71f", "b4e71f", "b6e720", "b9e720", "bce720", "bfe720", "c2e821", "c3e721", "c5e621", "c7e521", "c9e522", "cbe422", "cde322", "cfe222", "d1e223", "d3e123", "d5e023", "d7df23", "d9df24", "dbde24", "dddd24", "dfdc24", "e1dc25", "e3db25", "e5da25", "e7d925", "e9d926", "e9d626", "e9d426", "e9d126", "e9cf27", "e9cc27", "e9ca27", "e9c727", "e9c528", "e9c228", "e9c028", "e9bd28", "e9bb29", "e9b829", "e9b629", "e9b329", "e9b12a", "e9ae2a", "e9ac2a", "e9a92a", "eaa72b", "eaa42b", "eaa22b", "ea9f2b", "ea9d2c", "ea9b2c", "ea982c", "ea962c", "ea942d", "ea912d", "ea8f2d", "ea8d2d", "ea8a2e", "ea882e", "ea862e", "ea832e", "ea812f", "ea7f2f", "ea7c2f", "ea7a2f", "eb7830", "eb7530", "eb7330", "eb7130", "eb6f31", "eb6c31", "eb6a31", "eb6831", "eb6632", "eb6332", "eb6132", "eb5f32", "eb5d33", "eb5a33", "eb5833", "eb5633", "eb5434", "eb5134", "eb4f34", "eb4d34", "ec4b35"]
        ],
        "green_yellow_orange_red": [
            [2, 3, 9, 1],
            ["719e07", "739d06", "759c06", "779c06", "799b06", "7b9a05", "7d9a05", "7f9905", "819805", "839805", "859704", "879704", "899604", "8b9504", "8d9504", "8f9403", "919303", "949303", "969203", "989102", "9a9102", "9c9002", "9e9002", "a08f02", "a28e01", "a48e01", "a68d01", "a88c01", "aa8c01", "ac8b00", "ae8a00", "b08a00", "b28900", "b58900", "b58700", "b68501", "b78302", "b78102", "b87f03", "b97d04", "b97b04", "ba7905", "bb7806", "bb7606", "bc7407", "bd7208", "bd7008", "be6e09", "bf6c0a", "bf6a0a", "c0690b", "c1670c", "c1650c", "c2630d", "c3610e", "c35f0e", "c45d0f", "c55b10", "c55a10", "c65811", "c75612", "c75412", "c85213", "c95014", "c94e14", "ca4c15", "cb4b16", "cb4a16", "cc4917", "cc4818", "cd4719", "cd4719", "ce461a", "ce451b", "cf441c", "cf441c", "d0431d", "d0421e", "d1411f", "d1411f", "d24020", "d23f21", "d33e22", "d33e22", "d43d23", "d43c24", "d53b25", "d53b25", "d63a26", "d63927", "d73828", "d73828", "d83729", "d8362a", "d9352b", "d9352b", "da342c", "da332d", "db322e", "dc322f"]
        ],
        "yellow_red": [
            [220, 178, 172, 166, 160],
            ["ffd700", "fdd500", "fbd300", "fad200", "f8d000", "f7cf00", "f5cd00", "f3cb00", "f2ca00", "f0c800", "efc700", "edc500", "ebc300", "eac200", "e8c000", "e7bf00", "e5bd00", "e3bb00", "e2ba00", "e0b800", "dfb700", "ddb500", "dbb300", "dab200", "d8b000", "d7af00", "d7ad00", "d7ab00", "d7aa00", "d7a800", "d7a700", "d7a500", "d7a300", "d7a200", "d7a000", "d79f00", "d79d00", "d79b00", "d79a00", "d79800", "d79700", "d79500", "d79300", "d79200", "d79000", "d78f00", "d78d00", "d78b00", "d78a00", "d78800", "d78700", "d78500", "d78300", "d78200", "d78000", "d77f00", "d77d00", "d77b00", "d77a00", "d77800", "d77700", "d77500", "d77300", "d77200", "d77000", "d76f00", "d76d00", "d76b00", "d76a00", "d76800", "d76700", "d76500", "d76300", "d76200", "d76000", "d75f00", "d75b00", "d75700", "d75300", "d74f00", "d74c00", "d74800", "d74400", "d74000", "d73c00", "d73900", "d73500", "d73100", "d72d00", "d72900", "d72600", "d72200", "d71e00", "d71a00", "d71600", "d71300", "d70f00", "d70b00", "d70700"]
        ],
        "yellow_orange_red": [
            [3, 9, 1],
            ["b58900", "b58700", "b58600", "b68501", "b68401", "b78202", "b78102", "b88003", "b87f03", "b87d03", "b97c04", "b97b04", "ba7a05", "ba7805", "bb7706", "bb7606", "bc7507", "bc7307", "bc7207", "bd7108", "bd7008", "be6e09", "be6d09", "bf6c0a", "bf6b0a", "c06a0b", "c0680b", "c0670b", "c1660c", "c1650c", "c2630d", "c2620d", "c3610e", "c3600e", "c35e0e", "c45d0f", "c45c0f", "c55b10", "c55910", "c65811", "c65711", "c75612", "c75412", "c75312", "c85213", "c85113", "c94f14", "c94e14", "ca4d15", "ca4c15", "cb4b16", "cb4a16", "cb4a17", "cc4917", "cc4918", "cc4818", "cd4819", "cd4719", "cd471a", "ce461a", "ce461b", "ce451b", "cf451c", "cf441c", "cf441d", "d0431d", "d0431e", "d0421e", "d1421f", "d1411f", "d14120", "d24020", "d24021", "d23f21", "d33f22", "d33e22", "d33e23", "d43d23", "d43d24", "d43c24", "d53c25", "d53b25", "d53b26", "d63a26", "d63a27", "d63927", "d73928", "d73828", "d73829", "d83729", "d8372a", "d8362a", "d9362b", "d9352b", "d9352c", "da342c", "da342d", "da332d", "db332e"]
        ],
        "blue_red": [
            [39, 74, 68, 67, 103, 97, 96, 132, 131, 167, 203, 197],
            ["19b4fe", "1bb2fc", "1db1fa", "1faff8", "22aef6", "24adf4", "26abf2", "29aaf0", "2ba9ee", "2da7ec", "30a6ea", "32a5e8", "34a3e6", "36a2e4", "39a0e2", "3b9fe1", "3d9edf", "409cdd", "429bdb", "449ad9", "4798d7", "4997d5", "4b96d3", "4d94d1", "5093cf", "5292cd", "5490cb", "578fc9", "598dc7", "5b8cc6", "5e8bc4", "6089c2", "6288c0", "6487be", "6785bc", "6984ba", "6b83b8", "6e81b6", "7080b4", "727eb2", "757db0", "777cae", "797aac", "7b79ab", "7e78a9", "8076a7", "8275a5", "8574a3", "8772a1", "89719f", "8c709d", "8e6e9b", "906d99", "926b97", "956a95", "976993", "996791", "9c668f", "9e658e", "a0638c", "a3628a", "a56188", "a75f86", "a95e84", "ac5c82", "ae5b80", "b05a7e", "b3587c", "b5577a", "b75678", "ba5476", "bc5374", "be5273", "c05071", "c34f6f", "c54e6d", "c74c6b", "ca4b69", "cc4967", "ce4865", "d14763", "d34561", "d5445f", "d7435d", "da415b", "dc4059", "de3f58", "e13d56", "e33c54", "e53a52", "e83950", "ea384e", "ec364c", "ee354a", "f13448", "f33246", "f53144", "f83042", "fa2e40"]
        ],
        "white_red": [
            [231, 255, 223, 216, 209, 202, 196],
            ["ffffff", "fefefe", "fdfdfd", "fdfdfd", "fcfcfc", "fbfbfb", "fafafa", "fafafa", "f9f9f9", "f8f8f8", "f7f7f7", "f7f7f7", "f6f6f6", "f5f5f5", "f4f4f4", "f4f3f4", "f3f3f3", "f2f2f2", "f1f1f1", "f0f0f0", "f0f0f0", "efefef", "eeeeee", "efecea", "f1eae4", "f2e8de", "f3e6d8", "f5e4d3", "f6e2cd", "f7e0c7", "f8dec2", "f9dcbc", "fadab6", "fad8b1", "fbd5ac", "fbd2a9", "fbcea5", "fbcaa1", "fbc79e", "fbc39a", "fbc097", "fbbc93", "fbb88f", "fbb58c", "fab188", "faad85", "faaa81", "fba67e", "fba37a", "fb9f76", "fb9c73", "fb986f", "fb946c", "fb9168", "fa8d65", "fa8961", "fa865c", "fa8256", "fb7f4f", "fb7b48", "fb7841", "fb743a", "fb7133", "fb6d2c", "fa6a23", "fa661a", "fa620e", "fa5f03", "fa5d03", "fa5b03", "fa5a03", "fa5803", "fa5703", "fa5503", "fa5303", "fa5103", "fa4f03", "fa4e03", "fa4c03", "fa4a04", "fa4804", "fa4604", "fa4404", "fa4204", "fa3f04", "fa3d04", "fa3b04", "fa3805", "fa3605", "fa3305", "fb3105", "fb2e05", "fb2a05", "fb2705", "fb2306", "fb1f06", "fb1b06", "fb1506", "fb0e06", "fa0506", "fa0007"]
        ],
        "dark_green_gray": [
            [70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247],
            ["51b000", "52b000", "54b000", "55b002", "56b007", "57b00d", "58b011", "59af15", "5aaf18", "5caf1b", "5daf1e", "5eaf21", "5faf23", "60ae25", "61ae27", "62ae2a", "63ae2c", "64ae2e", "65ae30", "66ae31", "67ad33", "68ad35", "69ad37", "69ad38", "6aad3a", "6bad3c", "6cac3d", "6dac3f", "6eac40", "6fac42", "70ac44", "70ac45", "71ab47", "72ab48", "73ab49", "74ab4b", "75ab4c", "75ab4e", "76aa4f", "77aa51", "78aa52", "79aa53", "79aa55", "7aaa56", "7ba957", "7ca959", "7ca95a", "7da95b", "7ea95d", "7fa95e", "7fa85f", "80a861", "81a862", "81a863", "82a865", "83a766", "83a767", "84a768", "85a76a", "85a76b", "86a66c", "87a66d", "87a66f", "88a670", "89a671", "89a672", "8aa574", "8ba575", "8ba576", "8ca577", "8da579", "8da47a", "8ea47b", "8ea47c", "8fa47d", "90a47f", "90a380", "91a381", "91a382", "92a384", "93a385", "93a286", "94a287", "94a288", "95a28a", "95a18b", "96a18c", "97a18d", "97a18e", "98a190", "98a091", "99a092", "99a093", "9aa094", "9aa096", "9b9f97", "9b9f98", "9c9f99", "9c9f9a", "9d9e9c", "9d9e9d"]
        ],
        "light_green_gray": [
            [148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 187, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250],
            ["a3d900", "a4d800", "a4d800", "a5d805", "a5d80d", "a6d714", "a6d719", "a6d71d", "a7d621", "a7d625", "a8d628", "a8d62b", "a8d52e", "a9d531", "a9d533", "aad536", "aad438", "aad43a", "abd43d", "abd33f", "abd341", "acd343", "acd345", "acd247", "add249", "add24b", "add14d", "aed14f", "aed151", "aed152", "afd054", "afd056", "afd058", "b0d059", "b0cf5b", "b0cf5d", "b1cf5e", "b1ce60", "b1ce62", "b1ce63", "b2ce65", "b2cd67", "b2cd68", "b3cd6a", "b3cc6b", "b3cc6d", "b3cc6e", "b4cc70", "b4cb71", "b4cb73", "b4cb75", "b5ca76", "b5ca78", "b5ca79", "b5ca7a", "b6c97c", "b6c97d", "b6c97f", "b6c880", "b6c882", "b7c883", "b7c885", "b7c786", "b7c788", "b7c789", "b8c68a", "b8c68c", "b8c68d", "b8c68f", "b8c590", "b9c591", "b9c593", "b9c494", "b9c496", "b9c497", "b9c498", "bac39a", "bac39b", "bac39d", "bac29e", "bac29f", "bac2a1", "bac2a2", "bac1a4", "bbc1a5", "bbc1a6", "bbc0a8", "bbc0a9", "bbc0aa", "bbc0ac", "bbbfad", "bbbfae", "bbbfb0", "bbbeb1", "bcbeb3", "bcbeb4", "bcbdb5", "bcbdb7", "bcbdb8", "bcbdb9", "bcbcbb"]
        ]
    }
}

themesの設定

次に表示する項目を設定する~/.config/powerline/themes/tmux/tmux-colorscheme.jsonを作成します。

{
    "segments": {
        "right": [
            {
                "function": "powerlinemem.mem_usage.mem_usage",
                "before": "MEM: ",
                "args": {
                    "short": true
                },
                "priority": 50
            },
            {
                "function": "powerline.segments.common.sys.cpu_load_percent",
                "before": "CPU: ",
                "priority": 50
            },
            {
                "function": "powerline.segments.common.net.network_load",
                "args": {
                    "recv_format": " \uf0ab {value:>8}",
                    "sent_format": " \uf0aa {value:>8}",
                    "recv_max": 1000000,
                    "sent_max": 1000000
                },
                "priority": 100
            },
            {
                "function": "powerline.segments.common.bat.battery",
                "priority": 100
            },
            {
                "function": "powerline.segments.common.time.date",
                "args": {
                  "format": "%Y/%m/%d(%a)"
                },
                "priority": 10
            },
            {
                "function": "powerline.segments.common.time.date",
                "args": {
                    "format": "%H:%M",
                    "istime": true
                },
                "priority": 10
            },
            {
                "function": "powerline.segments.common.env.user",
                "priority": 10
            }
        ]
    }
}

colorschemesの設定

表示する項目の色を設定する~/.config/powerline/colorschemes/tmux/tmux-colorscheme.jsonを作成します。

{
  "name": "Default",
  "groups": {
    "information:additional":     { "fg": "gray9", "bg": "gray4", "attrs": [] },
    "information:regular":        { "fg": "gray10", "bg": "gray4", "attrs": ["bold"] },
    "information:highlighted":    { "fg": "white", "bg": "gray4", "attrs": [] },
    "information:priority":       { "fg": "brightyellow", "bg": "mediumorange", "attrs": [] },
    "warning:regular":            { "fg": "white", "bg": "brightred", "attrs": ["bold"] },
    "critical:failure":           { "fg": "white", "bg": "darkestred", "attrs": [] },
    "critical:success":           { "fg": "white", "bg": "darkestgreen", "attrs": [] },
    "background":                 { "fg": "white", "bg": "gray0", "attrs": [] },
    "background:divider":         { "fg": "gray5", "bg": "gray0", "attrs": [] },
    "date":                       { "fg": "gray8", "bg": "gray2", "attrs": [] },
    "time":                       { "fg": "gray10", "bg": "gray2", "attrs": ["bold"] },
    "time:divider":               { "fg": "gray5", "bg": "gray2", "attrs": [] },
    "email_alert":                "warning:regular",
    "email_alert_gradient":       { "fg": "white", "bg": "yellow_orange_red", "attrs": ["bold"] },
    "hostname":                   { "fg": "black", "bg": "gray10", "attrs": ["bold"] },
    "weather":                    { "fg": "gray8", "bg": "gray0", "attrs": [] },
    "weather_temp_gradient":      { "fg": "blue_red", "bg": "gray0", "attrs": [] },
    "weather_condition_hot":      { "fg": "khaki1", "bg": "gray0", "attrs": [] },
    "weather_condition_snowy":    { "fg": "skyblue1", "bg": "gray0", "attrs": [] },
    "weather_condition_rainy":    { "fg": "skyblue1", "bg": "gray0", "attrs": [] },
    "uptime":                     { "fg": "gray8", "bg": "gray0", "attrs": [] },
    "external_ip":                { "fg": "gray8", "bg": "gray0", "attrs": [] },
    "internal_ip":                { "fg": "gray8", "bg": "gray0", "attrs": [] },
    "network_load":               { "fg": "gray8", "bg": "gray0", "attrs": [] },
    "network_load_gradient":      { "fg": "green_yellow_orange_red", "bg": "gray0", "attrs": [] },
    "network_load_sent_gradient": "network_load_gradient",
    "network_load_recv_gradient": "network_load_gradient",
    "network_load:divider":       "background:divider",
    "system_load":                { "fg": "gray8", "bg": "gray0", "attrs": [] },
    "system_load_gradient":       { "fg": "green_yellow_orange_red", "bg": "gray0", "attrs": [] },
    "environment":                { "fg": "gray8", "bg": "gray0", "attrs": [] },
    "cpu_load_percent":           { "fg": "gray8", "bg": "gray0", "attrs": [] },
    "cpu_load_percent_gradient":  { "fg": "green_yellow_orange_red", "bg": "gray0", "attrs": [] },
    "battery":                    { "fg": "gray8", "bg": "gray0", "attrs": [] },
    "battery_gradient":           { "fg": "green_yellow_orange_red", "bg": "gray0", "attrs": [] },
    "battery_full":               { "fg": "green", "bg": "gray0", "attrs": [] },
    "battery_empty":              { "fg": "red", "bg": "gray0", "attrs": [] },
    "player":                     { "fg": "gray10", "bg": "black", "attrs": [] },
    "user":                       { "fg": "white", "bg": "darkblue", "attrs": ["bold"] },
    "branch":                     { "fg": "gray9", "bg": "gray2", "attrs": [] },
    "branch_dirty":               { "fg": "brightyellow", "bg": "gray2", "attrs": [] },
    "branch_clean":               { "fg": "gray9", "bg": "gray2", "attrs": [] },
    "branch:divider":             { "fg": "gray7", "bg": "gray2", "attrs": [] },
    "stash":                      "branch_dirty",
    "stash:divider":              "branch:divider",
    "cwd":                        "information:additional",
    "cwd:current_folder":         "information:regular",
    "cwd:divider":                { "fg": "gray7", "bg": "gray4", "attrs": [] },
    "virtualenv":                 { "fg": "white", "bg": "darkcyan", "attrs": [] },
    "attached_clients":           { "fg": "gray8", "bg": "gray0", "attrs": [] },
    "mem_usage":                 { "fg": "gray8", "bg": "gray0", "attrs": [] },
    "mem_usage_gradient":        { "fg": "green_yellow_orange_red", "bg": "gray0", "attrs": [] },
    "active_window_status": {"fg": "darkblue",   "bg": "gray0",    "attrs": []},
    "window_status":        {"fg": "gray70",     "bg": "gray0",    "attrs": []},
    "activity_status":      {"fg": "yellow",     "bg": "gray0",    "attrs": []},
    "bell_status":          {"fg": "red",        "bg": "gray0",    "attrs": []},
    "window":               {"fg": "gray6",      "bg": "gray0",    "attrs": []},
    "window:divider":       {"fg": "gray4",      "bg": "gray0",    "attrs": []},
    "window:current":       {"fg": "mediumcyan", "bg": "darkblue", "attrs": []},
    "window_name":          {"fg": "white",      "bg": "darkblue", "attrs": ["bold"]},
    "session":              {"fg": "black",      "bg": "gray90",   "attrs": ["bold"]},
    "session:prefix":       {"fg": "gray90",     "bg": "darkblue", "attrs": ["bold"]}
  }
}

表示していない項目の設定も後々変更するときのために残しています。

config.json

カスタマイズしたColorSchemeとThemeを使うように全体設定のファイル~/.config/powerline/config.jsonを作成します。

{
    "common": {
        "term_truecolor": false
    },
    "ext": {
        "tmux": {
            "colorscheme": "tmux-colorscheme",
            "theme": "tmux-theme"
        }
    }
}

設定反映

最後に.tmux.confを読み込むことで設定が反映されます。

tmux source ~/.tmux.conf

ネットワークやCPUの情報が表示されない場合

正しく設定してもCPUの利用料とネットワークの情報が表示されないという現象が発生しました。

これらの設定にはpsutilが必要なので、インストールされていない場合はインストールしてください。

pip install psutil

また、私の場合はインストールしても表示されず、OSのアップデートをしたところ表示されるようになりました。

下記のissueでもOSのアップデートをしたら表示されるようになったとありますが、私の場合はこのissueに記載されているバージョンでも表示されていなかったので、OSのバージョンアップというより再起動で表示されるようになるのかもしれません。

some segments not showing in tmux on macOS · Issue #2191 · powerline/powerline
Hi there, I just set up a new mac book and some of the segments are not showing in tmux. my configuration: ~/.config/powerline/themes/tmux/default.json { "segme...

実際に別のPCでは再起動で表示されるようになりました。

左側のステータスバーを変更したい

左側のステータスバーのデフォルトで表示されている内容を変更したい場合は、powerline/bindings/tmuxにあるファイルを変更すると変えることができます。

無理矢理な変更な気がするので、より良い方法がわかったら更新したいと思います。

❯ pwd
/usr/local/lib/python3.9/site-packages/powerline/bindings/tmux

❯ ls
__init__.py                   powerline-base.conf           powerline_tmux_1.7_plus.conf  powerline_tmux_1.8_minus.conf powerline_tmux_1.9_plus.conf
__pycache__                   powerline.conf                powerline_tmux_1.8.conf       powerline_tmux_1.8_plus.conf  powerline_tmux_2.1_plus.conf

私はウィンドウ番号の横の「*」や「-」を表示したくなかったので、無理矢理変更しました。

dotfiles

あまり整備できてないですが、dotfilesとしてGithubにもあるので参考にしてください。

GitHub - monda00/dotfiles: my dotfiles
my dotfiles. Contribute to monda00/dotfiles development by creating an account on GitHub.

参考

タイトルとURLをコピーしました