今更Hyprland (Wayland対応) 化したので備忘録

Hyprland on Arch Linux
Hyprland on Arch Linux
Arch LinuxKDE Plasma/GNOME の Wayland に対する苦痛が結構しんどいので思い切って Hyprland の環境を作ってみた。

以下の id:joker1007 さんのブログがとても参考になったので真っ先にリンクを残しておきたい。重ねてありがとうございます。

joker1007.hatenablog.com

~/.config/hyprr/hyprland.conf

マウスカーソルが消える問題

下環境変数を追加で治ります。再現しない人はスルーしてOKです。

env = WLR_NO_HARDWARE_CURSORS,1

Google Meet等での画面共有のための設定

こいつらをインストールして…

  1. xdg-desktop-portal
  2. xdg-desktop-portal-hyprland
  3. xdg-desktop-portal-gtk
  4. pipewire
  5. wireplumber

以下を追加する。

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

ちょっと説明しておくと…

  1. fcitx5 : 明示的に起動させておかないと日本語入力(mozc等)が動きません。
  2. dunst : 通知用
  3. waybar : ステータスバー
Waybar style

適当に以下より拝借した。

github.com

デフォルトアプリケーション設定

$terminal = foot
$fileManager = thunar
$menu = wofi --show drum

補足

  1. foot : ターミナルエミュレーター
  2. thunar : GUIなファイルマネージャ(CUIのはいいかなってことで)
  3. wofi : アプリケーションランチャー

~/.config/foot/foot.initerm=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 だけなのでその点ご了承ください。

wiki.gentoo.org

ロック

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 のモニターが死ぬ

調べて対応したいが、調べなくてもそれなりに使えてしまう…

© 2020 時藤屋 all rights reserved.