使用

安装

安装i3wm,一般包名叫做i3,包含i3-wm,i3lock和i3status。

i3wm-config页面下载本配置文件并解压,将i3目录和i3status放于~/.config/目录,将Pictures(几张示例壁纸)放于当前用户家目录下(即~/下)即可。

需要的软件

  • feh 设置壁纸需要。!!!(最好安上)
  • 适合的终端(参照下文配置-终端)!!!

    其余选择性安装:
  • mate-power-manager或xfce4-power-manager或其他电源管理软件。如果方便调整亮度。!
  • xcompmgr 如果需要终端透明。!!
  • scrot 截屏。本配置默认使用的截屏快捷键调用的此工具,当然也可以使用其他工具。
  • alsa-utils 一般都安上了。!

配置

关于本配置的一些重要说明。

按键

此配置文件的自定义常用按键说明,i3wm的默认按键以及按键设置请参阅相关文档或查看config文件。

在默认配置上稍作了修改,参照windows下的常用快捷键和vim按键习惯。

$mod key使用的默认的Mod4,一般指的是windows键或super键或meta键。

  • 截图:$mod+PrtSc(配置里绑定的是scrot截屏工具,需要安装scrot,PrtSc即PrintScreen键,参考的windwos下的截屏快捷键)。

  • 文件管理器:$mod+e(配置里使用的lxde桌面pcmanfm文件管理器,小巧依赖少功能齐全,须安装pcmanfm,当然也可以使用其他管理器,须修改按键配置,参考windows的文件管理器快捷键,e-explore)。

  • 关闭窗口:Alt+F4(Alt一般是mod1键,参考windows的关闭窗口快捷键)。

  • 隐藏和再现窗口:$mod+minusmod+plus(minus即是减号所在键,plus即是加号所在键)。

  • 调整窗口边框风格:

    • $mod+n有边框(就是一般的风格,有边框有顶部栏,n-normal)。
    • $mod+u无边框(本配置默认风格,打开新窗口也不会有边框,可自行设置,u-unnormal)。

    • $mod+o1像素边框(o-one pixel)。

    • $mod+b可在上面三种风格来回切换(b-border style)。
  • 视窗焦点切换:

    $mod+Shift+h/j/k/l或者上下左右箭头(可以切换当前焦点,模仿vim)。

  • 移动当前窗口:

    $mod+h/j/k/l或者上下左右箭头(可以将当前的窗口即焦点窗口向指定方向切换,模仿vim)。

  • 分隔窗口:

    • $mod+v上下分割(i3wm默认,v-vertical)。
    • $mod+Shift+h左右分割(左右分割,默认风格就是左右分割)。
  • 窗口布局风格:

    • $mod+s堆叠式(s-stacking)。
    • $mod+t标签式(t-tab)。
    • $mod+c平铺式(默认风格),反复按下此快捷键可在上下分割平铺和左右分割平铺之间来回切换(c-change)。
  • 相邻工作区切换:$mod+tab(后一个)或alt+tab(前一个)。

  • 亮度和音量:

    Fn+笔记本的音量加减键(荧幕不会出现提示,可参看bar,也可以用终端的alsamixer调整,需要安装alsa-utils),加减亮度。

    Fn+笔记本的亮度加减键以及静音键(需要一个电源管理软件,推荐mate-power-manager),加减音量及静音。

壁纸和锁屏

壁纸图片放置路径是~/Pictures/wallpaper/wallpaper.jpg,不过本配置文件默认使用下文所述的随机壁纸实现方法,具体参看下文随机壁纸

锁屏图片路径是~/Pictures/wallpaper/lock/lock.jpg。

需要安装feh

建议用一个固定的路径设置壁纸或锁屏,需要更换壁纸的时候将新图片命名位wallpaper放进去覆盖即可,比较方便(当然要注意后缀名是否一致)。

随机壁纸

本配置默认使用一个wallpaper.sh的脚本随机更换壁纸。

将需要设定的壁纸放置到~/Pictures/wallpaper/目录下即可(如需更换壁纸路径,请在i3/config文件中根据注释说明更改)。

如需要使用固定壁纸,在i3/config中取消“设定壁纸图片”的命令的注释,并注释掉“自动更换壁纸”的命令。

注意

~/.config/i3/wallpaper.sh文件需要有可执行权限,如壁纸加载出问题,执行:

chmod +x ~/.config/i3/wallpaper.sh

给予执行权限。

可参考archwiki-feh

电源管理

$mod+alt+l锁屏。

锁屏图片设置见上面的说明。

灭屏时间设置示例:

exec --no-startup-id xset dpms 300

300即是300秒,根据需要修改。

锁屏/关机/重启/退出:按下mod+Shift+q或会提示选择,接下来—-

按下L锁屏(lock)、e退出(exit)、r重启(reboot)和p关机(poweroff)。

(mod+Shift+q本来是i3wm的默认关闭窗口键)

终端

配置中使用了xcompmgr这个工具来配合终端设置透明,需要安装xcompmgr

最好使用下面的终端之一。

因为按 $mod+Return, 便会启动 i3-sensible-terminal, 即执行虚拟终端的脚本。它会试图按以下顺序一一执行,直到成功启动某虚拟终端:

  • urxvt
  • rxvt
  • terminator
  • EtermAUR
  • atermAUR
  • xterm
  • gnome-terminal
  • roxterm
  • xfce4-terminal

参考自archlinux-wiki:i3wm-虚拟终端

用其他的终端需要在配置中设置。推荐选择可以设置透明度的终端,推荐roxterm、xfce-terminal、gnome-terminal和terminator,设置简单。

托盘图标

bar上某些要显示托盘图标(tray icon),须执行xrandr–output,在i3wm配置文件添加类似语句:

exec --no-startup-id xrandr --output eDP1 --primary

其中eDP1是我的计算机的显示设备的名字。查看计算机显示设备名称的命令:

xrandr

例如我的显示内容有:



xrandr

Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767

eDP1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 310mm x 170mm

其中的eDP1便是我的显示设备名称。

美化

这一部分和i3wm没有直接关系,属于附加的美化建议。

使用gtk风格的主题,使用qt4-qtconfig程序管理qt程序的风格以减小不和谐感。

字体推荐:dejavue、wenquanyi-microhei、noto、ubuntu-family、adobe source…

修改grub主题。

修改图标主题和窗口主题可使用lxappearance,其依赖较少。推荐窗口主题及图标主题:

  • 主题:paper-gtk-theme-git、numix-themes、breeze-gtk、arc-gtk-theme…
  • 图标:paper-icon-theme-git、numix-circle-icon-theme-git、flattr-icon-theme、arc-icon-theme、breeze-icons…

    此外,鼠标主题:xcursor-faltbed、breeze-default-cursor-theme…

注意:

更改了配置文件需要重新加载或重新启动i3方能生效(按下Mod+Shift+r,分别为restart和reload)


其余参考config内注释和i3wm相关文档说明。

i3wm使用参考:

i3wm官方文档

ArchLinux-wiki:i3wm(简体中文)

DeepinLinux-wiki:i3

i3wm配置的更多相关文章

  1. i3wm配置记录

    因为工作用的笔记本配置比较差,一直用的是xfce4的桌面环境,最近发现其实基本就在浏览器.终端以及编辑器几个界面切换,所以何不直接用平铺窗口管理器,进一步节约资源. 选了一圈,似乎i3wm比较简单,主 ...

  2. i3wm 配置刷新生效 和 使用mod快捷打开 ranger 小贴士

    在某处学习到了如何配置i3wm后,对其极感兴趣. 学习到的经验总结: Linux中的各种命令操作其实都要首先查阅 man command  或者  command -h  或者  command -- ...

  3. 轻量i3wm配置使用笔记 -- 主题切换器(j4-make-config)

    快速切换主题 j4-make-config介绍: j4-make-config脚本可以方便地在几组"主题"之间切换,还可以根据当前工作的环境,轻松地从几个不同的配置部分组合一个完整 ...

  4. Archlinux下i3wm与urxvt的配置

    前段时间学习了GitHub的两位前辈:Airblader和wlh320.他们的相关教程在https://github.com/Airblader/i3和https://github.com/wlh32 ...

  5. xterm配置

    最近转到i3wm桌面下, 发现调用xfce4-terminal有些慢,索性卸载掉一切所谓高级的终端,使用xterm,其实这个才是更牛的家伙. 安装 apt install xterm in i3-wm ...

  6. 【i3】manjaro配置

    介绍 这是一期关于manjaro的安装到开发环境配置i3wm的教程.我即将在manjaro_gnome里面演示 主要的软件或者工具 i3wm tmux nvim polybar compton ran ...

  7. Archlinux + Dwm 配置流程

    本着学习C的态度来了解dwm,本身作为一个i3wm的追崇者,与dwm会擦出怎么样的火花呢? 下载安装dwm archlinuxcn源配置 编辑/etc/pacman.conf文件,添加bfsu的arc ...

  8. 配置android sdk 环境

    1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/

  9. Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记

    以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...

随机推荐

  1. 前端开发之走进Vue.js

    Vue.js作为目前最热门最具前景的前端框架之一,其提供了一种帮助我们快速构建并开发前端项目的新的思维模式.本文旨在帮助大家认识Vue.js,了解Vue.js的开发流程,并进一步理解如何通过Vue.j ...

  2. 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(五)

    (五)注册Website Cloud 1 注册Website Cloud 添加Website Cloud   连接Website Cloud 注意, endpoint 是使用Management Se ...

  3. php分页原理

    <?php //包含连接MySQL的文件 include "conn.php"; //分页的相关变量 $pagesize = 5; //每页显示条数 //获取地址栏中传递的p ...

  4. JDBC_part2_DML以及预编译_编写DBUtil工具类

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! jdbc day02 DML语法 比起插叙语句,没有R ...

  5. java文档注释--javadoc的用法

    1.前言 Java中有三种注释方式.前两种分别是 // 和 /* */,主要用于代码的注释,以此来方便代码的可读性.第三种被称作说明注释或文档注释,它以 /** 开始,以 */结束,文档注释允许你在程 ...

  6. linux(七)__shell脚本编程

    一.什么是shell脚本 shell除了是命令解释器之外还是一种编程语言,用shell编写的程序类似于DOS下的批处理程序. 它是用户与操作系统之间的一个接口. shell脚本语言非常擅长处理文本类型 ...

  7. 非域客户端的office使用RMS加密服务出现‘介绍“信息权限管理服务”’服务的提示

    环境:office2007,需要使用windows RMS服务,客户机处于工作组模式,如图: 出现这个说明客户机没有发现RMS服务,可以通过导入注册表解决,如下: Windows Registry E ...

  8. Microsoft Dynamics CRM 2013 的相关更新 2013-12

        DCRM 2013已经发布一段时间了,很多同学都在学习实践中.     截至目前,已经有了一些相关的更新,具体内容,可以参见web Page:http://blogs.msdn.com/b/c ...

  9. Android版本和API Level对应关系

    http://developer.android.com/guide/topics/manifest/uses-sdk-element.html Platform Version       API ...

  10. mysql select日期格式

    mysql表中datatime类型存储为2016-01-10,C#直接select 后,在datatable里面看,变成01/10/2016,需要还原回去,使用select DATE_FORMAT(列 ...