个人 i3配置地址:https://github.com/itgoyo/i3
如果还是觉得太难,请参考视频来操作:https://www.bilibili.com/video/av60766315
$ /usr/lib/apt/apt-helper download-file http://debian.sur5r.net/i3/pool/main/s/sur5r-keyring/sur5r-keyring_2019.02.01_all.deb keyring.deb SHA256:176af52de1a976f103f9809920d80d02411ac5e763f695327de9fa6aff23f416
# dpkg -i ./keyring.deb
# echo "deb http://debian.sur5r.net/i3/ $(grep '^DISTRIB_CODENAME=' /etc/lsb-release | cut -f2 -d=) universe" >> /etc/apt/sources.list.d/sur5r-i3.list
# apt update
# apt install i3
美化效果是使用 Github 的一个项目i3-gaps
项目地址: https://github.com/Airblader/i3
所需要到的各种依赖
sudo apt install libxcb1-dev libxcb-keysyms1-dev libpango1.0-dev libxcb-util0-dev libxcb-icccm4-dev libyajl-dev libstartup-notification0-dev libxcb-randr0-dev libev-dev libxcb-cursor-dev libxcb-xinerama0-dev libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev autoconf xutils-dev libtool
安装 i3-gaps 命令
cd /tmp
git clone https://www.github.com/Airblader/i3 i3-gaps
cd i3-gaps
git checkout gaps && git pull
autoreconf --force --install
rm -rf build
mkdir build
cd build
../configure --prefix=/usr --sysconfdir=/etc
make
sudo make install
期间你可能会遇到缺少 lib 的情况,我把我遇到的问题,还有解决方式说明一下
Can’t exec “aclocal”: No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 326.
autoreconf: failed to run aclocal: No such file or directory
解决方式:
sudo apt-get install automake
No package ‘xcb-xrm’ found
解决方式:
sudo apt-get install libxcb-xrm-dev
no Package xcb-shape
解决方式:
sudo apt install libxcb-shape0-dev
No package ‘libpcre’ found
解决方式:
sudo apt-get install libpcre3-dev
No package ‘cairo’ found
解决方式:
sudo apt-get install libcairo2-dev
No package ‘pangocairo’ found
解决方式:
sudo apt-get install libpango1.0-dev
配置地址:https://github.com/itgoyo/i3
# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
#
# i3 config file (v4)
#
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod1
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font pango:monospace 8
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
#font pango:DejaVu Sans Mono 8
# Before i3 v4.8, we used to recommend this one as the default:
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
# The font above is very space-efficient, that is, it looks good, sharp and
# clear in small sizes. However, its unicode glyph coverage is limited, the old
# X core fonts rendering does not support right-to-left and this being a bitmap
# font, it doesn’t scale on retina/hidpi displays.
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
#bindsym $mod+Return exec i3-sensible-terminal
#bindsym $mod+Return layout tabbed exec xfce4-terminal #支持透明背景,打开即为tabbed布局
bindsym $mod+Return exec xfce4-terminal #支持透明背景
bindsym $mod+control+t exec xfce4-terminal #支持透明背景
# 快速打开ncmpcpp
bindsym $mod+n exec xfce4-terminal -e ncmpcpp #支持透明背景
# 快速shutter截图
bindsym $mod+control+a exec xfce4-terminal -e shutter #支持透明背景
# kill focused window
bindsym $mod+Shift+q kill
# start dmenu (a program launcher)
bindsym $mod+Shift+d exec dmenu_run
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
#bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
#Rofi启动器
bindsym $mod+Tab exec --no-startup-id rofi -show window
bindsym $mod+d exec --no-startup-id rofi -show drun -theme andrea.rasi
bindsym $mod+g exec google-chrome --proxy-server='127.0.0.1:8080'
# change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+semicolon move right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in horizontal orientation
bindsym $mod+h split h
# split in vertical orientation
bindsym $mod+v split v
# enter fullscreen mode for the focused container
#bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
# switch to workspace
#bindsym $mod+1 workspace 1
#bindsym $mod+2 workspace 2
#bindsym $mod+3 workspace 3
#bindsym $mod+4 workspace 4
#bindsym $mod+5 workspace 5
#bindsym $mod+6 workspace 6
#bindsym $mod+7 workspace 7
#bindsym $mod+8 workspace 8
#bindsym $mod+9 workspace 9
#bindsym $mod+0 workspace 10
#
## move focused container to workspace
#bindsym $mod+Shift+1 move container to workspace 1
#bindsym $mod+Shift+2 move container to workspace 2
#bindsym $mod+Shift+3 move container to workspace 3
#bindsym $mod+Shift+4 move container to workspace 4
#bindsym $mod+Shift+5 move container to workspace 5
#bindsym $mod+Shift+6 move container to workspace 6
#bindsym $mod+Shift+7 move container to workspace 7
#bindsym $mod+Shift+8 move container to workspace 8
#bindsym $mod+Shift+9 move container to workspace 9
#bindsym $mod+Shift+0 move container to workspace 10
# #---Workspace Bindings---# #
#bindsym $mod+Home workspace $ws1
#bindsym $mod+Shift+Home move container to workspace $ws1
#bindsym $mod+End workspace $ws10
#bindsym $mod+Shift+End move container to workspace $ws10
#bindsym $mod+Prior workspace prev
#bindsym $mod+Shift+Prior move container to workspace prev
#bindsym $mod+Next workspace next
#bindsym $mod+Shift+Next move container to workspace next
#bindsym $mod+Tab workspace back_and_forth
#bindsym $mod+XF86Back workspace prev
#bindsym $mod+Shift+XF86Back move container to workspace prev
#bindsym $mod+XF86Forward workspace next
#bindsym $mod+Shift+XF86Forward move container to workspace next
#bindsym $mod+semicolon workspace next
#bindsym $mod+apostrophe split horizontal ;; exec $term
#bindsym $mod+slash split vertical ;; exec $term
#bindsym $mod+Shift+slash kill
#bindsym $mod+backslash workspace back_and_forth
#set $ws1 "1"
#set $ws2 "2"
#set $ws3 "3"
#set $ws4 "4"
#set $ws5 "5"
#set $ws6 "6"
#set $ws7 "7"
#set $ws8 "8"
#set $ws9 "9"
#set $ws10 "10"
set $ws1 "1:"
set $ws2 "2:"
set $ws3 "3:"
set $ws4 "4:"
set $ws5 "5:"
set $ws6 "6:"
set $ws7 "7:"
set $ws8 "8:"
set $ws9 "9:"
set $ws10 "10:"
# switch to workspace
#bindsym $mod+1 workspace $ws1
#bindsym $mod+2 workspace $ws2
#bindsym $mod+3 workspace $ws3
#bindsym $mod+4 workspace $ws4
#bindsym $mod+5 workspace $ws5
#bindsym $mod+6 workspace $ws6
#bindsym $mod+7 workspace $ws7
#bindsym $mod+8 workspace $ws8
#bindsym $mod+9 workspace $ws9
#bindsym $mod+0 workspace $ws10
# switch to workspace
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10
# #---Media Keys---# #
# for sound control
#bindsym XF86AudioRaiseVolume exec amixer set Master playback 5+
#bindsym XF86AudioLowerVolume exec amixer set Master playback 5-
#bindsym XF86AudioMute exec amixer set Master toggle
bindsym $mod+o exec amixer set Master playback 5-
bindsym $mod+p exec amixer set Master playback 5+
#bindsym $mod+o exec amixer set Master toggle
#bindsym $mod+p exec amixer set PCM toggle
#打开软件时自动移至相应工作区
assign [class="i3-sensible-terminal"] $WS1
assign [class="Firefox"] $WS2
assign [class="google-chrome"] $W2
assign [class="google-chrome-stable"] $WS2
assign [class="chrome"] $WS2
assign [class="ieaseMusic"] $WS6
#assign [class="Firefox"] $WS2
#assign [class="vim"] $WS4
# open terminal
#bindsym $mod+Control+t exec i3-sensible-terminal
# ranger -e do commands
bindsym $mod+Control+r exec i3-sensible-terminal -e ranger
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the window’s width.
# Pressing right will grow the window’s width.
# Pressing up will shrink the window’s height.
# Pressing down will grow the window’s height.
bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 pptobs
bindsym semicolon resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
# ******************************************************
# 系统最早的头部状态
#bar {
# status_command i3status
# tray_output primary
# position top
#}
#********************************************i3-gaps*********************************
for_window [class="^.*"] border pixel 2
gaps inner 8
gaps outer 6
set $mode_gaps Gaps: (o) outer, (i) inner
set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global)
set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global)
bindsym $mod+Shift+g mode "$mode_gaps"
mode "$mode_gaps" {
bindsym o mode "$mode_gaps_outer"
bindsym i mode "$mode_gaps_inner"
bindsym Return mode "default"
bindsym Escape mode "default"
}
mode "$mode_gaps_inner" {
bindsym plus gaps inner current plus 1
bindsym minus gaps inner current minus 1
bindsym 0 gaps inner current set 0
bindsym Shift+plus gaps inner all plus 1
bindsym Shift+minus gaps inner all minus 1
bindsym Shift+0 gaps inner all set 0
bindsym Return mode "default"
bindsym Escape mode "default"
}
mode "$mode_gaps_outer" {
bindsym plus gaps outer current plus 1
bindsym minus gaps outer current minus 1
bindsym 0 gaps outer current set 0
bindsym Shift+plus gaps outer all plus 1
bindsym Shift+minus gaps outer all minus 1
bindsym Shift+0 gaps outer all set 0
bindsym Return mode "default"
bindsym Escape mode "default"
}
set $mode_power power
bindsym Mod1+Control+l mode "$mode_power"
mode "$mode_power" {
#bindsym l mode "default", exec --no-startup-id /home/itgoyo/.config/i3/i3exit lock
bindsym l mode "default", exec i3lock-fancy -g
bindsym e mode "default", exec --no-startup-id /home/itgoyo/.config/i3/i3exit logout
bindsym s mode "default", exec --no-startup-id /home/itgoyo/.config/i3/i3exit suspend
bindsym h mode "default", exec --no-startup-id /home/itgoyo/.config/i3/i3exit hibernate
bindsym r mode "default", exec --no-startup-id /home/itgoyo/.config/i3/i3exit reboot
bindsym p mode "default", exec --no-startup-id /home/itgoyo/.config/i3/i3exit shutdown
bindsym Return mode "default"
bindsym Escape mode "default"
}
# Set Xresources colors:
set_from_resource $darkblack color0 #000000
set_from_resource $black color8 #000000
set_from_resource $darkred color1 #000000
set_from_resource $red color9 #000000
set_from_resource $darkgreen color2 #000000
set_from_resource $green color10 #000000
set_from_resource $darkyellow color3 #000000
set_from_resource $yellow color11 #000000
set_from_resource $darkblue color4 #000000
set_from_resource $blue color12 #000000
set_from_resource $darkmagenta color5 #000000
set_from_resource $magenta color13 #000000
set_from_resource $darkcyan color6 #000000
set_from_resource $cyan color14 #000000
set_from_resource $darkwhite color7 #000000
set_from_resource $white color15 #000000
set $transparent #00000000
#
# #BORDER BACKGROUND TEXT INDICATOR CHILD_BORDER
#client.focused $red $red $magenta $darkmagenta $darkblue
#client.unfocused $transparent $blue $white $darkblue $darkblack
#client.focused_inactive $transparent $blue $white $darkblue $darkblack
#client.urgent $darkred $darkred $black $darkred $darkred
#client.background $black
set $background #10101000
set $foreground #ffffff
set $gray #d0d0d0
set $secondary #79D4D5
set $additional #26CE8D
set $warning #E7176A
#set $primary #F58E8E
#set $tertiary #7AABD4
set $primary #F99157
set $tertiary #5c4d4d
# colors BORDER BACKGROUND TEXT INDICATOR
client.focused $primary $primary $foreground $primary
client.focused_inactive $secondary $secondary $foreground $secondary
client.unfocused $tertiary $tertiary $background $tertiary
#client.urgent $gray $gray $foreground $gray
client.urgent $darkred $darkred $black $darkred $darkred
bar {
font pango:mono 10
colors {
background $darkblack
statusline $darkwhite
separator $cyan
focused_workspace $blue $darkblue $darkblack
active_workspace $blue $blue $darkwhite
inactive_workspace $darkblack $darkblack $white
urgent_workspace $darkblack $darkblack $white
}
status_command i3blocks
position top
mode dock
modifier None
}
bar {
i3bar_command i3bar -t
height 28
#禁止systemtray
tray_output none
# i3bar调用
status_command ~/.config/i3/jconky
# 显示位置top/bottom
position top
# 是否隐藏
# mode hide
# 拆解工作区名(隐藏前面的1:2:3:……)
# strip_workspace_numbers no
# 定义分隔符∥
separator_symbol " "
}
bindsym $mod+Shift+Escape exec --no-startup-id prompt "Exit i3?" "i3-msg exit"
# bindsym $mod+BackSpace
bindsym $mod+Shift+BackSpace exec --no-startup-id prompt "Reboot computer?" "$reboot"
# compton
# auto start commands
exec --no-startup-id fcitx -r
#exec --no-startup-id fcitx-qimpanel
exec --no-startup-id sogou-qimpanel
exec --no-startup-id compton -b
#bindsym $mod+Control+Return exec urxvt -sh 40 #透明参数0-100
exec --no-startup-id fcitx-sogoupingyin
#Background
#exec --no-startup-id feh --bg-fill /home/itgoyo/cgi_lib.jpg
exec --no-startup-id feh --bg-fill /home/itgoyo/图片/bg04.jpg
#caps:swapescape
#开机修改键盘映射
exec --no-startup-id setxkbmap -option caps:swapescape
欢迎关注本人 Github:itgoyo
微信公众号:toolpool