I3 (简体中文)
i3是一套动态平铺式窗口管理器,灵感来于主要面向开发者或高级用户的wmii。
一棵包含容器的树形数据结构组织在一起就变成了客户端(桌面)。树枝由水平或垂直分割而产生,且容器可以被布局成分页式(Tabbed),或叠放式(Stacked)。当窗口的平铺式效果不太好时,可以改为浮动式窗口,不过会被放到独立于平铺式窗口之外的分层上。
Contents |
安装
请通过官方软件仓库安装i3 软件包组。其中包含了i3lock、i3status和i3-wm程序包。i3-wm是一套独立的桌面管理器,i3status则是用于通过stdout向i3bar写入一条状态行,i3lock专门加强锁屏功能。
Arch User Repository中还有若干额外的程序包。i3-git是开发者专用的版本,i3-gnome则可添加一项GNOME会话。
设置
请编辑~/.xinitrc,首先添加:
exec i3
如果您打算让i3记录它所有的输出,可以添加以下,在排错时会很有用:
exec i3 -V >> ~/.i3/i3log 2>&1
如果您在使用Nvidia闭源驱动 <302.17,您得在~/.xinitrc中添加--force-xinerama标志。在i3wm.org上可找到一条相关的详细解释。
exec i3 --force-xinerama
状态栏
在i3的版本v4.0中,原本内置的状态栏i3-wsbar已废止,改换为i3bar。
新方案:i3bar
不像需要额外安装dzen2的i3-wsbar,i3bar除了i3-wm之外就没有其他依赖。它还可以接收由conky或i3status输出的信息。示例(版本为4.1):
~/.i3/config
bar {
output LVDS1
status_command i3status
position top
mode hide
workspace_buttons yes
tray_output none
font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
colors {
background #000000
statusline #ffffff
focused_workspace #ffffff #285577
active_workspace #ffffff #333333
inactive_workspace #888888 #222222
urgent_workspace #ffffff #900000
}
}
更多细节,请在官方用户指南查询Configuring i3bar条目。
i3bar与dzen2的比较
这两者只能在对来自conky或i3status的输出的处理效果上加以比较。
| 程序 | 有无可设置颜色的代码 | 能否设置格式 | 是否支持特殊字体 | 是否支持Dock | 能否支持托盘 |
|---|---|---|---|---|---|
| i3bar | 有 | 否,默认对齐在右边 | 否(只支持UTF8) | 是 | 能 |
| dzen2 | 有 | 否,默认对齐在左边 | 是 | 是(SVN版本) | 否 |
尽管i3bar的开发非常活跃,且已宣布支持对格式和字体的定制,但到8月7号为止,dzen2-svn仍远胜于前者。
可代替方案
- i3pystatus - i3status可代替扩展,有更多的模块以及更灵活的设置。且为多线程,可快速锁屏。
- py3status – 用Python编写成的i3status扩展
在窗口之间快速跳转
- quickswitch-for-i3 – 一把可在i3的窗口之间快速跳转,定位的Python实现。
- i3-wm-scripts – 用正则表达式在窗口之间进行搜索并跳转
- winmenupy 启动dmenu时就会依次列出工作空间上的一系列客户端,选定其中一个并跳转即可
使用i3lock
您需要在在以下文件中添加一段代码,并通过# systemctl enable suspend@<user>.service来激活它。
/etc/systemd/system/suspend@.service
[Unit] Description=Starts i3lock at suspend time Before=sleep.target [Service] User=%I Type=forking Environment=DISPLAY=:0 ExecStartPre= ExecStart=/usr/bin/i3lock [Install] WantedBy=sleep.target
使用
i3目前把dmenu作为一条程序启动器,默认热键为Mod1+d。
剪贴板疑难
一般来说,当您关闭了一张窗口时,剪贴板上的缓冲区也会随之消失。您需要专门的剪贴板管理器以避免这麻烦,例如clipit。
参见
- Comparison of Tiling Window Managers
- Official website
- Source code
- Suspend/resume service files
- Collection of scripts and patches
Arch Linux Forums
- The i3 thread - A general discussion about i3
- i3 desktop screenshots and config sharing