Arch Linux で KDE Plasma/GNOME の Wayland に対する苦痛が結構しんどいので思い切って Hyprland の環境を作ってみた。
以下の id:joker1007 さんのブログがとても参考になったので真っ先にリンクを残しておきたい。重ねてありがとうございます。
~/.config/hyprr/hyprland.conf
マウスカーソルが消える問題
以下環境変数を追加で治ります。再現しない人はスルーしてOKです。
env = WLR_NO_HARDWARE_CURSORS,1
Google Meet等での画面共有のための設定
こいつらをインストールして…
以下を追加する。
env = QT_QPA_PLATFORM,wayland env = QT_WAYLAND_DISABLE_WINDOWDECORATION,"1" env = GTK_THEME,Adwaita:dark env = MOZ_ENABLE_WAYLAND,1 env = XDG_SESSION_TYPE,wayland env = XDG_SESSION_DESKTOP,Hyprland env = XDG_CURRENT_DESKTOP,Hyprland env = _JAVA_AWT_WM_NONREPARENTING,1 exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=hyprland XDG_SESSION_TYPE=wayland exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
参考にしたのは以下です。 joker1007.hatenablog.com
お馴染みのメンバーの起動
exec-once = fcitx5 exec-once = dunst & exec-once = waybar
ちょっと説明しておくと…
- fcitx5 : 明示的に起動させておかないと日本語入力(mozc等)が動きません。
- dunst : 通知用
- waybar : ステータスバー
Waybar style
適当に以下より拝借した。
デフォルトアプリケーション設定
$terminal = foot $fileManager = thunar $menu = wofi --show drum
補足
foot
~/.config/foot/foot.ini
に term=ansi
を追記。
オーディオ
PipeWireを採用
exec-once = pipewire exec-once = wireplumber exec-once = pipwire-pulse
自分のキーボード (Keychron K11 Pro) にはボリューム用(専用ではないが)にダイヤルがついてるので以下 bind 追加で勝手に割り当てられた。
# Volume Controls ## pulseaudio # bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% # bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% ## Pipewire bind = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ bind = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- ## ALSA # bind = , XF86AudioRaiseVolume, exec, amixer -Mq set Speaker 5%+ # bind = , XF86AudioLowerVolume, exec, amixer -Mq set Speaker 5%- ## sndio # bind = , XF86AudioRaiseVolume, exec, sndioctl -f snd/default output.level=+0.05 # bind = , XF86AudioLowerVolume, exec, sndioctl -f snd/default output.level=-0.05
上記の設定には以下がとても参考になったというかそのまま使った。自分の環境では Pipewire を使っているのでそれ以外はコメントアウトしているが、各自の環境に合わせて使ったください。実際に当方で動作確認したのは Pulseaudio と Pipewire だけなのでその点ご了承ください。
ロック
wlogin をインストールするとシャットダウンと再起動はうまく動くのだけど、ロックができないので別途 swaylock をインストールして以下を conf に追記した。
bind = $mainMod, L, exec, swaylock -f -c 000000
SUPER + L
でロックされる。wlogin の conf を探しているんだが見つかっていない…もしかしたら wlogin の設定で swaylock を叩けないか?を調査する…
hyprshot
スクリーンキャプチャ用にインストール。以下のように key bind している。
bind = $mainMod CONTROL, S, exec, hyprshot -m window bind = $mainMod, S, exec, hyprshot -m output bind = $mainMod SHIFT, S, exec, hyprshot -m region
以下を参考にした。 github.com
番外編
nvidia のドライバ
自分はもう随分前にインストールしていたので忘れちゃったのですが、入れてない方は入れちゃってください。説明は割愛します。
Visual Studio Code
前にインストールしていたやつだと起動せずにCrashしていたので、以下の通り AUR にある visual-studio-code-bin
をインストールしたら使えた。
Comment
byu/itsmeignacio from discussion
inhyprland
ToDo
Clipboard Manager
特にコンソール周りが弱いのでまた時間を見つけて対応する。
追記:原因がこれだったので解決した。
Display Port のモニターが死ぬ
調べて対応したいが、調べなくてもそれなりに使えてしまう…
どうもHyprlandさんが4枚目のディスプレイを認識してくれんなぁ… pic.twitter.com/inE6DI65G5
— Motoki Tokifuji ™ 難治性喘息/脊柱管狭窄症に身体障害者2級として戦うエンジニア (@tokifujp) 2024年4月21日