[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Firefox неправильно восстанавливает запомненную при выходе позицию



09.09.2019, Igor Dobryninsky<egor@apxapa.ru> написал(а):
>   Имею довольно странную и дурацкую проблему - при запуске 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. Довольно удобно. у меня в нём не только фф,
но и кучка других программ, и все по нажатию клавиши выстраиваются как надо.

Reply to: