Labwc 便捷配置
最近使用 labwc 工作,逐步發現一些小問題,這裏記錄下,方便後來人。
目前中國大陸使用的微信、釘釘、騰訊會議等都是無法在純粹的 wayland 下工作的,包括 chrome 在純 wayland 下,Fcitx5 的候選框會跑偏,所以編譯 labwc 的時候一定要開啓 xwayland 支持。
下面針對一些常見問題給出個人解決方案:
1. 任務欄
taskbar 放在什麼位置?雙屏的話,在哪個屏幕顯示?顯示圖標還是名稱,以及點擊後執行什麼動作?
-
放在什麼位置
1"modules-center": [ 2 "wlr/taskbar" 3 //"river/tags" 4],
wlr/taskbar
放到 "modules-center" 中,就是放到狀態欄中間 -
單屏還是雙屏輸出
1// swaymsg -t get_outputs (sway) 2// wlr-randr (others) 3"output": "eDP-1",
output 的值可 sway 可從
swaymsg -t get_outputs
獲得,其它的安裝 wlr-randr 後運行wlr-randr
命令後獲得,多個逗號分隔(typeof: string|array),星號所有,默認就是所有。我選擇輸出到副屏,主屏一般不放狀態欄,只顯示核心窗口,副屏放到一遍,需要看 taskbar 等輔助信息的時候,眼睛斜瞄一眼即可。
-
taskbar 配置
1"wlr/taskbar": { 2 "all-outputs": true, 3 "format": "{icon}", 4 "on-click": "minimize-raise", 5},
all-outputs
表示所有顯示器窗口的軟件都收集展示,不然只顯示本顯示器的窗口,多少有點不方便,看喜好設置。format
{icon}就是顯示軟件圖標,也可設置爲顯示軟件名等,可以查看對應文檔設置。on-click
minimize-raise 點一下展示,再點一下縮回去。
完整配置文件(https://github.com/kmephistoh/dotfiles/tree/main/.config/waybar/config):
1{
2 "layer": "top",
3 "position": "bottom",
4 // swaymsg -t get_outputs (sway)
5 // wlr-randr (others)
6 "output": "eDP-1",
7 "modules-left": [
8 //"wlr/taskbar",
9 "custom/launcher",
10 "cpu",
11 "memory",
12 "custom/media",
13 "tray"
14 ],
15 "modules-center": [
16 "wlr/taskbar"
17 //"river/tags"
18 ],
19 "modules-right": [
20 "custom/updates",
21 "custom/wallpaper",
22 "backlight",
23 "pulseaudio",
24 "clock",
25 "battery",
26 "custom/power"
27 ],
28 "pulseaudio": {
29 "tooltip": false,
30 "scroll-step": 5,
31 "format": "{icon} {volume}%",
32 "format-muted": "{icon} {volume}%",
33 "on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
34 "format-icons": {
35 "default": ["", "", ""]
36 }
37 },
38 "river/tags": {
39 "num-tags": 6
40 },
41 "network": {
42 "tooltip": false,
43 "format-wifi": " {essid}",
44 "format-ethernet": ""
45 },
46 "backlight": {
47 "tooltip": false,
48 "format": " {}%",
49 "interval": 1,
50 "on-scroll-up": "light -A 5",
51 "on-scroll-down": "light -U 5"
52 },
53 "battery": {
54 "states": {
55 "good": 95,
56 "warning": 30,
57 "critical": 20
58 },
59 "format": "{icon} {capacity}%",
60 "format-charging": " {capacity}%",
61 "format-plugged": " {capacity}%",
62 "format-alt": "{time} {icon}",
63 "format-icons": ["", "", "", "", ""]
64 },
65 "tray": {
66 "icon-size": 18,
67 "spacing": 10
68 },
69 "clock": {
70 "format": "{: %H:%M %d/%m/%Y}"
71 },
72 "cpu": {
73 "interval": 15,
74 "format": " {}%",
75 "max-length": 10
76 },
77 "memory": {
78 "interval": 30,
79 "format": " {}%",
80 "max-length": 10
81 },
82 "custom/media": {
83 "interval": 30,
84 "format": "{icon} {}",
85 "return-type": "json",
86 "max-length": 60,
87 "format-icons": {
88 "spotify": " ",
89 "default": " "
90 },
91 "escape": true,
92 "exec": "$HOME/.config/system_scripts/mediaplayer.py 2> /dev/null",
93 "on-click": "playerctl play-pause"
94 },
95 "custom/launcher": {
96 "format": " ",
97 "on-click": "wofi -show drun",
98 "on-click-right": "killall wofi"
99 },
100 "custom/power": {
101 "format": " ",
102 "on-click": "bash ~/.config/rofi/leave/leave.sh"
103 },
104 "custom/updates": {
105 "format": "{} Update(s)",
106 "exec": "checkupdates | wc -l",
107 "exec-if": "[[ $(checkupdates | wc -l) != 0 ]]",
108 "interval": 15,
109 "on-click": "alacritty -e paru -Syu && notify-send 'The system has been updated' "
110 },
111 "custom/wallpaper": {
112 "format": " ",
113 "on-click": "bash ~/.config/system_scripts/pkill_bc"
114 },
115 "wlr/taskbar": {
116 "all-outputs": true,
117 "format": "{icon}",
118 "on-click": "minimize-raise"
119 }
120}
2. 截屏
flameshot 在 labwc 下截屏有點問題,畫選範圍的時候反應異常延遲,不過從狀態欄點擊啓動的時候沒有問題,很詭異,狀態不穩定,必須找個替換組合。
1 <keybind key="F9">
2 <action>
3 <name>Execute</name>
4 <command>sh -c 'grim -g "`slurp`" - | swappy -f -'</command>
5 </action>
6 </keybind>
推薦組合爲 grim + slurp + swappy
,安裝好後按照上述配置快捷鍵,按 F9 即可選擇範圍截屏。請注意上面 action 的寫法,直接 <action name="Execute" command='grim -g "$(slurp)" - | wl-copy' />
是無法工作的,我幫讀者踩過坑了。緣由參考官方tips 部分。
grim 截屏,slurp 選擇範圍,swappy 事後編輯。
注意,swappy 編輯文字的時候,邏輯是先選擇範圍,再打字,最後 Enter 確認,且無法輸入中文(攤手錶情!),也沒有 flameshot 的步驟指示功能。所以我兩個截屏軟件都保留,看情況選擇。
3. 工作空間設置
很久以前我用過一個發行版,它的終端的軟件是可以按 F12 呼出和隱藏的,非常貼心,因爲終端在 Linux 環境下是超高頻軟件,用的時候隨時按 F12 呼出,此功能很多桌面環境不是那麼容易設置。大部分的邏輯是快捷鍵直接啓動多個實例了,這明顯不符合使用需求,大部分人只需要開啓一個終端,然後多 tab 切換即可。
在 labwc 下,我通過 workspace 切換的的功能勉強實現類似功能:
- 先添加 workspace
1 <desktops>
2 <!--
3 popupTime defaults to 1000 so could be left out.
4 Set to 0 to completely disable the workspace OSD.
5 -->
6 <popupTime>1000</popupTime>
7 <names>
8 <name>work</name>
9 </names>
10 <names>
11 <name>term</name>
12 </names>
13 </desktops>
我這裏只設置了 2 個工作空間,一個 work,日常工作環境;一個 term,單獨的只有終端的環境。接下來的設置快捷鍵,在兩者間靈活切換。
- 設置快捷鍵
1 <keybind key="W-1">
2 <action name="GoToDesktop" to="term" wrap="yes" />
3 </keybind>
4 <keybind key="C-W-1">
5 <action name="SendToDesktop" to="term" follow="yes" wrap="yes" />
6 </keybind>
7 <keybind key="W-2">
8 <action name="GoToDesktop" to="work" wrap="yes" />
9 </keybind>
10 <keybind key="C-W-2">
11 <action name="SendToDesktop" to="work" follow="yes" wrap="yes" />
12 </keybind>
上述配置解釋:win+1
切換到 term,win+2
切換到 work;ctl+win+1
把當前活動窗口放置到 term,ctl+win+2
把當前活動窗口放置到 work,這樣即可實現類似老闆鍵切換的功能,讀者可以自行決定設置多少個 workspace,綁定好自己喜歡的快捷鍵,用起來很方便的。
所謂老闆鍵,就是摸魚時,一鍵切換到老闆喜歡的工作界面,我想你應該懂的!畢竟大陸生活苦,菩薩也要體諒下。
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。