Когда окно привязывается к границе или к двум границам (верхний и нижний края экрана), кажется, что-то сбрасывает любые изменения в положении и размере Chrome (пробовал из Selenium и из JS). Пока пользователь не «открепит» его вручную, все запросы на перемещение и изменение размера будут мгновенно возвращаться (я вижу один кадр правильного положения и размера, а следующий кадр возвращается в предыдущее состояние). Я подозреваю, что это KDE, но я не уверен.
// snapped
> window.outerHeight
< 1137
> window.resizeTo(10,10)
< undefined
> window.outerHeight
< 1137
> window.screenX
< 2135
> window.moveTo(0,0)
< undefined
> window.screenX
< 2135
// unsnapped (I tried to move and resize the window as little as possible)
> window.moveTo(0,0)
< undefined
> window.screenX
< 1067 // ok (probably because 2 monitor setup)
> window.resizeTo(10,10)
< undefined
> window.outerHeight
< 101 // ok (probably minimal window size)
Есть ли какие-либо советы, как отключить это поведение в KDE (если это необходимо) или выполнить действие "unsnap" из JS (внутри окна) или Selenium (с использованием библиотеки веб-драйверов из Haskell)?
Редактировать: Кто-то удалил тег Haskell, я не уверен, почему. Цитата из моего вопроса:
или выполнить действие «unsnap» из JS (внутри окна) или Selenium (используя библиотеку веб-драйверов из Haskell ) ?
Как это не связано с Haskell, если это возможно, решение Selenium связано с библиотекой Haskell - решение, включающее Selenium, но которое невозможно с библиотекой webdriver , для меня бесполезно.
Edit2:
Хорошо, добавляем код на Haskell, чтобы я мог повторно добавить тег Haskell ... Вот как я его использую:
runWD session $ do
setWindowPos (x', y')
liftIO $ threadDelay $ 100 * 1000
setWindowSize (w, h)
liftIO $ threadDelay $ 100 * 1000
Он ведет себя точно так же, как и в консоли dev в JS, как я писал ранее.