EndeavourOS上ですが、wormが利用できました。
xorg-serverを、xorg-server-bug865(aur)に変更したら、
wormでデスクトップが出るようになりました。
wormは、archlinuxのデフォルトのxorg-serverでは、
動作せず、手の入った同パッケージに入れ替えないと
使えないみたいです。
入れ替える方法は、
$ yay xorg-server-bug865
で、removeもインストールもできます。
動かせるようになっただけで、まだよく判らないですが、
デスクトップのバーは、polybarというのを使います。
キーバインドに、sxhkdという別なパッケージも必要。
使用にあたっては、
~/.config/worm/{jgmenu_run,rc,sxhkdrc} の3つの
ファイルを使います。sxhkdrcで行う
キーバインドは、キーの組合せが任意か、というと、
ある程度決まり(束縛)があるようです。
# Restart worm
super + ctrl + r
worm
super + ctrl + r
worm
# Quit worm
ctrl + alt + q
pkill worm
ctrl + alt + q
pkill worm
# System reboot
ctrl + alt + r
systemctl reboot
ctrl + alt + r
systemctl reboot
# System shutdown
ctrl + alt + p
systemctl poweroff
ctrl + alt + p
systemctl poweroff
# Close app
super + q
wormc close-active-client
super + q
wormc close-active-client
# Maximize app
super + f
wormc maximize-active-client
super + f
wormc maximize-active-client
# Minimize app
super + h
wormc minimize-active-client
super + h
wormc minimize-active-client
# Tags
super + {_, shift + } {1-9}
wormc {switch,move-active}-tag {1-9}
super + {_, shift + } {1-9}
wormc {switch,move-active}-tag {1-9}
# Set master windows
super + m
wormc master-active
super + m
wormc master-active
# Float a window
super + shift + space
wormc float-active
super + shift + space
wormc float-active
super + Return
xfce4-terminal
xfce4-terminal
super + w
firefox
firefox
super + n
thunar
thunar
rcファイルは、以下の感じ。
#!/usr/bin/env bash
# | NOTE | NOTE | NOTE | NOTE |
# if you use this configuration, make sure that the paths are all right for the configuration file. this is just an example!!!
# you would also need things like nitrogen and polybar installed.
# | NOTE | NOTE | NOTE | NOTE |
# if you use this configuration, make sure that the paths are all right for the configuration file. this is just an example!!!
# you would also need things like nitrogen and polybar installed.
exec xrandr --rate 2 --output Virtual1 --mode 1920x1200 &
exec nitrogen --restore &
exec polybar -q -c ~/.config/polybar/config.ini &
exec mpd &
exec fcitx5 -d &
exec sxhkd -c ~/.config/worm/sxhkdrc &
wormc border-width 6
exec vmware-user &
exec sudo vmhgfs-fuse /mnt/hgfs -o auto_unmount -o allow_other &
## pywal support
# # CONFIGURE
# pywal_active_index="3" # color3
# pywal_inactive_index="4" # color4
#
# # CODE
# contrast_text_for () {
# # Formula from:
# # https://stackoverflow.com/questions/596216/formula-to-determine-perceived-brightness-of-rgb-color
# # https://www.w3.org/TR/AERT/#color-contrast
# if perl -e "exit ((1 - (0.299 * $((16#${1:0:2})) + 0.587 * $((16#${1:2:2})) + 0.114 * $((16#${1:4:2}))) / 255) > 0.5)"; then
# echo $((16#FF000000))
# else
# echo $((16#FFFFFFFF))
# fi
# }
# pywal_active="$(sed -n $(($pywal_active_index + 1))p ~/.cache/wal/colors | tail -c +2)"
# pywal_inactive="$(sed -n $(($pywal_inactive_index + 1))p ~/.cache/wal/colors | tail -c +2)"
# wormc border-active-pixel $((16#FF$pywal_active))
# wormc border-inactive-pixel $((16#FF$pywal_inactive))
# wormc frame-active-pixel $((16#FF$pywal_active))
# wormc frame-inactive-pixel $((16#FF$pywal_inactive))
# wormc text-active-pixel $(contrast_text_for $pywal_active)
# wormc text-inactive-pixel $(contrast_text_for $pywal_inactive)
# # CONFIGURE
# pywal_active_index="3" # color3
# pywal_inactive_index="4" # color4
#
# # CODE
# contrast_text_for () {
# # Formula from:
# # https://stackoverflow.com/questions/596216/formula-to-determine-perceived-brightness-of-rgb-color
# # https://www.w3.org/TR/AERT/#color-contrast
# if perl -e "exit ((1 - (0.299 * $((16#${1:0:2})) + 0.587 * $((16#${1:2:2})) + 0.114 * $((16#${1:4:2}))) / 255) > 0.5)"; then
# echo $((16#FF000000))
# else
# echo $((16#FFFFFFFF))
# fi
# }
# pywal_active="$(sed -n $(($pywal_active_index + 1))p ~/.cache/wal/colors | tail -c +2)"
# pywal_inactive="$(sed -n $(($pywal_inactive_index + 1))p ~/.cache/wal/colors | tail -c +2)"
# wormc border-active-pixel $((16#FF$pywal_active))
# wormc border-inactive-pixel $((16#FF$pywal_inactive))
# wormc frame-active-pixel $((16#FF$pywal_active))
# wormc frame-inactive-pixel $((16#FF$pywal_inactive))
# wormc text-active-pixel $(contrast_text_for $pywal_active)
# wormc text-inactive-pixel $(contrast_text_for $pywal_inactive)
wormc layout tiling
wormc struts 20 60 20 20
wormc gaps 20
wormc frame-height 0
wormc struts 20 60 20 20
wormc gaps 20
wormc frame-height 0
jgmenu_ranは、意味がよくわからず、
デフォルトのままにしています。
少し使ってみたところでは、タイリングでも、
フローティングでも、どうちらでも使えること。
タイリングにしたときに、
カーソルが隣のウィンドウに乗っかるだけでは、
アクティブウィンドウが
移行しないことなどあります。
ウィンドウを複数開くときの、開き具合は、
dwmと似ていて、主たるウィンドウが、
モニタ画面左の半分を専有します。
残りのウィンドウは、右側に細かく積み上がります。
ウィンドウの主<->副の入れ替えはできるのかできないのか、
デフォルトファイルにそのキーバインドにはないです。
ワークスペースの移動、別なワークスペースへの
ウィンドウの送りは、よくあるタイリングの
標準的方法に基づいています。
常時使いたいか、というと、いまのところ
そんな気分にはなりにくいですね。
できたくて、できていないことは、
rofiをキーバインドで出す方法です。
exitmenuは、上記ように直接キーバインドで
やる方法で代替できましたが、
主なアプリ以外のアプリを出すための
rofiの設定が上手く行きません。
ターミナル上のコマンド実行では機能しますが、
キーバインド設定すると、エラーになったりします。
以前に同じことを経験していますが、
なぜ起こるのかが、未だに理解できていません。
単にスクリプトだと思うんですけどね。
以下のように設定してみたりするんですけど、、、
# Program launcher
super + shift + alt
rofi -show drun
super + shift + alt
rofi -show drun
# Exit menu
super + p
rofi -show p -modi p:'rofi-power-menu --symbols-font "Symbols Nerd Font Mono"' -font "JetBrains Mono NF 16" -theme Paper -theme-str 'window {width: 8em;} listview {lines: 6;}'
rofi -show p -modi p:'rofi-power-menu --symbols-font "Symbols Nerd Font Mono"' -font "JetBrains Mono NF 16" -theme Paper -theme-str 'window {width: 8em;} listview {lines: 6;}'