ArchLinuxのi3でワークスペーススライドをアニメーション化するには?
完全なDEを使用したくありません。現在コンプトンをコンポジターとして使用していますが、ワークスペースを切り替えるときにフェードイン/アウトのみを提供するため、KDEやGnomeなどのスライドアニメーションを実行することはできません。
他のシンセサイザーをインストールしても大丈夫ですが、可能であればcomptonとi3も一緒にインストールしたいと思います。 (低レベルのAPIを使用せずにアニメーションを直接書く必要はありませんが、どこから始めるべきかわかりません)
2番目のステップは、MacO(または現在のWindows 10)のようにワークスペースを切り替えることです。トラックパッドから指をドラッグすると、ワークスペースがスムーズに切り替わります。ドラッグを停止すると、ワークスペースは元の位置に戻ります。 (私の話これ)はLinuxシステムで設定するのが本当に良いです。私はLibinput(およびlibinputジェスチャー)を使用していますが、そのような機能があるかどうかはわかりません。
MacOs / Windows 10に最も近いワークスペース移行経験を得るためにArchLinuxでi3を使用する方法は?
ベストアンサー1
これは私がずっと前にやったことですが、おそらくやってはいけません。信じられないほど悪く、非効率的です! :P
デフォルトでは、現在の画面のスクリーンショットを作成して、一度に1ピクセルずつ横にスライドさせます。 (コンピュータの仕様によって速度が変わると思います。)
次のコードを使用してワークスペースを変更するたびにトリガーされるbashスクリプトがありますgoto_to_workspace.sh
。 (たとえば、スクリプトはパラメータ番号をワークスペース番号として使用しますgoto_to_workspace.sh 4
。)
WORKSPACE=$1
WKSP=`xprop -root -notype _NET_CURRENT_DESKTOP | sed 's#.* =##'`
CURRENT_WORKSPACE=`expr 1 + $WKSP`
if [ $CURRENT_WORKSPACE -ne $WORKSPACE ]; then
scrot -q 50 PRTSRC.jpeg
feh PRTSRC.jpeg&
FEH_WINDOW=$!
#WAIT (give i3 time to switch workspace in the background)
sleep .2
fi
slide_FEH_LEFT(){
LONG_LINE="move left 1px"
for i in {1..11}; do
LONG_LINE=$LONG_LINE","$LONG_LINE
done
i3-msg "[class=feh] $LONG_LINE"
}
slide_FEH_RIGHT(){
LONG_LINE="move right 1px"
for i in {1..11}; do
LONG_LINE=$LONG_LINE","$LONG_LINE
done
i3-msg "[class=feh] $LONG_LINE"
}
if [ $CURRENT_WORKSPACE -gt $WORKSPACE ]; then
slide_FEH_RIGHT
else
slide_FEH_LEFT
fi
#SIMPLE KILL AFTER 500ms
{ sleep .5 && kill $FEH_WINDOW; } &
編集:問題をより深く掘り下げます。代わりにwmctrlを使用する方が賢明でしょう。
したがって、ダウン機能は次のようになります。 (マイ1920×1080画面の場合)
slide_FEH_DOWN_wmctrl(){
FEH_ID=`wmctrl -l|grep "PRTSRC.jpeg$"|awk '{print $1}'`
for (( c=0; c!=1100; c=c+10 )) do
wmctrl -i -r $FEH_ID -e 1,0,$c,1920,1080
done
}
また、迅速に作業を行うためにxlib(cまたはpython)を試してみましたが、wmctrlほどスムーズではありませんでした。誰でももっとうまくいけば教えてください。
EDIT2:もちろん、i3設定のように持続するにはfehが必要です。
for_window [class="feh"] floating enable, sticky enable, border pixel 0, move absolute position 0 px 0 px