i3 + conky 打造实用美观的桌面环境 =w=

[ ]

The content is recoverd from Wordpress Blog, for more details please check HERE

May 13, 2017

VOID001 Comments 8 comments

看着 #archlinux-cn 的一些小伙伴使用各种 wm (Window Manager),在一段短暂的犹豫之后,窝也开始转向 i3wm 啦 =w=

经过不到两天的配置,总算是达到了窝比较满意的效果

先上一张效果图吧OwO

下面就简单记录一下折腾时遇到的一些问题和过程

 

所需材料(以Archlinux举例(别的发行版我也没试过(逃

在安装的时候要注意 AUR 里的 conky-lua 已经不可用了,社区有用户自己修改了 PKGBUILD 并 comment 在了这个包的下面,使用这个 PKGBUILD 即可编译通过,conky 就有 lua support 啦 ~

https://github.com/fcolista/aur/blob/master/conky-lua/PKGBUILD

下载这个 PKGBUILD 文件并 makepkg 即可

配置过程

i3wm

i3wm 的 wiki 页面已经给了很详细的介绍 在此仅说明几个常用的配置项

关于 i3 的使用方法在文档里说的已经很清楚了,如果不想看文档的话,也可以去看 https://www.youtube.com/watch?v=j1I63wGcvU4 这期视频教程

各种问题 OAO

怎么没有桌面壁纸 OAO

那么现在我们就有一个 Tiling Window Manager 了,开心的登录进来之后发现

[图片]

WTF!壁纸呢 QAQ (你又没配置它当然不会有了

经过查阅资料得知,X 窗口管理下面,我们的桌面壁纸可以看做是显示在 root window 下的,我们可以通过 xsetroot 设置壁纸,然而这个工具十分难用,而且大概只支持 png 格式的壁纸(之前还写了一个转换jpg到png的程序给它用),这时候就是安利 feh 的时候啦~ 不仅支持各种格式的壁纸图片,还支持随机壁纸哦~ 我们把壁纸都放在 ~/Pictures/Wallpapers 下面,随机切换壁纸的指令如下

feh –recursive –randomize –bg-fill ~/Pictures/WallPapers

我们将它绑定到 i3 的快捷键上 OwO 这样就可以一键换壁纸啦 \w/,然后,我们把终端设置为透明的, 这样我们就不需要终端的壁纸只用桌面壁纸就可以啦(Konsole里面的 Profile 可以修改透明度,不过要先运行 compton)

诶诶壁纸太亮了!看不清终端的字啦喂

这里就是 GIMP 发挥作用的时候啦~! GIMP 可以轻松的将特别亮的图变暗哦~

处理前

处理后

是不是好了很多 OwO ,只要在 GIMP 里打开图片,在 Color->Brightness and Contrast 下将图片的亮度降低,然后导出,即可~

我的 Okular 图标都丢了诶!原来用 KDE 的时候还是好的

这个问题是因为 Okular 检测不到 KDE 的环境变量,因而显示的时候缺少了 KDE 的主题效果,解决办法由 eatradish 提供 OwO

https://eatradish.moe/zai-i3-zhong-shi-yong-dolphin/

将 export DESKTOP_SESSION=kde 这一行加入到 .xprofile 中即可,在 X 启动时候设置好环境变量。再次使用 Okular Dolphin 都没问题啦~

i3bar 太丑啦! 窝想要个好看的状态栏

尽管 i3bar 支持Unicode Character, Font Awesome 来配置显示,可是它显示的还只能是字符 🙁 为了让状态栏看起来更好看 ,我们来使用 conky! 作为 statusbar !

下载好上面的 conky-i3bar, 安装好 conky-lua 并确定 lua 已经安装在你的系统里,我们先来试试水:

记得先修改 conkyrc.lua 里面的 lua_load 改为你的 i3bar.lua 的地址

conky -c /path/to/conky-i3bar/conkyrc.lua 看看效果…

这是什么鬼啊 (#`Д´)ノ ,看来想偷懒是不行了( ˘・з・) 开始调整吧 OwO,因为是 lua 写的所以调整起来并不是很难,基本上都是调节每一个component的xpos, ypos ,还有调整字体大小,注意字体大小不要在 conkyrc.lua 里设置,i3bar.lua 会对字体进行设置, 修改字体的时候记得修改这里。另外在修改的过程中如果发现图片和文字重叠了而且无法调x y pos解决(比如显示日期的那个矢量图因为字体调整之后显得很鬼畜)就直接打开 InkScape 去修改相应的矢量图即可,修改后保存立即可以看到效果,这点还是很不错的 =w=

不过 conky 的 reload 只有在 i3bar.lua 这个文件被修改的时候才会自动 reload 为了让我们能看到实时的修改效果,写一个脚本不停重启 conky 吧(

经过一番调整之后 我们有了这样的状态栏 (,,・ω・,,)

以及上面的时间显示(在panel最右边)

我还想看 Wifi 状态可是 component 里没有啊 QAQ

没关系, repo 的作者提供了供大家开发使用的工具库 util.lua,并且在 component 里有一系列的例子关于如何编写一个组件,然后窝实现了这样的一个组件

三个小圈圈是信号强度,现在的状态是很强的信号,如果信号衰弱则就会减少圈圈,旁边显示的是我的网络 interface 名称以及我 连接的 Wifi 的名称 OwO

我这里有一个可以动的,效果是这样的

(上面的demo给wifi信号变量设置了一个随机的值,为了看效果,要是真实的信号这样变来变去我感觉你可以换网卡了)

实际上上面用了四个 svg 图

没有圈,一个圈,两个,三个,下面是这个 component 的代码,供对开发组件有兴趣的小伙伴研究

https://github.com/VOID001/conky-i3bar/blob/master/components/wireless_stat.lua

 

夏娜还是第一次做和”装饰”有关的 Coding 呢,感觉用 InkScape 画画图很有趣呢。调间距,字号什么的虽然很累,不过调整好的时候真的很开心w


Linux


Historical Comments

  1. SilverRainZ says: May 14, 2017 at 12:13 am 好棒,用 svg 显示 wifi 信号强度的那个需要写点代码的么?

    1. VOID001 says: May 14, 2017 at 12:19 am 窝文中给出的那个链接就是我的代码啦~
  2. 静静 says: May 14, 2017 at 9:26 pm 乃的终端透明是100%嘛。。手动处理图片变暗也是醉了…

    1. VOID001 says: May 14, 2017 at 9:32 pm 是呀(我也很绝望嘛
      终端完全透明的~ 不过今天加上了 blur 效果(
  3. TJM says: June 4, 2017 at 10:31 am 如果终端能分背景透明和字体透明就好了……

  4. 兔子qwq says: June 6, 2017 at 7:59 am #NyanRabbit{font-size:14px !important;color:#FF8484 !important;margin: 0 0 0 40px !important;text-shadow: 2px 1px 5px #cecece !important;transition:all 0.3s !important;}#NyanRabbit:hover{transition:all 0.3s !important;font-size:18px !important;} ⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄

  5. a-wing says: April 11, 2018 at 8:43 pm 学习了。。最近也在配i3 。。。好厉害。自己写组件的大佬

    1. VOID001 says: April 22, 2018 at 10:21 am 不是大佬啦 QwQ, 组件写起来也不难, 稍稍学下 lua 就好啦 >w<

    2. VOID001 says: April 22, 2018 at 10:21 am 不是大佬啦 QwQ, 组件写起来也不难, 稍稍学下 lua 就好啦 >w<

Back