09.09.2019, Igor Dobryninsky написал(а):
> Имею довольно странную и дурацкую проблему - при запуске FF после
> нормального выхода из него, он открывает все окна с одинаковым
> небольшим сдвигом позиции влево и довольно большим, но тоже одинаковым
> - вверх. Навскидку сдвиг влево примерно совпадает с толщиной рамки
> окна, а вверх - высоте нижней панели браузера (которая обычно не
> отображается). При этом если убить FF (x)kill-ом, то при запуске все
> окна восстанавливаются в правильных позициях.
>
> Дело происходит под Mate Desktop. Началось уже довольно давно, ещё
> как минимум на jessie, одновременно и на домашнем, и на рабочем
> компьютерах, сейчас продолжается и на buster, причём как с
> дистрибутивным FF, так и с последним с сайта Mozilla. У других программ
> такого не замечено. Проверял на чистом профиле пользователя - то же
> самое.
>
> Нет ли у кого каких-нибудь соображений, в чём может быть проблема?
Скорее всего вверх сдвигается на высоту не панели а заголовка окна.
Вообще это большая проблема, я пользуюсь openbox'ом и у меня, например, он
открывается там где находится курсор. С другими программами это удобно, но не
в случае с браузером.
Решений проблемы несколько штук. Для начала, в конфигах firefox'а есть файл
xulstore.json, в котором хранится инфа о последнем положении и размере окна, и
можно попробовать использовать скрипт для его изменения перед запуском фф.
что-то вроде такого:
#/bin/sh
width=800
height=600
left=100
top=50
ffpth=$HOME/.mozilla/firefox
pth="$ffpth/$(grep Path= "$ffpth/profiles.ini" | head -n1 | sed s/.*=//)"
xulstore="$pth/xulstore.json"
sed -i 's/"screenX":"[0-9]\+"/"screenX":"'$left'"/' "$xulstore"
sed -i 's/"screenY":"[0-9]\+"/"screenY":"'$top'"/' "$xulstore"
sed -i 's/"width":"[0-9]\+"/"width":"'$width'"/' "$xulstore"
sed -i 's/"height":"[0-9]\+"/"height":"'$height'"/' "$xulstore"
firefox
в openbox'е настроеном как у меня (открытие окон там где курсор) -- это не
срабатывает. Возможно в mate будет.
Ещё есть вариант — расширение. Пользовался:
https://addons.mozilla.org/en-US/firefox/addon/simple-window-resizer/
восстанавливает заранее забитые в нём позицию и размер окна по клику. Есть ещё
https://addons.mozilla.org/en-US/firefox/addon/window-saver/
в этом можно задать несколько разных положений/размеров.
Сейчас пользуюсь таким скриптом повешеннаным на хоткей:
#/bin/sh
for i in $(xdotool search --maxdepth 2 --class "Firefox"); do # --onlyvisible
xdotool windowsize $i 800 600 windowmove $i 100 50
done
для его его работы нужен xdotool. Довольно удобно. у меня в нём не только фф,
но и кучка других программ, и все по нажатию клавиши выстраиваются как надо.