使用

安装

安装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. 【神器】vimum在浏览器中键盘操作选择、复制、粘贴,键盘党的最爱

    1.下载: http://files.cnblogs.com/files/quejuwen/vimum_extension_1_56.zip 2.开源:https://github.com/philc ...

  2. Android 5.0源码编译问题

    如果是自己通过repo和git直接从google官网上download的源码,请忽略这个问题,但是由于google在国内被限制登录,通过这一种方法不是每个人都能download下来源码,通常的做法就是 ...

  3. C#开发微信门户及应用(15)-微信菜单增加扫一扫、发图片、发地理位置功能

    前面介绍了很多篇关于使用C#开发微信门户及应用的文章,基本上把当时微信能做的接口都封装差不多了,微信框架也积累了不少模块和用户,最近发现微信公众平台增加了不少内容,特别是在自定义菜单里面增加了扫一扫. ...

  4. JavaWeb_day01_HTTP_Servlet

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! JavaWeb_day01 HTTP协议 HTTP(H ...

  5. python爬虫成长之路(一):抓取证券之星的股票数据

    获取数据是数据分析中必不可少的一部分,而网络爬虫是是获取数据的一个重要渠道之一.鉴于此,我拾起了Python这把利器,开启了网络爬虫之路. 本篇使用的版本为python3.5,意在抓取证券之星上当天所 ...

  6. [连载]《C#通讯(串口和网络)框架的设计与实现》- 10.宿主程序详细设计

    目       录 第十章           宿主程序详细设计... 2 10.1        配置文件设计... 3 10.2        加载设备驱动... 4 10.3        加载 ...

  7. JS高程5.引用类型(4)Array类型的各类方法

    一.转换方法 所有的对象都具有toLocaleString(),toString()和valueOf()方法.调用toString()方法会返回由数组中的每个值的字符串拼接而成的一个以逗号分隔的字符串 ...

  8. Resharper让我们的asp.net开发效率提高三分之一

    ReSharper是一个JetBrains公司出品的著名的代码生成工具,其能帮助Microsoft Visual Studio成为一个更佳的IDE.它包括一系列丰富的能大大增加C#和Visual Ba ...

  9. 阶段一:AsyncTask的三个属性值和四个步骤

    “阶段一”是指我第一次系统地学习Android开发.这主要是对我的学习过程作个记录. 最近学到用AsyncTask来处理有关网络的操作.虽然代码看上去不是很复杂,但仍有很多地方有疑惑.所以研读了一下A ...

  10. Swift-数组

    Swift数组 OC和Swift数组的比较 OC 只能存放对象 swift 既可以存放对象,又可以存Int,Float等基本数据类型 下面是swift数组的具体示范 空数组 let arr = [] ...