I3 Session Save

i3 wm で セッションを保存するには anyevent-i3およびperl-json-xsをインストールしておく sudo pacman -Ss perl-anyevent-i3 sudo pacman -Ss perl-json-xs 最初にworkspace でターミナルをいくつか開き、好きなレイアウトにしておく。ここが対象のworkspaceとなる。 次に、別のworkspaceで、対象のworkspace を指定してi3のレイアウトの配置をファイルに保存する。 i3-save-tree --workspace 1 > ~/.config/i3/workspace_1.json 保存したファイルから、コメントを取り除く。 tail -n +2 ~/.config/i3/workspace_1.json | fgrep -v '// split' | sed 's|//||g' > ~/.config/i3/workspace_1.json 作成したファイルをよみだすスクリプトを作成する。 load_layout.sh #!/bin/bash i3-msg "workspace 1; append_layout ~/.config/i3/workspace_1.json" レイアウトにあわせて起動したいアプリケーションを以下の形式で呼出すように、スクリプトに追記する。 (urxvt &) (qutebrowser &) qutebrowserを起動する場合i3-save-tree が出力したレイアウト状態に上手くあてはまらずに、余白(なにも起動していない領域)ができる場合がある。 これは、qutebrowserがQTというGUIのツール上で起動するために、サイズを指定するパラメータがうまく渡せていないのかもしれない。 そこで、workspace_1.json から、対応する領域の記述部分を削除して(qutebrowser &) をスクリプトから呼び出すだけにする。そうすると、それ以外のレイアウトの状態を復元したうえで、qutebrowserを新規に立ち上げた状態となり、作業状態を復元するという目的は満たすことができる。 レイアウトと復元した状態にすることはできないが、アプリケーションは起動しておけるのでそれで良しとする。 最後に、i3の設定ファイルにショートカットキーで、スクリプトを呼びだせるようにしておく。 .config/i3/config # 設定ファイルに追記 bindsym $mod+g exec sh ~/bin/load_layout Appendix. i3 - ArchWiki : Save and restore the window layout ...

July 10, 2021 · 1 min

I3 Status Config

i3staus は i3barにコンピュータの状態を表示するプログラムだ。その基本的に どのモジュールがどのくらいの程度で使われているかを表示する。たとえば.イーサネットやワイヤレスの状態、メモリ、CPUロードアベレージ、ストレージなどのリソースの状況など。設定は、/etc/i3status.conf < ~/.i3status.conf < /etc/xdg/i3status/config < ~/.config/i3status/config にあるものとされる。(後方ほど優先される。) 設定の例 general { colors = true interval = 5 } order += "ipv6" order += "wireless _first_" order += "ethernet _first_" order += "battery all" order += "disk /" order += "load" order += "memory" order += "tztime local" wireless _first_ { format_up = "W: (%quality at %essid) %ip" format_down = "W: down" } ethernet _first_ { format_up = "E: %ip (%speed)" format_down = "E: down" } battery all { format = "%status %percentage %remaining" } disk "/" { format = "%avail" } load { format = "%1min" } memory { format = "%used | %available" threshold_degraded = "1G" format_degraded = "MEMORY < %available" } tztime local { format = "%Y-%m-%d %H:%M:%S" }

June 4, 2021 · 1 min

Setup Arch

April 1, 2021 · 3 min