安装
pacman -S i3
选择全部安装
按键配置
我的想法是全默认,习惯一下默认的按键风格。
修改默认terminal
bindsym $mod+Return exec konsole
sudo pacman -S dmenu
TODO
- i3wm虚拟机无法复制文字
- 默认分辨率设置与DPI设置
kitty终端
https://sw.kovidgoyal.net/kitty/conf/#fonts
默认情况下kitty不支持fcitx5输入法。
fcitx5中文输入法支持:
- 临时启动kitty
GLFW_IM_MODULE=ibus kitty
这样启动出来的kitty就可以支持fcitx5输入法了。
- 一劳永逸
每次启动用那么长的命令可不舒服,一劳永逸的方法:
nvim ~/.pam_environment
文件内容如下 :
NPUT_METHOD DEFAULT=fcitx5
GTK_IM_MODULE DEFAULT=fcitx5
QT_IM_MODULE DEFAULT=fcitx5
XMODIFIERS DEFAULT=\@im=fcitx5
SDL_IM_MODULE DEFAULT=fcitx
GLFW_IM_MODULE=ibus
其中关键的一行是GLFW_IM_MODULE=ibus
详情见:
https://github.com/kovidgoyal/kitty/issues/469
VMware复制支持
执行以下:
/usr/bin/vmware-user-suid-wrapper
4K 分辨率支持
echo QT_AUTO_SCREEN_SCALE_FACTOR=1 >> ~/.pam_environment
pacman -S lxappearance
截图工具flameshot快捷键设置
我一开始以为在flameshot软件本身设置快捷键,结果找了好几遍也没找到设置的地方,后来才发现原因只要运行flameshot gui
就可以直接截图了
bindsym $mod+Shift+a exec flameshot gui
VirtualBox
一开始我并不愿意使用虚拟机,总感觉使用虚拟机会浪费一些性能。担心因为使用虚拟机会导致cpu风扇狂转。后来因为要开发微信小程序,不得不安装windows系统。安装了VirtualBox+Windows7虚拟机。使用下来感觉还不错,我担心的事情并没有发生。我的电脑依然很安静。就是要占些内存,我给虚拟机分配了4G的内存,基本QQ,微信后还会富于
安装虚拟机之前,我使用的是wine版本微信和wine版本QQ 。也不是不能用,如果只是简单的聊天,发表情问题不大。但是在长期的使用过程中,偶尔会遇到一些bug用户体验真难受。
比如微信:
- 无法截图
- 用久了就无法复制文字,也无法粘贴。(很难受),遇到这种情况就要结束进程,重新登录一下微信才能恢复。有时有着急的事情,复制内容老是发不出去,是真的难受。
- 电脑只要一休眠,微信基本是必然卡死,又要结束进程重新启动。
- 弹出框有个粗大的黑边,影响美观。
比如QQ:
- 无法截图
- 用久了就无法复制文字,也无法粘贴。(很难受),遇到这种情况就要结束进程,重新登录一下微信才能恢复。有时有着急的事情,复制内容老是发不出去,是真的难受。
- 弹出框有个粗大的黑边,影响美观。
哈哈罗嗦了这么多,就是想说。在虚拟机中使用 QQ和微信是真的舒服。 我说的这些bug全没有了。
剪切板
经常要截图发到qq或者微信里。利用VirtualBox共享剪切板的特性。直接在linux截图完复制到剪切板就可以了。
把图片复制到剪切板
无效的办法:
ls -rt /home/itkey/图片/Screenshots/*.png | tail -1 | xargs -i xclip -selection clipoard -t "image/png" {}
这种是可以复制图片的,在linux本机复制粘贴没有任何问题,就是不知道为什么不能粘贴到虚拟机中。
我研究了一下,终于找到可以复制到虚拟机中的办法。通过copyq这个软件复制图片是可以直接粘贴到虚拟机的剪切板的。
命令如下:
copyq write image/png - < file.png && copyq select 0
最终我把截图命令调整成:
copyq write image/png - < $(ls -rt /home/itkey/图片/Screenshots/*.png | tail -1) && copyq select 0
我用的截图软件请参考:
《i3wm中截图软件flameshot deepin-screenshot》
https://blog.csdn.net/lxyoucan/article/details/124752394
通知管理
Dunst
是大多数桌面环境提供的通知守护程序的轻量级替代品。它非常可定制,不依赖于任何工具包,因此适合那些我们都喜欢定制到完美的以窗口管理器为中心的设置。
官网如下:https://dunst-project.org/
安装:
pacman -S dunst
nvim ~/.local/share/systemd/user/dunst.service
文件内容如下:
[Unit]
Description=dunst service
After=network.target
[Service]
ExecStart=/usr/bin/dunst -conf $HOME/.config/i3/dunstrc
RemainAfterExit=yes
Restart=on-failure
RestartSec=2
ExecReload=kill -HUP $MAINPID
[Install]
WantedBy=default.target
然后在启动脚本中通过
systemctl --user start dunst.service
启动服务。
查询服务状态:
systemctl --user status dunst.service
配置文件:
~/.config/dunst/dunstrc
配置文件内容可以参考:
https://zjuyk.gitlab.io/posts/i3wm-config/
隐藏显示状态栏
- 隐藏
i3 bar mode hide
- 显示
i3 bar mode dock
- 循环切换
i3 bar mode toggle
其实在隐藏的状态下,按下$mod
状态栏会自动显示的。
- 快捷键设置
#隐藏显示状态栏
bindsym $mod+m bar mode toggle
命令行cli调用指定
比如:
来回切最近运行的两个桌面
bindsym $mod+Tab workspace back_and_forth
如果想命令行中执行,可以执行以下命令。
i3-msg 'workspace back_and_forth'
https://i3wm.org/docs/userguide.html#_changing_named_workspaces_moving_to_workspaces
参考
https://i3wm.org/docs/userguide.html#_changing_named_workspaces_moving_to_workspaces