Sway配置和环境隔离的设置

0 缘起

在使用mangowc的时候,虽然已经可以流畅的干活了,但是有时候还是会感觉到老旧的T430在动画和占用上有点令人忍俊不禁了。(虽然过几天打算换X250了)听说sway作为i3wm的wayland继承版,甚至能沿用i3的语法,反正就一个包的事装一下。

1 通配符

在配置完mango之后,差不多对这种wm声明式配置有了点概念,拷贝官方给出的默认配置后,大概顺序如下:

  1. 配置快捷键与操作逻辑
  2. 配置自启动服务
  3. 配置外观参数

大概读一下sway的文档之后粗略看两眼,直接对着配置文件改就行。

1.1 快捷键与操作

老三样,搜索终端剪切板。

set $term kitty set

$menu fuzzel

bindsym $mod+space exec $menu

bindsym $mod+Return exec $term

bindsym $mod+q kill # 关窗

#剪切板服务

exec wl-paste --type text --watch cliphist store exec wl-paste --type image --watch cliphist store

sway很大一部分是继承自i3的。虽然我习惯了niri的卷轴逻辑,并且我是不太喜欢i3/sway那种非得在屏幕上拼几块的逻辑的。但是sway/i3本身就不走这个逻辑,但是其实后面发现打开tab视图就行了,只需要使用mod+v

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
 bindsym $mod+w layout tabbed
---
此外:
 # 焦点移动 (Vim + 方向键)
    bindsym $mod+$left focus left
    bindsym $mod+$down focus down
    bindsym $mod+$up focus up
    bindsym $mod+$right focus right
    bindsym $mod+Left focus left
    bindsym $mod+Down focus down
    bindsym $mod+Up focus up
    bindsym $mod+Right focus right
---
  # 窗口移动 (Vim + 方向键)
    bindsym $mod+Shift+$left move left
    bindsym $mod+Shift+$down move down
    bindsym $mod+Shift+$up move up
    bindsym $mod+Shift+$right move right
    bindsym $mod+Shift+Left move left
    bindsym $mod+Shift+Down move down
    bindsym $mod+Shift+Up move up
    bindsym $mod+Shift+Right move right

这样的话,基本大部分时候待在tab模式下,利用mod+hjkl/方向键就行;想进行拆分窗的时候,就单独加个shift去排你的窗口就可以了。实际上,$ I NOT REALLY LIKE VIM$

1.2 自启动应用

继承mango,用waybar+fuzzel就行。其他的之前弄好了就用之前的。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
### 自动启动与环境隔离
exec_always waypaper --restore --config ~/.config/waypaper_sway/config.ini
# 防止 Waybar 自启延迟并指定隔离路径
exec_always "sleep 1 && pkill waybar; waybar -c ~/.config/waybar_sway/config.jsonc -s ~/.config/waybar_sway/style.css"
exec_always fcitx5 -d --replace
exec mako
# 剪切板服务
exec wl-paste --type text --watch cliphist store
exec wl-paste --type image --watch cliphist store
# 大小写等osd
exec_always swayosd-server

为什么waypaper和waybar要这么写?因为:

1.3 环境隔离

我希望在mangowc和sway下的waybar和swaybg用两套不同的配置。

对于waybar,新建~/.config/waybar_sway然后waybar; waybar -c ~/.config/waybar_sway/config.jsonc -s就行了.选择魔改自:Ruixi-rebirth sway-dotfiles的waybar部分。

对于swaybg,比较土的办法是:指定两张图片,但是我想通过waypaper控制,所以我又新建~/.config/waypaper_sway.

效果:

1


2 小问题

vscode在sway模式下罢工。electron就是这样烂。

  • 在 VSCode 启动后,按 Ctrl+Shift+P
  • 输入并选择 Preferences: Configure Runtime Arguments
  • 在打开的 argv.json 中添加以下两行:

以及,github-desktop实在是很难用,于是选择用github-cli鉴权,然后统一用lazygit。