Я не рекомендую это решение для этой проблемы.
Вы можете отредактировать /etc/sudoers
, чтобы настроить sudo на разрешение выполнения скрипта без пароля.
Это то, что я сделал давным-давно, но это, вероятно, не следует делать так, это невероятно хакерски и неэффективно! :П
По сути, он делает скриншот текущего экрана и сдвигает его в сторону по одному пикселю за раз. (скорость зависит от компьютеров, я думаю.)
У меня есть сценарий 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.
Таким образом, выход из строя функции может быть, например,:(для моего экрана 1920x1080)
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 :Конечно, вам нужно, чтобы feh был липким, например, в вашей конфигурации i3:
for_window [class="feh"] floating enable, sticky enable, border pixel 0, move absolute position 0 px 0 px
Это вполне возможно, хотя я не нашел способа добиться этого.
Я пользуюсь i3wm уже пять лет. Он стремится быть быстрым, без лишнего пуха. Со ссылкой на i3wm.org :«Не раздувайся, не фантазируй»
Ваш запрос выходит за рамки этого оконного менеджера; если вам действительно нужна плавная анимация, такая как в KDE или Gnome, то они могут вам подойти лучше.