Archlinux下i3wm与urxvt的配置
前段时间学习了GitHub的两位前辈:Airblader和wlh320。他们的相关教程在https://github.com/Airblader/i3和https://github.com/wlh320。本篇博客则是根据他们的教程总结出来的,当然大部分是直接扒的配置。这篇博客将告诉你如何配置一个漂亮的i3wm界面以及支持透明的urxvt。当然我这个透明是在i3wm下的,应该还会有别的通用方法,如果各位知道,请发到我的邮箱,感激不尽!
1 urxvt的基本配置
1.1 安装及配置文件
urxvt是一个轻量级的终端,功能不是很多,但是用着很舒服。在Archlinux下安装它的命令为:
#pacman -S urxvt
它的配置文件在$HOME/.Xresources这个文件中。
1.2 配置文件代码
!!$HOME/.Xresources
URxvt.preeditType:Root
!!调整此处设置输入法
URxvt.inputMethod:fcitx
!!颜色设置
URxvt.depth:
!!中括号内数表示透明度
URxvt.inheritPixmap:true
URxvt.background:#
URxvt.foreground:#ffffff
URxvt.colorBD:Gray95
URxvt.colorUL:Green
URxvt.color1:Red2
URxvt.color4:RoyalBlue
URxvt.color5:Magenta2
URxvt.color8:Gray50
URxvt.color10:Green2
URxvt.color12:DodgerBlue
URxvt.color14:Cyan2
URxvt.color15:Gray95
!!URL操作
URxvt.urlLauncher:chromium
URxvt.matcher.button:
Urxvt.perl-ext-common:matcher
!!滚动条设置
URxvt.scrollBar:False
URxvt.scrollBar_floating:False
URxvt.scrollstyle:plain
!!滚屏设置
URxvt.mouseWheelScrollPage:True
URxvt.scrollTtyOutput:False
URxvt.scrollWithBuffer:True
URxvt.scrollTtyKeypress:True
!!光标闪烁
URxvt.cursorBlink:True
URxvt.saveLines:
!!边框
URxvt.borderLess:False
!!字体设置
Xft.dpi:
URxvt.font:xft:Source Code Pro:antialias=True:pixelsize=,xft:WenQuanYi Zen Hei:pixelsize=
URxvt.boldfont:xft:Source Code Pro:antialias=True:pixelsize=,xft:WenQuanYi Zen Hei:pixelsize=
1.3 终端提示符配置
写完.Xresources文件后,urxvt的终端提示符是黑白的,如何将提示符变成彩色的呢?详情参考我的另一篇博客:终端提示符的配置
我的设置如下($HOME/.bashrc):
PS1='\[\033[31m\]\h\[\033[34m\]@\u:\[\033[0;32m\]\w\[\033[33m\]>>> \[\033[0m\]'
1.4 生效
改完了以上的内容,还缺少一步,让这个设置生效。我是直接把这个命令写进i3wm的启动配置文件$HOME/.xinitrc里了:
xrdb -load ~/.Xresources
现在除了透明,其他都不错的。
2 i3wm的配置
2.1 安装及配置文件
i3wm是一个平铺式桌面管理器,Archlinux下载如下:
#pacman -S i3wm
它的配置文件是$HOME/.config/i3/config。它的语法规则可以查看i3wm官方手册。
2.2 配置文件代码
如果你没有找到这个config文件,则把/etc/i3/config这个文件复制过去,或者是直接运行命令
#i3-config-wizard
这时候$HOME/.config/i3/config文件里的配置是比较基本的,这里介绍一下我添加的一些功能,或者是美化的部分。
首先要清楚的是i3wm的特色是可以绑定各种快捷键,当然大部分是与mod有关,mod键可以由用户设定,可以是alt(Mod1)或者是win(Mod4)。
介绍几种实用的改进:
•设置win键为mod键,在配置文件里添加:
set $mod Mod4
•win+enter键启动urxvt,透明启动哦!
这里如果要想urxvt透明,先得安装compton,并且在配置文件里设置自启,安装如下
#pacman -S compton
透明启动urxvt,在配置文件里添加:
exec --no-startup-id compton -b #开机自启
bindsym $mod+Return exec urxvt -sh #透明参数0-
•设置壁纸,首先安装feh,同样的pacman,这里不再赘述,安装完成后添加:
exec_always --no-startup-id feh --bg-scale "/path/xxx.jpg"
•按键盘上的print键全屏截图,按win+print键用户自选区域截图,需要安装shutter,pacman搞定,然后添加:
bindsym Print exec shutter -f -e -o ~/Pictures/shot/%Y-%m-%d-%T.png
bindsym $mod+Print exec shutter -s -e -o ~/Pictures/shot/%Y-%m-%d-%T.png
这里表示将截图保存在~/Picture/shot/文件夹里,名字为年-月-日-时间.png格式,当然了这些自己随便设定。
•黑屏时间设定,即多久用户无操作黑屏i3wm的黑屏和屏保是一个意思,但是都得设置,如下:
先把屏保功能关了:
exec --no-startup-id xset s
然后黑屏、睡眠、断电时间分别设为6000s,8000s,9000s,也可以只写前一个,不必三个都写
exec --no-startup-id xset dpms
•win+shift+减号实现隐藏一个窗口,win+减号重新打开
bindsym $mod+Shift+minus move scratchpad
bindsym $mod+minus scratchpad show
还有很多基本的功能,请参照i3wm官网手册来自己写。下面介绍三处较大改进的地方。
2.3 工作区的配置
下面的代码可以实现将我比较常用的软件在用户设定的工作区打开,下面是代码:
#打开URxvt的同时切换到tab模式
for_window [class="URxvt"] layout tabbed #打开软件时自动移至相应工作区
assign [class="URxvt"] $WS1
assign [class="Thunar"] $WS1
assign [class="Firefox"] $WS2
assign [class="Zathura"] $WS3
assign [class="Gvim"] $WS4
assign [class="Ise"] $WS5
assign [class="VirtualBox"] $WS6
2.4 电源管理
win+c可以调出选项,你可以选择锁屏(L),注销(O),重启(R),关机(S),退出选项(Esc)。
#*********************************************电源管理*************************************
set $mode_system lock(L) logout(O) reboot(R) shutdown(S) exit(Esc)
bindsym $mod+c mode "$mode_system"
mode "$mode_system" {
bindsym l exec --no-startup-id i3lock -c '#000000', mode "default"
bindsym o exec --no-startup-id i3-msg exit, mode "default"
bindsym r exec --no-startup-id systemctl reboot, mode "default"
bindsym s exec --no-startup-id systemctl poweroff, mode "default"
bindsym Escape mode "default"
}
2.5 主题设置
将i3bar美化,这里要用到脚本文件jconky以及i3bar美化文件conkyrc,后面我会贴下载地址,当然也可以按照下面的代码写一份。文件需要移至$HOME/.config/i3/下。
注意:这里需要安装ttf-font-awesome字体(点击下载),AUR里有。且这里要安装conky
jconky:
#!/bin/sh # Send the header so that i3bar knows we want to use JSON:
echo '{"version":1}' # Begin the endless array.
echo '[' # We send an empty first array of blocks to make the loop simpler:
echo '[],' # Now send blocks with information forever:
exec conky -c ~/.config/i3/conkyrc
conkyrc
out_to_x no
out_to_console yes
background no
double_buffer no
update_interval
total_run_times
override_utf8_locale no
short_units yes
if_up_strictness address
cpu_avg_samples TEXT
[
#{ "full_text" : "", "color": "\#BADA55"},
#{ "full_text": " ${exec curl icanhazip.com}"},
{ "full_text" : ${if_up eno1}" ${upspeed eno1}/s ${downspeed eno1}/s"${else}""${endif}, "color" : "\#94F397" },
{ "full_text" : ${if_up wlo1}" ${upspeed wlo1}/s ${downspeed wlo1}/s"${else}""${endif}, "color" : "\#94F397" },
{ "full_text" : " ${cpu cpu0}%" , "color" : "\#8BC3E7" },
{ "full_text" : " ${mem}" , "color" : "\#B987D9" },
{ "full_text" : " ${fs_used_perc /}%" , "color" : "\#FF9D17" },
{ "full_text" : " ${battery_percent}%" , "color" : "\#A4DC6A" },
{ "full_text" : " ${time %Y/%m/%d %a}" , "color" : "\#ff797b" },
{ "full_text" : " ${time %H:%M}" , "color" : "\#8BADF9" }
],
config代码
#**************************************************主题设置*********************************************
# 窗口颜色 边框 背景 文字 提示
client.focused # # #FFFFFF #
client.focused_inactive # # #FFFFFF #3399FF
client.unfocused # # #FFFFFF #3399FF
client.urgent # # #FFFFFF #
client.placeholder # # #FFFFFF #
client.background #FFFFFF #i3bar设置
bar {
i3bar_command i3bar -t
height
#禁止systemtray
tray_output none
# i3bar调用
status_command ~/.config/i3/jconky
# 显示位置top/bottom
position bottom
# 是否隐藏
#mode hide
# 拆解工作区名(隐藏前面的1:::……)
strip_workspace_numbers yes
# 定义分隔符∥
separator_symbol " " colors {
background #
statusline #FFFFFF
separator #3399FF
# 工作区颜色 边框 背景 文字
focused_workspace #3297FD # #FFFFFF
active_workspace #FFFFFF #FFFFFF00 #FFFFFF
inactive_workspace # # #FFFFFF
urgent_workspace # # #FFFFFF
binding_mode # # #FFFFFF
}
}
注:i3bar_command i3bar -t的-t参数实现i3bar的透明,前提是安装了i3gap,没有则不用-t。
2.6 i3gaps
可以透明化i3bar,也可以在使窗口之间设定透明间隔,安装和编译可以参考https://github.com/Airblader/i3。
安装具体如下:
•首先在github下载文件,在bash中执行
#git clone https://github.com/Airblader/i3 ~/i3-gaps --将文件下载到~/i3-gaps文件夹中
•进入i3-gaps目录,进行编译,执行:
#make && make install
安装完成后,贴下config设置:
#********************************************i3-gaps*********************************
for_window [class="^.*"] border pixel
gaps inner
gaps outer
set $mode_gaps Gaps: (o) outer, (i) inner
set $mode_gaps_outer Outer Gaps: +|-| (local), Shift + +|-| (global)
set $mode_gaps_inner Inner Gaps: +|-| (local), Shift + +|-| (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
bindsym minus gaps inner current minus
bindsym gaps inner current set bindsym Shift+plus gaps inner all plus
bindsym Shift+minus gaps inner all minus
bindsym Shift+ gaps inner all set bindsym Return mode "default"
bindsym Escape mode "default"
}
mode "$mode_gaps_outer" {
bindsym plus gaps outer current plus
bindsym minus gaps outer current minus
bindsym gaps outer current set bindsym Shift+plus gaps outer all plus
bindsym Shift+minus gaps outer all minus
bindsym Shift+ gaps outer all set bindsym Return mode "default"
bindsym Escape mode "default"
}
3 效果图
说了这么多,终于到了秀桌面的时候了么,这些都是shutter截的图哦!
各个工作区截图:
工作区1,urxvt和thunar
工作区2,firefox
工作区3,Zathura,一个pdf阅读器,用法有着vim的特色
工作区4,gvim
..........
4 相关文件下载
•font-awesome:开源的图标字体,可通过简单地复制粘贴使用,具体查看http://fontawesome.io/cheatsheet/。
•urxvt配置文件下载:click here
•i3wm相关配置文件下载:click here
完...
Archlinux下i3wm与urxvt的配置的更多相关文章
- [daily][device][bluetooth] 蓝牙怎么办!(archlinux下驱动蓝牙鼠标,以及三星手机)
去年地摊买的破无线鼠标坏掉了.看上微软的Designer Mouse蓝牙鼠,但是买之前我要确认我能不能驱起来. 这款鼠标只支持蓝牙4.0.系统支持windows8以上,不支持xp和windows7. ...
- ArchLinux下electronssr无法启动的解决措施
ArchLinux下electronssr无法启动的解决措施 今天重新配置electron-ssr时发现闪退(无法启动). 于是开始查错 首先是找到了目录位置 /usr/electron-ssr/el ...
- Winform下CefSharp的引用、配置、实例与报错排除(源码)
Winform下CefSharp的引用.配置.实例与报错排除 本文详细介绍了CefSharp在vs2013..net4.0环境下,创建Winfrom项目.引用CefSharp的方法,演示了winfro ...
- Tomcat下conf下server.xml的文件配置信息
Tomcat下conf下server.xml的文件配置信息,基本上不用做任何修改就可以使用,修改的地方就是host区域的一些配置,此文件设置端口为80. 注意:Tomcat配置文件中(即server. ...
- win7下IIS的安装和配置 图文教程
转自 http://www.jb51.net/article/29787.htm 最近工作需要IIS,自己的电脑又是Windows7系统,找了下安装的方法,已经安装成功.在博客里记录一下,给需要的 ...
- Windows环境下MongoDB的安装与配置
MongoDB是一种高性能的文档型数据库,现介绍一下在Windows环境下MongDB的安装与配置 获取MongoDB 打开官方网站 www.mongodb.org,找到页面右上解的DownLoad链 ...
- Linux下apache+phppgadmin+postgresql安装配置
Linux下apache+phppgadmin+postgresql安装配置 操作系统:CentOS 安装包:httpd(首选yum), php(包括php以及php-pgsql,php-mbstri ...
- Windows下的maven安装及配置
有时候开发需要用到maven来进行项目管理,说下怎么配置maven吧 环境&工具: windows系统 jdk1.8 apache-maven-3.2.5.zip eclipse 首先需要去A ...
- Win8.1下FreeImage.lib库的配置和简单使用(转)
转自http://www.codeweblog.com/win8-1下freeimage-lib库的配置和简单使用/ 首先,你可以从这里获取FreeImage的完整库文件(访问密码 9a5e). 配置 ...
随机推荐
- django 下拉菜单显示为object的解决办法
在创建完Django数据库结构之后,使用Django自带的强大的admin功能往数据库中添加数据,图形化界面如下: 但时候有下拉框选项(只要在model中有定义Charfield就会显示为下拉框),如 ...
- php表单提交时获取不到post数据的解决方法
找到了一位博主的方法完美解决,链接如下: http://blog.csdn.net/whd526/article/details/53263181
- lambda表达式Expression<Func<Person, bool>> 、Func<Person, bool>区别
前言: 自己通过lambda表达式的封装,将对应的表达式转成字符串的过程中,对lambda表达式有了新的认识 原因: 很多开发者对lambda表达式Expression<Func<Pers ...
- python3.5连接oracle数据及数据查询
今天心血来潮研究下用python连接oracle数据库,看了一下demo,本以为很简单,从操作到成功还是有点坎坷,这里分享给大家,希望为后面学习的童鞋铺路. 一.首先按照cx_Oracle 二:在py ...
- CentOS7+mysql5.6配置主从
一.安装环境 操作系统:CentOS-7-x86_64-DVD-1611.iso数据库版本:mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz数据库地址: 192.1 ...
- form + iframe 获取表单提交后返回的数据
原理: submit 提交表单没有回调函数,但是可以用iframe来接收返回结果,最后进行格式转换就ok了: 原文地址: http://blog.csdn.net/simeng_1016/articl ...
- segment fault异常及常见定位手段
问题背景 最近boot中遇到个用户态程序的segment fault异常,除了一句"Segment fault"打印外无其他任何打印.该问题复现概率较低,定位起来比较棘手.我们的b ...
- EOS 的世界里可能再也没有小偷了
EOS 针对以下两种情况设计了应急措施: 1. 账户被盗(私钥被盗或有权限的其他账户被盗) 2. 账户遗失(私钥遗失或有权限的其他账户遗失) ## 1.账户被盗 EOS 有可能会强制要求所有账户的 O ...
- Java中常见的URL问题及解决方案
URL无处不在,不过似乎开发人员并没有真正地理解它们,因为在Stack Overflow上经常看到有人在问如何正确的创建一个URL.想知道URL语法是如何工作的,可以看下兄弟连教育总结的这篇文章,非常 ...
- web SPA项目目录、命名规范
项目结构:├── build ├── docs ├── package.json ├── src │ ├── components │ │ ├── List │ │ │ ├── index.js │ ...