i3wm インストール&設定

2020年3月9日

i3wm Window-Manager

「workspace_layout tabbed」これが気に入ってi3wmを使用しています。

i3wmをUbuntu18.04にインストールする

sudo apt-get install i3
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  dunst i3-wm i3lock i3status libanyevent-i3-perl libanyevent-perl
  libasync-interrupt-perl libconfuse-common libconfuse2 libev-perl libev4
  libguard-perl libxdg-basedir1 suckless-tools
提案パッケージ:
  libevent-perl libio-async-perl libpoe-perl libtask-weaken-perl dwm stterm surf
以下のパッケージが新たにインストールされます:
  dunst i3 i3-wm i3lock i3status libanyevent-i3-perl libanyevent-perl
  libasync-interrupt-perl libconfuse-common libconfuse2 libev-perl libev4
  libguard-perl libxdg-basedir1 suckless-tools
アップグレード: 0 個、新規インストール: 15 個、削除: 0 個、保留: 0 個。
1,581 kB のアーカイブを取得する必要があります。
この操作後に追加で 4,513 kB のディスク容量が消費されます。
続行しますか? [Y/n]

i3wmをDebian sid にインストールする

sudo apt install i3-wm
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  libanyevent-i3-perl libanyevent-perl libasync-interrupt-perl libev-perl libev4
  libguard-perl libxcb-cursor0 libxcb-xrm0
提案パッケージ:
  libevent-perl libpoe-perl libtask-weaken-perl
以下のパッケージが新たにインストールされます:
  i3-wm libanyevent-i3-perl libanyevent-perl libasync-interrupt-perl libev-perl
  libev4 libguard-perl libxcb-cursor0 libxcb-xrm0
アップグレード: 0 個、新規インストール: 9 個、削除: 0 個、保留: 0 個。
1,793 kB のアーカイブを取得する必要があります。
この操作後に追加で 4,101 kB のディスク容量が消費されます。
続行しますか? [Y/n]

i3用にキーを変更

~/.Xmodmap
clear lock
add mod4 = Caps_Lock
keycode 102 = Super_L
keycode 100 = Super_R

.config/i3/config サンプル

変更部分

set $mod Mod4
font pango:"VL Gothic" 14
bindsym $mod+1 workspace number $ws1
bindsym $mod+2 workspace number $ws2
bindsym $mod+3 workspace number $ws3
bindsym $mod+4 workspace number $ws4
bindsym $mod+5 workspace number $ws5
bindsym $mod+6 workspace number $ws6
bindsym $mod+7 workspace number $ws7
bindsym $mod+8 workspace number $ws8
bindsym $mod+9 workspace number $ws9
bindsym $mod+0 workspace number $ws10

以下の設定を追加する

# i3 version 4.17.1 用

#                 タイトル枠 タイトル色  文字    ???    ウィンドウ枠
# class                 border  backgr. text  indicator child_border
client.focused          #3040b0 #c0c0ff #000000 #2e9ef4 #7070d0
client.focused_inactive #303030 #c0c0c0 #808080 #484e50 #808080
client.unfocused        #303080 #e0e0ff #808080 #292d2e #202080
client.urgent           #2f343a #900000 #ffffff #900000 #900000
client.placeholder      #000000 #0c0c0c #ffffff #000000 #0c0c0c
client.background       #0000ff

default_border normal 5
default_floating_border normal 5

workspace_layout tabbed
default_orientation vertical
floating_modifier Mod1
bindsym $mod+m bar mode toggle

for_window [class=".*"]         title_format "%class {%title}"
for_window [class="pcmanfm-qt"] title_format "PCManfmQ [%title]"
for_window [instance="screengrab"] floating enable
for_window [class="(?i)nitrogen"]  floating enable

bindsym Mod1+F4        kill
bindsym Mod1+Tab       focus left
bindsym Mod1+Shift+Tab focus right
bindsym $mod+d         focus child

bindsym $mod+Ctrl+space floating toggle

bindsym Mod1+Ctrl+Right workspace next
bindsym Mod1+Ctrl+Left  workspace prev
bindsym $mod+Tab        workspace back_and_forth
bindsym $mod+Ctrl+Left  move to workspace prev
bindsym $mod+Ctrl+Right move to workspace next

# タイトルバーをマウスで
bindsym --release      button2            kill
# ウィンドウ内をマウスで
bindsym --whole-window $mod+button2       floating toggle
bindsym --whole-window $mod+button3       layout toggle tabbed stacking
bindsym --whole-window $mod+Ctrl+button2  nop
bindsym --whole-window $mod+Ctrl+button3  layout toggle split

bindsym $mod+Ctrl+Down move scratchpad
bindsym $mod+Ctrl+Up   scratchpad show

#exec --no-startup-id xsetroot -solid "#aaffaa"
exec --no-startup-id nitrogen --restore