Labwc 簡単設定
最近、仕事でLabWCを使用していますが、いくつか小さな問題に遭遇するようになりました。他の方の参考になればと思い、ここに記録しておきます。
現在、中国本土で使用されているWeChat、DingTalk、Tencent Meetingなどのサービスは、純粋なWaylandでは動作しません。純粋なWaylandではChromeでも、Fcitx5候補ボックスの位置がずれてしまいます。そのため、LabWCをコンパイルする際には、xwaylandサポートを有効にする必要があります。
以下は、よくある問題に対する私の個人的な解決策です。
1. タスクバー
タスクバーはどこに配置すべきでしょうか?デュアルスクリーン設定の場合、どちらの画面に表示すべきでしょうか?アイコンと名前のどちらで表示するべきでしょうか?クリックするとどのようなアクションが実行されるべきでしょうか?
- 場所
1
2"modules-center": [
3"wlr/taskbar"
4
5//"river/tags"
6
7],
wlr/taskbar を "modules-center" に配置すると、ステータスバーの中央に配置されます。
- シングルスクリーンまたはデュアルスクリーン出力
1// swaymsg -t get_outputs (sway)
2// wlr-randr (その他)
3"output": "eDP-1",
出力値は、sway の場合は swaymsg -t get_outputs から、wlr-randr をインストールして wlr-randr コマンドを実行すると wlr-randr から取得できます。複数の値はカンマで区切られ (typeof: string|array)、アスタリスクはすべての値が含まれることを示します (デフォルトは all)。
``/` … 私はセカンダリスクリーンに出力することを選択しました。メインスクリーンには通常、ステータスバーはなく、コアウィンドウのみが表示されます。セカンダリスクリーンは横に配置されているため、タスクバーやその他の補助情報を確認したいときに、ちらっと見ることができます。
- タスクバーの設定
1"wlr/taskbar": {
2"all-outputs": true,
3"format": "{icon}",
4"on-click": "minimize-raise",
5},
all-outputs は、すべてのモニター上のソフトウェアウィンドウをまとめて表示することを意味します。それ以外の場合は、現在のモニター上のウィンドウのみが表示されるため、やや不便です。お好みに合わせて設定してください。
format {icon} はソフトウェアアイコンを表示します。ソフトウェア名などを表示させるように設定することもできます。設定方法については、該当するドキュメントを参照してください。
on-click は、1回のクリックでソフトウェアを表示し、もう一度クリックすると最小化します。
完全な設定ファイル (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": { "tooltip": false,
29"scroll-step": 5,
30"format": "{icon} {volume}%",
31"format-muted": "{icon} {volume}%",
32"on-click": "pactl set-sink-mute @DEFAULT_SINK@ トグル",
33"format-icons": {
34"default": ["", "", ""]
35}
36},
37"river/tags": {
38"num-tags": 6
39},
40"network": {
41"tooltip": false,
42"format-wifi": " {essid}",
43"format-ethernet": ""
44},
45"backlight": {
46"tooltip": false,
47"format": " {}%",
48"interval": 1,
49"on-scroll-up": "light -A 5",
50"on-scroll-down": "light -U 5" },
51"battery": {
52"states": {
53"good": 95,
54"warning": 30,
55"critical": 20
56},
57"format": "{icon} {capacity}%",
58"format-charging": " {capacity}%",
59"format-plugged": " {capacity}%",
60"format-alt": "{time} {icon}",
61"format-icons": ["", "", "", "", ""]
62},
63"tray": {
64"icon-size": 18,
65"spacing": 10
66},
67"clock": {
68"format": "{: %H:%M %d/%m/%Y}"
69},
70"cpu": {
71"interval": 15,
72"format": " {}%",
73"max-length": 10
74},
75"memory": {
76"interval": 30,
77"format": " {}%",
78"max-length": 10
79},
80"custom/media": {
81"interval": 30,
82"format": "{icon} {}",
83"return-type": "json",
84"max-length": 60,
85"format-icons": {
86"spotify": " ",
87"default": " "
88},
89"escape": true,
90"exec": "$HOME/.config/system_scripts/mediaplayer.py 2> /dev/null",
91"on-click": "playerctl play-pause"
92},
93"custom/launcher": {
94"format": " ",
95"on-click": "wofi -show drun",
96"on-click-right": "killall wofi"
97},
98"custom/power": { "format": " ",
99"on-click": "bash ~/.config/rofi/leave/leave.sh"
100},
101"custom/updates": {
102"format": "{} 件のアップデート",
103"exec": "checkupdates | wc -l",
104"exec-if": "[[ $(checkupdates | wc -l) != 0 ]]",
105"interval": 15,
106"on-click": "alacritty -e paru -Syu && notify-send 'システムが更新されました' "
107},
108"custom/wallpaper": {
109"format": " ",
110"on-click": "bash ~/.config/system_scripts/pkill_bc"
111},
112"wlr/taskbar": {
113"all-outputs": true,
114"format": "{icon}",
115"on-click": "minimize-raise" }
2. スクリーンショット
Flameshot は LabWC でスクリーンショットを撮るのに問題があります。選択範囲を描画する際に異常な遅延が発生しますが、ステータスバーからクリックして開始すると正常に動作します。これは非常に奇妙で不安定です。代替の組み合わせを見つける必要があります。
1
2<keybind key="F9">
3 <action>
4 <name>Execute</name>
5 <command>sh -c 'grim -g "`slurp`" - | swappy -f -'</command>
6 </action>
7</keybind>
推奨される組み合わせは grim + slurp + swappy です。インストール後、上記のようにショートカットキーを設定し、F9 キーを押してスクリーンショットを撮る範囲を選択してください。上記のアクションの記述方法にご注意ください。 <action name="Execute" command='grim -g "$(slurp)" - | wl-copy' /> を直接使用しても動作しません。読者の皆様、この問題に遭遇したことがあるかもしれません。理由は公式の tips で説明されています。
Grim がスクリーンショットを撮影し、Slurp が範囲選択を行い、その後 Swappy が編集を行います。
Swappy でテキストを編集する際は、まず範囲選択を行い、次に入力し、最後に Enter キーを押して確定するというロジックになっていることに注意してください。また、Swappy は中国語の入力ができません(肩をすくめてください!)。また、Flameshot のようなステップバイステップの説明もありません。そのため、私は両方のスクリーンショットソフトを使い分け、状況に応じて使い分けています。
3. ワークスペース設定
以前、F12キーでターミナルソフトウェアを起動したり非表示にしたりできるディストリビューションを使っていました。これは非常に便利な機能でした。Linux環境ではターミナルソフトウェアは非常に頻繁に使用されるため、必要なときにF12キーで簡単に起動できます。しかし、多くのデスクトップ環境ではこの機能の設定が簡単ではありません。そのロジックのほとんどは、キーボードショートカットを使って複数のインスタンスを起動するというものでしたが、これは明らかにルールに反しています。
ほとんどのユーザーにとって、必要なのは1つのターミナルを開いて複数のタブを切り替えることだけです。
LabWCでは、ワークスペース切り替え機能を使って同様の機能を実現しています。
- まず、ワークスペースを追加します。
1
2<desktops>
3 <!--
4 popupTime のデフォルトは1000なので、省略可能です。
5 ワークスペースのOSDを完全に無効にするには、0に設定します。
6 -->
7 <popupTime>1000</popupTime>
8 <names>
9 <name>work</name>
10 </names>
11 <names>
12 <name>term</name>
13 </names>
14</desktops>
ここでは、2つのワークスペースのみを設定しました。1つは日常業務用、もう1つは専用のターミナル環境用です。以下の設定により、キーボードショートカットを使用して2つのワークスペースを柔軟に切り替えることができます。
- キーボードショートカットの設定
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 に切り替えます。これにより、ボスキーのようにワークスペースを切り替えることができます。ワークスペースをいくつ設定するかを決め、好みのキーボードショートカットを割り当てることができるので、とても便利です。
「ボスキー」とは、サボっている時に上司の好みのワークスペースに切り替えるためのショートカットです。お分かりいただけたでしょうか?中国本土での生活は厳しいものです。聖人でさえ理解できるはずです。
著作権に関する声明:
- 出典のないコンテンツはすべてオリジナルです。、無断転載はご遠慮ください(転載後にレイアウトが崩れたり、内容が制御不能になったり、継続的に更新できない等の理由から)。
- このブログのコンテンツを非営利目的で解釈したい場合は、(読者の便宜のため)「オリジナル ソース」または「参照リンク」の形式でこのサイトの関連 Web ページ アドレスを提供してください。