i3wm配置
使用
安装
安装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+minus和mod+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
用其他的终端需要在配置中设置。推荐选择可以设置透明度的终端,推荐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配置的更多相关文章
- i3wm配置记录
因为工作用的笔记本配置比较差,一直用的是xfce4的桌面环境,最近发现其实基本就在浏览器.终端以及编辑器几个界面切换,所以何不直接用平铺窗口管理器,进一步节约资源. 选了一圈,似乎i3wm比较简单,主 ...
- i3wm 配置刷新生效 和 使用mod快捷打开 ranger 小贴士
在某处学习到了如何配置i3wm后,对其极感兴趣. 学习到的经验总结: Linux中的各种命令操作其实都要首先查阅 man command 或者 command -h 或者 command -- ...
- 轻量i3wm配置使用笔记 -- 主题切换器(j4-make-config)
快速切换主题 j4-make-config介绍: j4-make-config脚本可以方便地在几组"主题"之间切换,还可以根据当前工作的环境,轻松地从几个不同的配置部分组合一个完整 ...
- Archlinux下i3wm与urxvt的配置
前段时间学习了GitHub的两位前辈:Airblader和wlh320.他们的相关教程在https://github.com/Airblader/i3和https://github.com/wlh32 ...
- xterm配置
最近转到i3wm桌面下, 发现调用xfce4-terminal有些慢,索性卸载掉一切所谓高级的终端,使用xterm,其实这个才是更牛的家伙. 安装 apt install xterm in i3-wm ...
- 【i3】manjaro配置
介绍 这是一期关于manjaro的安装到开发环境配置i3wm的教程.我即将在manjaro_gnome里面演示 主要的软件或者工具 i3wm tmux nvim polybar compton ran ...
- Archlinux + Dwm 配置流程
本着学习C的态度来了解dwm,本身作为一个i3wm的追崇者,与dwm会擦出怎么样的火花呢? 下载安装dwm archlinuxcn源配置 编辑/etc/pacman.conf文件,添加bfsu的arc ...
- 配置android sdk 环境
1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/
- Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记
以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...
随机推荐
- Angular2 小贴士 RouterLink 导航
AngularJS的路由一直是学习的一大难点,我们只能边看边学边掌握,边看边学边推翻.今天我们来看一下在angular2中通过routerLink实现导航的几种方式,以及各自的优缺点. Angular ...
- ASP.NET MVC 发送邮件(异步)
最近写邮件发送搞死人了,最后的结果,真是醉了,现整理如下: 网上一搜一大把,到处都是.NET发送邮件的方法,我这里也大同小异的写了一个. 准备一个MailHelper.cs通用类,如下所示: 重要的命 ...
- Lua 安全调用 metatable 的简单应用
事情的经过 我们的项目中存在好几个战斗界面,不过界面中的内容略有不同.跟同事出去吃饭的时候,他问我.我们现在的战斗界面.有很多是重复的,但是也有偶尔几个地方不太一样.我在战斗过程中驱动这些界面的时候. ...
- Linux(九)__网络测试
1.确认ip地址.子网掩码.网关是正确的. ifconfig 2.确认局域网是互通的,访问别人的电脑.网关 ping 发送数据包接收数据包,设备是否联通 /etc/sysconfig/network- ...
- shell笔记
shell:俗称操作系统的"外壳",就是命令解释程序. 是用户与Linux内核之间的接口. 是负责与用户交互,分析.执行用户输入的命令,并给出结果或出错提示. ...
- iOS陀螺仪 参数意义
self.mManager = [[CMMotionManager alloc]init]; self.mManager.deviceMotionUpdateInterval = 0.5; if (s ...
- iOS 设置UILabel的行间距并自适应高度
NSString *contentStr = @"总以为,在最初的地方,有一个最原来的我,就也会有一个最原来的你"; UILabel *tempLabel = [[UILabel ...
- Linux2.6内核协议栈系列--TCP协议1.发送
在介绍tcp发送函数之前得先介绍很关键的一个结构sk_buff,在linux中,sk_buff结构代表了一个报文: 然后见发送函数源码,这里不关注硬件支持的分散-聚集: /* sendmsg系统调用在 ...
- 如何写出让java虚拟机发生内存溢出异常OutOfMemoryError的代码
程序小白在写代码的过程中,经常会不经意间写出发生内存溢出异常的代码.很多时候这类异常如何产生的都傻傻弄不清楚,如果能故意写出让jvm发生内存溢出的代码,有时候看来也并非一件容易的事.最近通过学习< ...
- Spark SQL 之 DataFrame
Spark SQL 之 DataFrame 转载请注明出处:http://www.cnblogs.com/BYRans/ 概述(Overview) Spark SQL是Spark的一个组件,用于结构化 ...