Анимация скольжения рабочего пространства в i3

Я не рекомендую это решение для этой проблемы.

Вы можете отредактировать /etc/sudoers, чтобы настроить sudo на разрешение выполнения скрипта без пароля.

10
12.06.2017, 12:36
2 ответа

Это то, что я сделал давным-давно, но это, вероятно, не следует делать так, это невероятно хакерски и неэффективно! :П
По сути, он делает скриншот текущего экрана и сдвигает его в сторону по одному пикселю за раз. (скорость зависит от компьютеров, я думаю.)

У меня есть сценарий 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
4
27.01.2020, 20:03

Это вполне возможно, хотя я не нашел способа добиться этого.

Я пользуюсь i3wm уже пять лет. Он стремится быть быстрым, без лишнего пуха. Со ссылкой на i3wm.org :«Не раздувайся, не фантазируй»

Ваш запрос выходит за рамки этого оконного менеджера; если вам действительно нужна плавная анимация, такая как в KDE или Gnome, то они могут вам подойти лучше.

1
27.01.2020, 20:03

Теги

Похожие вопросы