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

2019-10-03 Пенетрантность Artem Chuprina



On 1 October 2019 11:23:34 am GMT+02:00, "Andrey Jr. Melnikov" 
 wrote:
>Artem Chuprina  wrote:
>
>
>> On 29 September 2019 9:50:02 pm GMT+02:00, "Andrey Jr. Melnikov"
> wrote:
>> >> При этом что в шелле есть логические операции, что в командной
>строке
>> >> test есть логические операции и они РАЗНЫЕ.
>> >Витус, как так ЛОГИЧЕСКИЕ операции могут быть разными? AND и OR -
>они и в
>> >африке AND и OR.
>
>> Я, конечно, зануда, но должен заметить, что они у нас ни хрена не
>логические. 
>Вы мне тут оба-двое зубы не заговаривайте.
>
>> Они вычислительные, и их результат сильно зависит от порядка записи
>операндов.
>
>Ух, 1 & 0 = 0 таки не 0 & 1 = 0 ? У вас реальность не подтекает?

Пока там _константы_ 1 и 0 — да. И то в sh ровно наоборот :) Потому что в 
логических операциях истина и ложь, а использование для их кодирования 0 и 1, 
мнээ, несколько произвольно.

А вот как только операнды оказываются выражениями с побочными эффектами, так 
сразу нет. И в каждом первом языке считается нормальным, если второй операнд & 
имеет смысл (т.е. шанс не выкинуть исключение) только если первый истинен. И 
если поменять их местами, то вместо false мы в результате получим хрясь.

Для вычислительных and и or это нормально, в теории вычислений есть понятие 
"вычисление не дало осмысленного результата". А для логических — нет.

-- 
Best regards, Artem.



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

2019-10-03 Пенетрантность Evgeny Zubok
yuri.nefe...@gmail.com writes:

>  Не знал об этих программах. Бегло посмотрел, но так и не понял
>  каким собственно способом перехватывается это событие.

Перехватывается событие PropertyNotify на свойства _NET_CLIENT_LIST и
_NET_CLIENT_LIST_STACKING [1], сравнивается со старым списком,
определяются новые окна.

>  То что написано во всякого рода wiki [1,2] внушает опасение.
>  Следуя этой логике старт любого окна приводит к запуску
>  этой программы, которая уже исследует соответствует ли этот запуск
>  тому, что в ее конфигурации и если да то что-то делает.
>  Сравните с логикой этого скрипта - я запускаю окно и немного жду
>  пока отрисуется именно это окно. Мне кажется это намного прямее.

Появление любого окна (нового), дальше по class, role, instance, title,
application и т. д. определяет, что окно именно то, а дальше правила,
где можно скрипты выполнять, можно другие свойства окна выяснить или
просто выполнить разные действия. Такую проверку по этим признакам
делают все WM, которые умеют правила для окон. Mutter (или что там у
тебя?) к этому классу WM не относится. Не умеет.

>  Кроме того есть смутные подозрения, что работать эта программа будет
>  не со всеми менеджерами окон. И документация совсем не дает понять с
>  какими работает.  wmctrl же работает с EWMH/NetWM compatible X Window
>  Manager [3]

devilspie также работает со всем, что поддерживает ICCCM/EWMH. А как
еще? Другого механизма нет.

[1] https://specifications.freedesktop.org/wm-spec/1.3/ar01s03.html



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

2019-10-03 Пенетрантность yuri . nefedov

On Thu, 3 Oct 2019, Dmitry Alexandrov wrote:


Все эти действия лучше делать при помощи devilspie или devilspie 2. Этот 
инструмент перехватывает события открытия окна


Все эти действия лучше всего делать при помощи оконного диспетчера — это его 
прямая задача.  К сожалению, многие пользуются убогими, и вынуждены 
обкладываться костылями.


 А какой нынеча самый пацанский то?
Ю.

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

2019-10-03 Пенетрантность Dmitry Alexandrov
Evgeny Zubok  wrote:
> yuri.nefe...@gmail.com writes:
>> On Thu, 12 Sep 2019, fed05x wrote:
>>> xdotool windowsize $i 800 600 windowmove $i 100 50 done
>>
>> wmctrl -r "Mozilla Firefox" -e 0,0,0,-1,-1
>
> Все эти действия лучше делать при помощи devilspie или devilspie 2. Этот 
> инструмент перехватывает события открытия окна

Все эти действия лучше всего делать при помощи оконного диспетчера — это его 
прямая задача.  К сожалению, многие пользуются убогими, и вынуждены 
обкладываться костылями.


signature.asc
Description: PGP signature


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

2019-10-02 Пенетрантность Eugene Berdnikov
On Wed, Oct 02, 2019 at 11:15:24AM +0300, Andrey Jr. Melnikov wrote:
> Victor Wagner  wrote:
> > On Tue, 1 Oct 2019 12:48:42 +0300
> > "Andrey Jr. Melnikov"  wrote:
> 
> > > Victor Wagner  wrote:
> > > > On Tue, 1 Oct 2019 11:11:48 +0300
> > > > "Andrey Jr. Melnikov"  wrote:  
> > > 
> > > 
> > > > > Дак а кто автору злобный буратино, что он не пользует конструкцию
> > > > > 
> > > > > _pacman=$(command -v pacman)
> > > > > if [ -n "${_pacman}" -a  ]; ...  
> > > 
> > > > Ну зачем так сложно?  
> > > Затем, что потом сразу можно вызвать ${_pacman} -- ${file} без
> > > повторного поиска по дискам в $PATH - а где там тот pacman лежало.
> > > 
> > > > Ведь command -v возвращает ненулевой код если команда не найдена.
> > > > Я ведь с самого начала про то и пишу, что НЕ  ИСПОЛЬЗУЙТЕ КОМАНДУ
> > > > test, для того чтобы проверить условие, уже проверенное другое
> > > > командой.  
> > > 
> > > О, расскажи как мне, как в 
> > > if /usr/bin/неведомафигня ; then 
> > > обработать вот это:
> > > /usr/bin/неведомафигня: cannot execute binary file: Exec format error
> > А нам оно в данном случае надо?
> Надо. Т.к. я знаю, что /usr/bin/неведомафигня должна сделать или exit(0) или
> exit(1). А в противном случае - надо громко обругаться и упасть прямо тут,
> а не считать, что у нас был вариант exit(1).

 Ошибка "exec format error" это ошибка времени выполнения, и она ничем
 не лучше и не хуже других аналогичных ошибок (не оказалось либы на месте,
 занят сегмент shm, забайнден сокет на нужном порту и т.п.), независимо
 от того, возникают они на этапе работы загрузчика или после передачи
 управления в программу. Если их хочется все до одной ловить -- пишите
 свою запускалку, свой супервизор, или даже целую систему виртуализации.

> > Бывают  такие ошибки которые НЕ НАДО обрабатывать. Ежели юзер сумел
> > загнать свою систему в такое состояние, он сам себе злобный Билл Гейтс.
> Да? и флешки не глючат? и с дисков читается всё всегда и так-как-записали?
> пришибло OOM'ом/SIGSEGV или ещё какой невозможной в этой вселенной вещью?

 Это не ошибки конфигурации, поэтому обрабатывать их должен не шелл.
 Шелл он для того, чтобы утилиту запустить. Возможно, задав предварительно
 разные ulimit'ы и переменные окружения. И на этом его функционал
 целесообразно ограничить, здесь я с Витусом полностью согласен.
-- 
 Eugene Berdnikov



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

2019-10-02 Пенетрантность fed05x
29.09.2019, Dmitry Alexandrov<321...@gmail.com> написал(а):
> Eugene Berdnikov  wrote:
>> On Sat, Sep 28, 2019 at 11:24:18PM +0300, Victor Wagner wrote:
>>  Синтаксически символ [ не является alphanumeric, поэтому он является не
>> нормальным именем команды, а нелепым исключением.
> Почему?  Тут вам не Винда, из запретных для файловых имен символов —
> кажется, только нулевой.

И ещё, прямой слэш запрещён, емнип.

У меня уже много лет не используется но до сих пор висит alias ]='cd /var/www'.
А сейчас подавляющее большинство алиасов и скриптов в /home/user/bin
начинаются с (тоже не alphanumeric) «.», например:
 .dig = dig ANY
 .du = du -shc *
 .find = find . -iname
 .iftop = sudo iftop -m10m
 .ping = ping -c3
 .tmux = tmux attach-session -t 0 || tmux new-session -s 0
считаю это удобным так как сохраняется оригинальная команда, и
мало-вероятно что появится пакет с бинарём начинающимся с «.» в
стандартном $PATH.


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

2019-10-02 Пенетрантность Andrey Jr. Melnikov
Victor Wagner  wrote:
> On Tue, 1 Oct 2019 12:48:42 +0300
> "Andrey Jr. Melnikov"  wrote:

> > Victor Wagner  wrote:
> > > On Tue, 1 Oct 2019 11:11:48 +0300
> > > "Andrey Jr. Melnikov"  wrote:  
> > 
> > 
> > > > Дак а кто автору злобный буратино, что он не пользует конструкцию
> > > > 
> > > > _pacman=$(command -v pacman)
> > > > if [ -n "${_pacman}" -a  ]; ...  
> > 
> > > Ну зачем так сложно?  
> > Затем, что потом сразу можно вызвать ${_pacman} -- ${file} без
> > повторного поиска по дискам в $PATH - а где там тот pacman лежало.
> > 
> > > Ведь command -v возвращает ненулевой код если команда не найдена.
> > > Я ведь с самого начала про то и пишу, что НЕ  ИСПОЛЬЗУЙТЕ КОМАНДУ
> > > test, для того чтобы проверить условие, уже проверенное другое
> > > командой.  
> > 
> > О, расскажи как мне, как в 
> > if /usr/bin/неведомафигня ; then 
> > обработать вот это:
> > /usr/bin/неведомафигня: cannot execute binary file: Exec format error
> А нам оно в данном случае надо?
Надо. Т.к. я знаю, что /usr/bin/неведомафигня должна сделать или exit(0) или
exit(1). А в противном случае - надо громко обругаться и упасть прямо тут,
а не считать, что у нас был вариант exit(1).

> Бывают  такие ошибки которые НЕ НАДО обрабатывать. Ежели юзер сумел
> загнать свою систему в такое состояние, он сам себе злобный Билл Гейтс.
Да? и флешки не глючат? и с дисков читается всё всегда и так-как-записали?
пришибло OOM'ом/SIGSEGV или ещё какой невозможной в этой вселенной вещью?

> Как известно любая мера безопасности порождает новые риски. Поэтому 
> нужно наступить на горло собственной песне и перестать защищаться от
> слишком маловероятных угроз (поскольку это ослабляет защиту от более
> вероятных).
Кажется я начинаю понимать, зачем гугель руками Пайка заставляет go-coders
явно обрабатывать ошибки. 

> В /usr/bin НЕ МОЖЕТ БЫТЬ неведомой фигни. Любая фигня которая попадает в
> /usr/bin (а не /usr/local/bin или ${HOME}/bin) должна быть ведома
> пакетному менеджеру.
Это моя неведомафигня, я её туда положил через пакетный менеджер. С
предложениями про /usr/local/bin - это к помирающей freebsd. Там этой
иерархии самое место. А про ~/bin - может тогда уже сразу мне
докер/снап/флатпак присоветуешь?



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

2019-10-01 Пенетрантность Vladimir Zhbanov
On Tue, Oct 01, 2019 at 10:36:51PM +0300, Victor Wagner wrote:
> В Tue, 1 Oct 2019 22:26:04 +0300
> Vladimir Zhbanov  пишет:
> 
> > On Tue, Oct 01, 2019 at 10:03:43PM +0300, Dmitry Alexandrov wrote:
> > ...
> > 
> > > Интересно, а что помешало просто добавить Баш в число этих самых
> > > пакетов?  
> > 
> > И "облегчить" тем самым работу сопровождающим для всех
> > дистрибутивов, которые захотят наш проект использовать? А вдруг
> > там его и в помине не было? И насколько этот самый Баш
> 
> Ну это разве что OpenWRT или еще какая жуткая эмбедщина, где вообще
> нет нормальных coreutil, а только busybox.
> 
> 
> > кросплатформенный, чтобы собираться, например, под
> > Cygwin/MinGW/msys/msys2/etc?  Мне даже голову не хочется ломать о
> 
> bash, помоему, первое что в подобнрых проектах собирают.

OK, ну пусть оно и есть (не проверял). Но если это не дефолтная
оболочка, и большинство пользователей какой-то ОС, скажем,
FreeBSD, её не используют, ну нахрена тащить мне её в зависимости?
И с каких это пор bash стала-таки стандартом качества?  Только
потому что её стали зачем-то включать как дефолт в дистрибутивы
~15 лет назад?  Чем она лучше zsh, например?  А завтра
какой-нибудь новый ред-хато-убунто-микро-софто-консорциум решит,
что лучший вариант это '.bat'-файлы...

P.S. (и частично оффтопик): Microsoft, кстати, купил Github. Не
знаю, с тех ли времён начались проблемы с загрузками 'tar.gz'
файлов там на веб-страницах, или они были всегда :-)

-- 
  Vladimir

(λ)επτόν EDA — https://github.com/lepton-eda



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

2019-10-01 Пенетрантность Victor Wagner
В Tue, 1 Oct 2019 22:26:04 +0300
Vladimir Zhbanov  пишет:

> On Tue, Oct 01, 2019 at 10:03:43PM +0300, Dmitry Alexandrov wrote:
> ...
> 
> > Интересно, а что помешало просто добавить Баш в число этих самых
> > пакетов?  
> 
> И "облегчить" тем самым работу сопровождающим для всех
> дистрибутивов, которые захотят наш проект использовать? А вдруг
> там его и в помине не было? И насколько этот самый Баш

Ну это разве что OpenWRT или еще какая жуткая эмбедщина, где вообще
нет нормальных coreutil, а только busybox.


> кросплатформенный, чтобы собираться, например, под
> Cygwin/MinGW/msys/msys2/etc?  Мне даже голову не хочется ломать о

bash, помоему, первое что в подобнрых проектах собирают.


-- 
   Victor Wagner 



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

2019-10-01 Пенетрантность Vladimir Zhbanov
On Tue, Oct 01, 2019 at 10:03:43PM +0300, Dmitry Alexandrov wrote:
...

> Интересно, а что помешало просто добавить Баш в число этих самых пакетов?

И "облегчить" тем самым работу сопровождающим для всех
дистрибутивов, которые захотят наш проект использовать? А вдруг
там его и в помине не было? И насколько этот самый Баш
кросплатформенный, чтобы собираться, например, под
Cygwin/MinGW/msys/msys2/etc?  Мне даже голову не хочется ломать о
таких перспективах...

...

-- 
  Vladimir

(λ)επτόν EDA — https://github.com/lepton-eda



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

2019-10-01 Пенетрантность Dmitry Alexandrov
Vladimir Zhbanov  wrote:
> On Tue, Oct 01, 2019 at 06:10:05PM +0300, Andrey Jr. Melnikov wrote:
>> Одни ходят в крестовые походы против bash'измов/xsi'змов и прочих расширений 
>> - ибо ересь и нестандарт.
>> 
>> Другие - академично написали по POSIX-compliant shell 20-30 лет назад и 
>> теперь его поддерживают, сдувая пыль и паутину. Отклонениния от POSIX - 
>> ни-ни, ересь! Вторая вариация - "минимальные" шеллы из busybox & co.
>> 
>> Третьи - пишут на всём этом скрипты, бережно сохраняя совместимость с 
>> замшелыми комерческими юниксами, busybox'ами и прочей теоретически 
>> встерчающейся в природе фигней.  Только вот их скрипты там никогда не будут 
>> запускаться.
>
> В нашем проекте (см. ниже) то и дело всплывают проблемы у людей, которые 
> юзают другие шеллы, или если в их дистрибутивах другие оболочки являются 
> умолчательными. Проблемы появляются то из-за башизмов, где другие оболочки 
> используются, то из-за гнутых расширений в не-гнутых дистрибутивах.  И чё с 
> этим делать в ближайшей перспективе (~50 лет :-)) -- неизвестно.

Как это что?  Очевидно, перестать писать на воображаемых языках.  Концепция 
«open software» давно себя исчерпала.

> POSIX -- да, как вариант, со всеми его замшелостями.  Иначе, нагрузка 
> поддержки ложится на маинтейнеров.  Но нафига бы оно надо?  Для себя, как 
> вариант, я выбрал стратегию уменьшения шелл-скриптов, переписывая их части, 
> где возможно, на языке из пакетов, необходимых для сборки нашей программы.

Интересно, а что помешало просто добавить Баш в число этих самых пакетов?

> В моём случае Guile Scheme решает многие проблемы лучше *sh

Есть подозрение, что ГНУ Гайль решает любые проблемы лучше sh. (Впрочем, как и 
много кто еще. :-)


signature.asc
Description: PGP signature


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

2019-10-01 Пенетрантность Victor Wagner
В Tue, 1 Oct 2019 20:52:20 +0300
Vladimir Zhbanov  пишет:


> Млин, выбросить бы ещё autotools куда-нибудь...
> 

В наше время многие используют cmake. Мы в openssl-gost-engine,
например.

Был у нас в конторе один товарищ, который пытался сборку постгреса на
cmake переписать. (там призовая игра что есть совершенно отдельные
скрипты для сборки Visual Studio, и хотелось это все объединить).
Года два все сообщество напряженно следило за его
успехами. Потом он плюнул на это дело, уволился от нас и уехал аж в
Японию.


-- 
   Victor Wagner 



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

2019-10-01 Пенетрантность Vladimir Zhbanov
On Tue, Oct 01, 2019 at 06:10:05PM +0300, Andrey Jr. Melnikov wrote:
> Vladimir Zhbanov  wrote:
> > On Sun, Sep 29, 2019 at 10:50:02PM +0300, Andrey Jr. Melnikov wrote:
> > ...
> > > PS: Спор то ниочем. Из всех шеллов, которые есть в природе - 95% замшелый 
> > > шлак,
> > > сохраняющий совместимость с тем, что уже давно померло. Да, это наверное
> > > круто, что написанный сейчас xdg-open можно запустить на тазике 1992 года
> > > выпуска. Только вот нахрена? И что он там сделает?
> 
> > Если бы все люди предпочитали одинаковые горшки :-( Но кто-то
> > запускает ту же самую хрень на Debian, кто-то на Gentoo, Guix,
> > *BSD... А потом боремся с башизмами.  И сколько времени и нервов
> > тратится...
> 
> Тут всё наоборот. Есть "одинаковые горшки" - POSIX. И его адепты. 
> 
> Одни ходят в крестовые походы против bash'измов/xsi'змов и прочих расширений 
> - 
> ибо ересь и нестандарт.
> 
> Другие - академично написали по POSIX-compliant shell 20-30 лет назад и
> теперь его поддерживают, сдувая пыль и паутину. Отклонениния от POSIX -
> ни-ни, ересь! Вторая вариация - "минимальные" шеллы из busybox & co. 
> 
> Третьи - пишут на всём этом скрипты, бережно сохраняя совместимость с
> замшелыми комерческими юниксами, busybox'ами и прочей теоретически
> встерчающейся в природе фигней.
> Только вот их скрипты там никогда не будут запускаться.
> 
> PS: Вот хорошая ссылка про bashism's: https://mywiki.wooledge.org/Bashism
> можно посчитать, сколько нужных вещей отсутсвуют в POSIX (и dash).
> А если вчитаться в
> https://askubuntu.com/questions/976485/what-is-the-point-of-sh-being-linked-to-dash
> и https://wiki.ubuntu.com/DashAsBinSh то упорная борьба с башизмами
> напомниает "армянский комсомол" (тм).
> 

Да проблема не в bash itself, а в том, что есть куча людей (и
дистрибутивов), которым он как шёл, так и ехал.  В нашем проекте
(см. ниже) то и дело всплывают проблемы у людей, которые юзают
другие шеллы, или если в их дистрибутивах другие оболочки являются
умолчательными. Проблемы появляются то из-за башизмов, где другие
оболочки используются, то из-за гнутых расширений в не-гнутых
дистрибутивах.  И чё с этим делать в ближайшей перспективе (~50
лет :-)) -- неизвестно.  POSIX -- да, как вариант, со всеми его
замшелостями.  Иначе, нагрузка поддержки ложится на маинтейнеров.
Но нафига бы оно надо?  Для себя, как вариант, я выбрал стратегию
уменьшения шелл-скриптов, переписывая их части, где возможно, на
языке из пакетов, необходимых для сборки нашей программы.  В моём
случае Guile Scheme решает многие проблемы лучше *sh, а также
разновидностей *awk, которых тоже представлено немало, и решает их
одинаковым способом, потому-что одна и та же версия при сборке :-)
Млин, выбросить бы ещё autotools куда-нибудь...

-- 
  Vladimir

(λ)επτόν EDA — https://github.com/lepton-eda



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

2019-10-01 Пенетрантность Andrey Jr. Melnikov
Vladimir Zhbanov  wrote:
> On Sun, Sep 29, 2019 at 10:50:02PM +0300, Andrey Jr. Melnikov wrote:
> ...
> > PS: Спор то ниочем. Из всех шеллов, которые есть в природе - 95% замшелый 
> > шлак,
> > сохраняющий совместимость с тем, что уже давно померло. Да, это наверное
> > круто, что написанный сейчас xdg-open можно запустить на тазике 1992 года
> > выпуска. Только вот нахрена? И что он там сделает?

> Если бы все люди предпочитали одинаковые горшки :-( Но кто-то
> запускает ту же самую хрень на Debian, кто-то на Gentoo, Guix,
> *BSD... А потом боремся с башизмами.  И сколько времени и нервов
> тратится...

Тут всё наоборот. Есть "одинаковые горшки" - POSIX. И его адепты. 

Одни ходят в крестовые походы против bash'измов/xsi'змов и прочих расширений - 
ибо ересь и нестандарт.

Другие - академично написали по POSIX-compliant shell 20-30 лет назад и
теперь его поддерживают, сдувая пыль и паутину. Отклонениния от POSIX -
ни-ни, ересь! Вторая вариация - "минимальные" шеллы из busybox & co. 

Третьи - пишут на всём этом скрипты, бережно сохраняя совместимость с
замшелыми комерческими юниксами, busybox'ами и прочей теоретически
встерчающейся в природе фигней.
Только вот их скрипты там никогда не будут запускаться.

PS: Вот хорошая ссылка про bashism's: https://mywiki.wooledge.org/Bashism
можно посчитать, сколько нужных вещей отсутсвуют в POSIX (и dash).
А если вчитаться в
https://askubuntu.com/questions/976485/what-is-the-point-of-sh-being-linked-to-dash
и https://wiki.ubuntu.com/DashAsBinSh то упорная борьба с башизмами
напомниает "армянский комсомол" (тм).



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

2019-10-01 Пенетрантность Andrey Jr. Melnikov
Victor Wagner  wrote:
> On Tue, 1 Oct 2019 12:23:34 +0300
> "Andrey Jr. Melnikov"  wrote:

> > Artem Chuprina  wrote:
> > 
> > 
> > > On 29 September 2019 9:50:02 pm GMT+02:00, "Andrey Jr. Melnikov"
> > >  wrote:  
> > > >> При этом что в шелле есть логические операции, что в командной
> > > >> строке test есть логические операции и они РАЗНЫЕ.  
> > > >Витус, как так ЛОГИЧЕСКИЕ операции могут быть разными? AND и OR -
> > > >они и в африке AND и OR.  
> > 
> > > Я, конечно, зануда, но должен заметить, что они у нас ни хрена не
> > > логические.   
> > Вы мне тут оба-двое зубы не заговаривайте.
> > 
> > > Они вычислительные, и их результат сильно зависит от порядка записи
> > > операндов.  
> > 
> > Ух, 1 & 0 = 0 таки не 0 & 1 = 0 ? У вас реальность не подтекает?
> > 
> > И в приведенном баге - красиво всё - там операнд выглядит как
> > 'pcmanfm --help >/dev/null 2>&1 -a is_file_url_or_path "$1"'

> В приведенном баге test как раз нет. Там люди попытаплись честно
> использовать shell command sequence в качестве условия. Но не шмогли.
> Потому что, как и некоторые читатели данного списка рассылки, перепутали
> операнды команды test и шелловское условие.

Там оригинально использовали return code от функции is_file_url_or_path
но потом кому-то возжелалось туда еще и проверку на pcmanfm вставить.
Вставили, да.



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

2019-10-01 Пенетрантность Victor Wagner
On Tue, 1 Oct 2019 12:48:42 +0300
"Andrey Jr. Melnikov"  wrote:

> Victor Wagner  wrote:
> > On Tue, 1 Oct 2019 11:11:48 +0300
> > "Andrey Jr. Melnikov"  wrote:  
> 
> 
> > > Дак а кто автору злобный буратино, что он не пользует конструкцию
> > > 
> > > _pacman=$(command -v pacman)
> > > if [ -n "${_pacman}" -a  ]; ...  
> 
> > Ну зачем так сложно?  
> Затем, что потом сразу можно вызвать ${_pacman} -- ${file} без
> повторного поиска по дискам в $PATH - а где там тот pacman лежало.
> 
> > Ведь command -v возвращает ненулевой код если команда не найдена.
> > Я ведь с самого начала про то и пишу, что НЕ  ИСПОЛЬЗУЙТЕ КОМАНДУ
> > test, для того чтобы проверить условие, уже проверенное другое
> > командой.  
> 
> О, расскажи как мне, как в 
> if /usr/bin/неведомафигня ; then 
> обработать вот это:
> /usr/bin/неведомафигня: cannot execute binary file: Exec format error

А нам оно в данном случае надо?

Бывают  такие ошибки которые НЕ НАДО обрабатывать. Ежели юзер сумел
загнать свою систему в такое состояние, он сам себе злобный Билл Гейтс.

Как известно любая мера безопасности порождает новые риски. Поэтому 
нужно наступить на горло собственной песне и перестать защищаться от
слишком маловероятных угроз (поскольку это ослабляет защиту от более
вероятных).

В /usr/bin НЕ МОЖЕТ БЫТЬ неведомой фигни. Любая фигня которая попадает в
/usr/bin (а не /usr/local/bin или ${HOME}/bin) должна быть ведома
пакетному менеджеру.

-- 



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

2019-10-01 Пенетрантность Andrey Jr. Melnikov
Victor Wagner  wrote:
> On Tue, 1 Oct 2019 11:11:48 +0300
> "Andrey Jr. Melnikov"  wrote:


> > Дак а кто автору злобный буратино, что он не пользует конструкцию
> > 
> > _pacman=$(command -v pacman)
> > if [ -n "${_pacman}" -a  ]; ...

> Ну зачем так сложно?
Затем, что потом сразу можно вызвать ${_pacman} -- ${file} без повторного
поиска по дискам в $PATH - а где там тот pacman лежало.

> Ведь command -v возвращает ненулевой код если команда не найдена.
> Я ведь с самого начала про то и пишу, что НЕ  ИСПОЛЬЗУЙТЕ КОМАНДУ test,
> для того чтобы проверить условие, уже проверенное другое командой.

О, расскажи как мне, как в 
if /usr/bin/неведомафигня ; then 
обработать вот это:
/usr/bin/неведомафигня: cannot execute binary file: Exec format error

в случае с '['/'test' - можено проверить на $? -ge 126, то без них мы что
будем делать?



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

2019-10-01 Пенетрантность Victor Wagner
On Tue, 1 Oct 2019 12:23:34 +0300
"Andrey Jr. Melnikov"  wrote:

> Artem Chuprina  wrote:
> 
> 
> > On 29 September 2019 9:50:02 pm GMT+02:00, "Andrey Jr. Melnikov"
> >  wrote:  
> > >> При этом что в шелле есть логические операции, что в командной
> > >> строке test есть логические операции и они РАЗНЫЕ.  
> > >Витус, как так ЛОГИЧЕСКИЕ операции могут быть разными? AND и OR -
> > >они и в африке AND и OR.  
> 
> > Я, конечно, зануда, но должен заметить, что они у нас ни хрена не
> > логические.   
> Вы мне тут оба-двое зубы не заговаривайте.
> 
> > Они вычислительные, и их результат сильно зависит от порядка записи
> > операндов.  
> 
> Ух, 1 & 0 = 0 таки не 0 & 1 = 0 ? У вас реальность не подтекает?
> 
> И в приведенном баге - красиво всё - там операнд выглядит как
> 'pcmanfm --help >/dev/null 2>&1 -a is_file_url_or_path "$1"'

В приведенном баге test как раз нет. Там люди попытаплись честно
использовать shell command sequence в качестве условия. Но не шмогли.
Потому что, как и некоторые читатели данного списка рассылки, перепутали
операнды команды test и шелловское условие.


-- 



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

2019-10-01 Пенетрантность Andrey Jr. Melnikov
Artem Chuprina  wrote:


> On 29 September 2019 9:50:02 pm GMT+02:00, "Andrey Jr. Melnikov" 
>  wrote:
> >> При этом что в шелле есть логические операции, что в командной строке
> >> test есть логические операции и они РАЗНЫЕ.
> >Витус, как так ЛОГИЧЕСКИЕ операции могут быть разными? AND и OR - они и в
> >африке AND и OR.

> Я, конечно, зануда, но должен заметить, что они у нас ни хрена не логические. 
Вы мне тут оба-двое зубы не заговаривайте.

> Они вычислительные, и их результат сильно зависит от порядка записи операндов.

Ух, 1 & 0 = 0 таки не 0 & 1 = 0 ? У вас реальность не подтекает?

И в приведенном баге - красиво всё - там операнд выглядит как
'pcmanfm --help >/dev/null 2>&1 -a is_file_url_or_path "$1"'
и всё зависит от того, есть ли pcmanfm на машине и умеет ли pcmanfm ключик -a 
или
нет, а если нет - то он зовет exit(1) или нет.
А стройную картину оттеняет '>/dev/null 2>&1' в середине, замыливая глаз.
Прекрасная иллюстрация того, как выстрелить себе в ногу.

> В случае шелла (самого шелла, а не builtin [) куда сильнее, чем в случае test,
> поскольку тесты test не обладают побочными эффектами (ну, хотя бы по идее ??? 
> по 
> факту-то тест на наличие файла на автомонтируемой файловой системе ими 
> обладает).

А это то тут всё причём? test на наличие файла - показывает его наличие или
отсутствие на момент выполнения. Все остальные "побочные" эффекты - ни к
test'у ни к shell'у не относятся. Хочешь их учесть - пиши свой test с
детектом точек монтирования и задержками.



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

2019-10-01 Пенетрантность Victor Wagner
On Tue, 1 Oct 2019 11:11:48 +0300
"Andrey Jr. Melnikov"  wrote:


> Дак а кто автору злобный буратино, что он не пользует конструкцию
> 
> _pacman=$(command -v pacman)
> if [ -n "${_pacman}" -a  ]; ...

Ну зачем так сложно?

Ведь command -v возвращает ненулевой код если команда не найдена.
Я ведь с самого начала про то и пишу, что НЕ  ИСПОЛЬЗУЙТЕ КОМАНДУ test,
для того чтобы проверить условие, уже проверенное другое командой.


-- 






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

2019-10-01 Пенетрантность Peter Pentchev
On Sun, Sep 29, 2019 at 01:12:10AM +0300, Dmitry Alexandrov wrote:
> "Andrey Jr. Melnikov"  wrote:
> > Dmitry Alexandrov <321...@gmail.com> wrote:
> >> "Andrey Jr. Melnikov"  wrote:
> >>> Victor Wagner  wrote:
>  Тут мы не на grep экономим, а на test. В смысле на команде "квадратая 
>  скобка".
> >>>
> >>> Нет давно такой комманды Уже давно везде что '[', что 'test' - builtin.
> >
> >> Builtin _what_?
> >
> > Бережно носимыx с собой уже почти 30 лет - /usr/bin/test и алиас его 
> > /usr/bin/[ специально для любителей POSIX compatible shell.
> 
> Хорошо, давайте в лоб: вы же ведь видите, что «builtin» здесь у вас — это 
> осуществленное причастие?  А к какому слову оно относилось до осуществления?  
> :-)

Строго говоря, "утилита", не "комманда" :)

https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_14

Но, да, является подкласс простых комманд :)

Всего лучшего,
Петр

-- 
Peter Pentchev  roam@{ringlet.net,debian.org,FreeBSD.org} p...@storpool.com
PGP key:http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint 2EE7 A7A5 17FC 124C F115  C354 651E EFB0 2527 DF13


signature.asc
Description: PGP signature


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

2019-10-01 Пенетрантность Andrey Jr. Melnikov
Victor Wagner  wrote:
> On Sun, 29 Sep 2019 22:50:02 +0300
> "Andrey Jr. Melnikov"  wrote:


> > > При этом что в шелле есть логические операции, что в командной
> > > строке test есть логические операции и они РАЗНЫЕ.  
> > Витус, как так ЛОГИЧЕСКИЕ операции могут быть разными? AND и OR - они
> > и в африке AND и OR. И от наличия в каком-то замшелом man'e надписей
> > про "deprectated"

> Как-как! СИНТАКСИЧЕСКИ. В одном случае &&, в другом -a.
Ухты.

> И это именно то место, на которое наступили авторы xdg-open.
Там криворучества - на 100 скриптов хватит. 

> Потому что семантически тоже разница есть. && помимо всего прочего -
> разделитель шелловских команд,
Пока оно не внутри [ ... ] блока - то да. А там - оно один из операндов и
отношения к разделителю комманд никакого не имеет.

> а -a - это ключик, который передается в команду и её личное дело
> как его интерпретирвоать. Поэтому когда вместо 

> pcmanfm --help && is_file_url_or_path

> написали pcmanfma --help -a is_file_url_or_path

> результат оказался несколько некорректен.
Конечно некореектен, если автор не может даже для себя понять минимум набора
комманд примитивного шелла.

> Хотя сама идея проверять факт
> сущестоввания команды не через which а вызовом ее с --help тоже мнээ,
> Полуэкт. Только сейчас оратил на это внимание.
Дак а кто автору злобный буратино, что он не пользует конструкцию

_pacman=$(command -v pacman)
if [ -n "${_pacman}" -a  ]; ...



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

2019-10-01 Пенетрантность Eugene Berdnikov
On Mon, Sep 30, 2019 at 11:03:55PM +0200, Artem Chuprina wrote:
> 
> 
> On 29 September 2019 9:50:02 pm GMT+02:00, "Andrey Jr. Melnikov" 
>  wrote:
> >> При этом что в шелле есть логические операции, что в командной строке
> >> test есть логические операции и они РАЗНЫЕ.
> >Витус, как так ЛОГИЧЕСКИЕ операции могут быть разными? AND и OR - они и в
> >африке AND и OR.
> 
> Я, конечно, зануда, но должен заметить, что они у нас ни хрена не
> логические. Они вычислительные,

 Булева алгебра, как и любая другая алгебра, допускает множество различных
 представлений. В том числе над полем вычетов по модулю 2 (как в C++), и
 над полем натуральных чисел (как у шеллов: 0=true, остальное false).

> и их результат сильно зависит от порядка записи операндов.

 А это к булевой алгебре отношения не имеет: статус-коды складываются
 по определённым правилам независимо от того, как они были получены.
 И да, в Африке эти правила такие же как у нас.
-- 
 Eugene Berdnikov



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

2019-10-01 Пенетрантность Victor Wagner
On Sun, 29 Sep 2019 22:50:02 +0300
"Andrey Jr. Melnikov"  wrote:


> > При этом что в шелле есть логические операции, что в командной
> > строке test есть логические операции и они РАЗНЫЕ.  
> Витус, как так ЛОГИЧЕСКИЕ операции могут быть разными? AND и OR - они
> и в африке AND и OR. И от наличия в каком-то замшелом man'e надписей
> про "deprectated"

Как-как! СИНТАКСИЧЕСКИ. В одном случае &&, в другом -a.
И это именно то место, на которое наступили авторы xdg-open.

Потому что семантически тоже разница есть. && помимо всего прочего -
разделитель шелловских команд, а -a - это ключик, который передается в
команду и её личное дело как его интерпретирвоать. Поэтому когда
вместо 

pcmanfm --help && is_file_url_or_path

написали pcmanfma --help -a is_file_url_or_path

результат оказался несколько некорректен. Хотя сама идея проверять факт
сущестоввания команды не через which а вызовом ее с --help тоже мнээ,
Полуэкт. Только сейчас оратил на это внимание.



-- 



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

2019-09-30 Пенетрантность Artem Chuprina



On 29 September 2019 9:50:02 pm GMT+02:00, "Andrey Jr. Melnikov" 
 wrote:
>> При этом что в шелле есть логические операции, что в командной строке
>> test есть логические операции и они РАЗНЫЕ.
>Витус, как так ЛОГИЧЕСКИЕ операции могут быть разными? AND и OR - они и в
>африке AND и OR.

Я, конечно, зануда, но должен заметить, что они у нас ни хрена не
логические. Они вычислительные, и их результат сильно зависит
от порядка записи операндов. В случае шелла (самого шелла, а не
builtin [) куда сильнее, чем в случае test, поскольку тесты test не
обладают побочными эффектами (ну, хотя бы по идее — по 
факту-то тест на наличие файла на автомонтируемой файловой
системе ими обладает).

-- 
Best regards, Artem.



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

2019-09-29 Пенетрантность Vladimir Zhbanov
On Sun, Sep 29, 2019 at 10:50:02PM +0300, Andrey Jr. Melnikov wrote:
...
> PS: Спор то ниочем. Из всех шеллов, которые есть в природе - 95% замшелый 
> шлак,
> сохраняющий совместимость с тем, что уже давно померло. Да, это наверное
> круто, что написанный сейчас xdg-open можно запустить на тазике 1992 года
> выпуска. Только вот нахрена? И что он там сделает?

Если бы все люди предпочитали одинаковые горшки :-( Но кто-то
запускает ту же самую хрень на Debian, кто-то на Gentoo, Guix,
*BSD... А потом боремся с башизмами.  И сколько времени и нервов
тратится...

-- 
  Vladimir

(λ)επτόν EDA — https://github.com/lepton-eda



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

2019-09-29 Пенетрантность Andrey Jr. Melnikov
Victor Wagner  wrote:
> В Sat, 28 Sep 2019 13:41:09 +0300
> "Andrey Jr. Melnikov"  пишет:

> > Victor Wagner  wrote:
> > > On Thu, 26 Sep 2019 16:14:50 +0300 (MSK)
> > > yuri.nefe...@gmail.com wrote:  
> > 
> > [...]
> > 
> > > Тут мы не на grep экономим, а на test. В смысле на команде
> > > "квадратая скобка". После найденного мной бага #931822 мне очень
> > > хочется у тех, кто не понимает что такое команда квадратная скобка,
> > > в чем ее отличие от  
> > Нет давно такой комманды (в понимании современных shell'ов). Уже
> > давно везде что '[', что 'test' - builtin.

> buitin, не builtin синтаксически это все равно команда с параметрами.
Вопрос - какая. Вот у нас их получается 2 варианта - один POSIX который
прибит в *sh, второй /usr/bin/{[,test} который с башизмами. И зная различия
в этих командах - можно то выполнить
if /usr/bin/test  && 

> Проблема в том что люди не понимают, что условием в шелловских условных
> конструкциях является не какое-то там выражениеп, а именно
> последовательность шелловских команд, формирующая некий код завершения.
Проблема в том, что всякие стандарты пишут академики. И ни одна
"светлая академическая голова" не придумала банальной вещи - запросить у
чертового шелла какую именно часть POSIX он реализует. Или, раз мы уже всё
равно таскаем за собой '[' и 'test' - при нахождении внутри [ ... ] неизвестных
операторов - считать, что реализация в *sh устарела и вызывать '/usr/bin/[' с
параметрами.

> А [ - это всего лишь такая маленькая команда для проверки часто
> встречающихся условий.

> При этом что в шелле есть логические операции, что в командной строке 
> test есть логические операции и они РАЗНЫЕ.
Витус, как так ЛОГИЧЕСКИЕ операции могут быть разными? AND и OR - они и в
африке AND и OR. И от наличия в каком-то замшелом man'e надписей про 
"deprectated"
- они не зависят. У нас тут бинарная логика, а не квантовые вычисления.

PS: Спор то ниочем. Из всех шеллов, которые есть в природе - 95% замшелый шлак,
сохраняющий совместимость с тем, что уже давно померло. Да, это наверное
круто, что написанный сейчас xdg-open можно запустить на тазике 1992 года
выпуска. Только вот нахрена? И что он там сделает?



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

2019-09-29 Пенетрантность Eugene Berdnikov
On Sun, Sep 29, 2019 at 07:11:30PM +0300, Victor Wagner wrote:
> В Sun, 29 Sep 2019 12:36:12 +0300
> Eugene Berdnikov  пишет:
> 
> > On Sun, Sep 29, 2019 at 12:31:13PM +0300, Victor Wagner wrote:
> > > Я уж не говорю про остерхутовскую концепцию safe comartments,
> > > которая была создана более 20 лет назад и которая намного лучше и
> > > совершеннее того, что предлагают современные решения для исполнения
> > > недоверенного кода, включая мобильные ОС.  
> > 
> >  Подробнее об этом можно?
> 
> Вообще Остерхут в прошлом году издал книжку "Phylosophy of Software
> Design"
> 
> Но вообще я имел в виду вот эту статью с Usenix 1998 года:
> 
> https://www.usenix.org/legacy/publications/library/proceedings/usenix98/full_papers/levy/levy.pdf

 Пробежался по нескольким первым страницам -- не заметил ничего
 принципиально нового. Системные вызовы заменяются прослойками
 со встроенными фильтрами для контроля доступа, приложения выполняются
 защищёнными интерпретаторами, типа процессов ОС или контейнеров.
 Что тут принципиально отличное от современных подходов?
-- 
 Eugene Berdnikov



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

2019-09-29 Пенетрантность Victor Wagner
В Sun, 29 Sep 2019 12:36:12 +0300
Eugene Berdnikov  пишет:

> On Sun, Sep 29, 2019 at 12:31:13PM +0300, Victor Wagner wrote:
> > Я уж не говорю про остерхутовскую концепцию safe comartments,
> > которая была создана более 20 лет назад и которая намного лучше и
> > совершеннее того, что предлагают современные решения для исполнения
> > недоверенного кода, включая мобильные ОС.  
> 
>  Подробнее об этом можно?

Вообще Остерхут в прошлом году издал книжку "Phylosophy of Software
Design"

Но вообще я имел в виду вот эту статью с Usenix 1998 года:

https://www.usenix.org/legacy/publications/library/proceedings/usenix98/full_papers/levy/levy.pdf

-- 
   Victor Wagner 



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

2019-09-29 Пенетрантность Eugene Berdnikov
On Sun, Sep 29, 2019 at 12:31:13PM +0300, Victor Wagner wrote:
> Я уж не говорю про остерхутовскую концепцию safe comartments, которая
> была создана более 20 лет назад и которая намного лучше и совершеннее
> того, что предлагают современные решения для исполнения недоверенного
> кода, включая мобильные ОС.

 Подробнее об этом можно?
-- 
 Eugene Berdnikov



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

2019-09-29 Пенетрантность Victor Wagner
В Sun, 29 Sep 2019 12:16:57 +0300
Eugene Berdnikov  пишет:

> Обычный
> человек, выросший в нашей современной культуре программирования,
> склонен воспринимать [ ... ] как часть синтаксиса, а не думать
> постоянно о тонкостях трактовки параметров со множеством неочевидных
> "волчьих ям" (piffalls).
> 
>  Короче, Bourne shell это тяжкий груз наследственности.

Любая система, получившаяся сколько-нибудь широкое распространие - это
тяжкий груз наследственности. 

Вот возьмем, скажем C, программа на
котором подобна гороскопу - по расположению звездочек в ней программист
пытается понять что произойдет.

Или php. Или концепцию сессии в Unix, которая унаследована со времен
последовательных терминалов и не понимает ни мультимедиа, ни съемных
файловых носителей, контроль над вставкой-выниманием которых у
пользователя.

Логики в ИТ вообще нет. Есть куча исторических напластований, причем с
принципиально разным полаганием у тех, кто создавал разные слои.

Единственный мне известный логичный язык - это Tcl (и то если не брать
многие позднейшие библиотеки вроде BWidget). Но "люди, выросшие в нашей
современной культуре программирования" не читают трехстраничный man Tcl
в котором эта логика изложена, а пытаются действовать "интуитивно" то
есть по аналогии с другими известными им решениями, и ругают Tcl за
quoting hell, хотя правила раскрытия кавычек в нем элементарны, их
изложение укладывается в трех абзацах и исключений НЕТ.

Я уж не говорю про остерхутовскую концепцию safe comartments, которая
была создана более 20 лет назад и которая намного лучше и совершеннее
того, что предлагают современные решения для исполнения недоверенного
кода, включая мобильные ОС.

-- 
   Victor Wagner 



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

2019-09-29 Пенетрантность Eugene Berdnikov
On Sun, Sep 29, 2019 at 01:18:01AM +0300, Dmitry Alexandrov wrote:
> Eugene Berdnikov  wrote:
> > On Sat, Sep 28, 2019 at 11:24:18PM +0300, Victor Wagner wrote:
> >> buitin, не builtin синтаксически это все равно команда с параметрами.
> >
> >  Синтаксически символ [ не является alphanumeric, поэтому он является не 
> > нормальным именем команды, а нелепым исключением.
> 
> Почему?  Тут вам не Винда, из запретных для файловых имен символов — кажется, 
> только нулевой.

 Потому что символ [ ещё является одним из спецсимволов для file globbing,
 и если написать, например, [a-z] то сначала Баш попытается раскрыть это
 выражение, подобрав из текущего каталога файлы "a", "b" ... "z", и только
 если это не удастся, пойдёт искать файл "[a-z]" по каталогам в PATH.
 Да, в случае одиночного [ глоббинг не случится, потому что такой шаблон
 синтаксически неправилен, но вместо того, чтобы выдать сообщение об ошибке
 в шаблоне, классический борновский шелл пойдёт искать бинарий по PATH.
 Всё это контринтиутивно. Обычный человек, выросший в нашей современной
 культуре программирования, склонен воспринимать [ ... ] как часть
 синтаксиса, а не думать постоянно о тонкостях трактовки параметров
 со множеством неочевидных "волчьих ям" (piffalls).

 Короче, Bourne shell это тяжкий груз наследственности.

> >  Перечитал это раз пять, но ниасилил, увы... :)
> 
> Имеется в виду Bash Pitfall № 9 по Вулиджу [0].
> 
> [0] https://mywiki.wooledge.org/BashPitfalls#if_.5Bgrep_foo_myfile.5D

 Спасибо. Да, читается как медицинская карта тяжелобольного.
-- 
 Eugene Berdnikov



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

2019-09-28 Пенетрантность yuri . nefedov

On Sun, 29 Sep 2019, Dmitry Alexandrov wrote:


yuri.nefe...@gmail.com wrote:

On Sun, 29 Sep 2019, Dmitry Alexandrov wrote:

Имеется в виду Bash Pitfall № 9 по Вулиджу [0].

[0] https://mywiki.wooledge.org/BashPitfalls#if_.5Bgrep_foo_myfile.5D



Кстати, спасибо! А то я кроме abs-guide ничего толкового и не видел.


Да всегда пожалуйста.  Только вот извините, я никак поставить слова «ABS-guide» 
и «толковый» рядом не могу.  ABSG — это ровно то, что вот уже двадцать лет 
косвенно плодит говнокод подобный вышенедобропомянутому xdg-utils.



 Возможно.
 На мой взгляд это большой сборник примеров, а уж дальше было бы
 желание разбираться.
 Так ведь и библию можно в крестовых походах обвинить.
Ю.

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

2019-09-28 Пенетрантность Dmitry Alexandrov
yuri.nefe...@gmail.com wrote:
> On Sun, 29 Sep 2019, Dmitry Alexandrov wrote:
>> Имеется в виду Bash Pitfall № 9 по Вулиджу [0].
>>
>> [0] https://mywiki.wooledge.org/BashPitfalls#if_.5Bgrep_foo_myfile.5D
>>
>
> Кстати, спасибо! А то я кроме abs-guide ничего толкового и не видел.

Да всегда пожалуйста.  Только вот извините, я никак поставить слова «ABS-guide» 
и «толковый» рядом не могу.  ABSG — это ровно то, что вот уже двадцать лет 
косвенно плодит говнокод подобный вышенедобропомянутому xdg-utils.


signature.asc
Description: PGP signature


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

2019-09-28 Пенетрантность yuri . nefedov

On Sun, 29 Sep 2019, Dmitry Alexandrov wrote:


Имеется в виду Bash Pitfall № 9 по Вулиджу [0].

[0] https://mywiki.wooledge.org/BashPitfalls#if_.5Bgrep_foo_myfile.5D



  Кстати, спасибо! А то я кроме abs-guide ничего толкового и не видел.
Ю.

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

2019-09-28 Пенетрантность Tim Sattarov
On 9/28/19 6:16 PM, yuri.nefe...@gmail.com wrote:
>
>  У bin/test ни --version ни --help нет.
>  А вот у встроенных, подозреваю, различий нет.
test(1):

NOTE: [ honors the --help and --version options, but test does not.  test 
treats each of those as it
treats any other nonempty STRING.

NOTE: your shell may have its own version of test and/or [, which usually 
supersedes the version
described here.  Please refer to your shell's documentation for details about 
the options  it
   supports.

Но файлы как ни странно, разные, да…



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

2019-09-28 Пенетрантность Dmitry Alexandrov
Eugene Berdnikov  wrote:
> On Sat, Sep 28, 2019 at 11:24:18PM +0300, Victor Wagner wrote:
>> buitin, не builtin синтаксически это все равно команда с параметрами.
>
>  Синтаксически символ [ не является alphanumeric, поэтому он является не 
> нормальным именем команды, а нелепым исключением.

Почему?  Тут вам не Винда, из запретных для файловых имен символов — кажется, 
только нулевой.

>  Причём эта "команда" должна обязательно иметь "последний параметр" ], йопс.

Таки да.

>> Проблема в том что люди не понимают, что условием в шелловских условных 
>> конструкциях является не какое-то там выражение, а именно последовательность 
>> шелловских команд, формирующая некий код завершения.
>
>  Перечитал это раз пять, но ниасилил, увы... :)

Имеется в виду Bash Pitfall № 9 по Вулиджу [0].

[0] https://mywiki.wooledge.org/BashPitfalls#if_.5Bgrep_foo_myfile.5D


signature.asc
Description: PGP signature


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

2019-09-28 Пенетрантность yuri . nefedov

On Sat, 28 Sep 2019, Andrey Jr. Melnikov wrote:


Бережно носимыx с собой уже почти 30 лет - /usr/bin/test и алиас его /usr/bin/[


 Если быть «пидантом», то не совсем алиас. Можете попробовать:
 > /usr/bin/\[ --version
[ (GNU coreutils) 8.30
...

 У bin/test ни --version ни --help нет.
 А вот у встроенных, подозреваю, различий нет.
Ю.


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

2019-09-28 Пенетрантность Dmitry Alexandrov
"Andrey Jr. Melnikov"  wrote:
> Dmitry Alexandrov <321...@gmail.com> wrote:
>> "Andrey Jr. Melnikov"  wrote:
>>> Victor Wagner  wrote:
 Тут мы не на grep экономим, а на test. В смысле на команде "квадратая 
 скобка".
>>>
>>> Нет давно такой комманды Уже давно везде что '[', что 'test' - builtin.
>
>> Builtin _what_?
>
> Бережно носимыx с собой уже почти 30 лет - /usr/bin/test и алиас его 
> /usr/bin/[ специально для любителей POSIX compatible shell.

Хорошо, давайте в лоб: вы же ведь видите, что «builtin» здесь у вас — это 
осуществленное причастие?  А к какому слову оно относилось до осуществления?  
:-)


signature.asc
Description: PGP signature


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

2019-09-28 Пенетрантность Eugene Berdnikov
On Sat, Sep 28, 2019 at 11:24:18PM +0300, Victor Wagner wrote:
> В Sat, 28 Sep 2019 13:41:09 +0300
> "Andrey Jr. Melnikov"  пишет:
> 
> > Victor Wagner  wrote:
> > > On Thu, 26 Sep 2019 16:14:50 +0300 (MSK)
> > > yuri.nefe...@gmail.com wrote:  
> > 
> > [...]
> > 
> > > Тут мы не на grep экономим, а на test. В смысле на команде
> > > "квадратая скобка". После найденного мной бага #931822 мне очень
> > > хочется у тех, кто не понимает что такое команда квадратная скобка,
> > > в чем ее отличие от  
> > Нет давно такой комманды (в понимании современных shell'ов). Уже
> > давно везде что '[', что 'test' - builtin.
> 
> buitin, не builtin синтаксически это все равно команда с параметрами.

 Синтаксически символ [ не является alphanumeric, поэтому он является
 не нормальным именем команды, а нелепым исключением. Причём эта
 "команда" должна обязательно иметь "последний параметр" ], йопс.

> Проблема в том что люди не понимают, что условием в шелловских условных
> конструкциях является не какое-то там выражениеп, а именно
> последовательность шелловских команд, формирующая некий код завершения.

 Перечитал это раз пять, но ниасилил, увы... :)
-- 
 Eugene Berdnikov



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

2019-09-28 Пенетрантность Victor Wagner
В Sat, 28 Sep 2019 13:41:09 +0300
"Andrey Jr. Melnikov"  пишет:

> Victor Wagner  wrote:
> > On Thu, 26 Sep 2019 16:14:50 +0300 (MSK)
> > yuri.nefe...@gmail.com wrote:  
> 
> [...]
> 
> > Тут мы не на grep экономим, а на test. В смысле на команде
> > "квадратая скобка". После найденного мной бага #931822 мне очень
> > хочется у тех, кто не понимает что такое команда квадратная скобка,
> > в чем ее отличие от  
> Нет давно такой комманды (в понимании современных shell'ов). Уже
> давно везде что '[', что 'test' - builtin.

buitin, не builtin синтаксически это все равно команда с параметрами.
Проблема в том что люди не понимают, что условием в шелловских условных
конструкциях является не какое-то там выражениеп, а именно
последовательность шелловских команд, формирующая некий код завершения.

А [ - это всего лишь такая маленькая команда для проверки часто
встречающихся условий.

При этом что в шелле есть логические операции, что в командной строке 
test есть логические операции и они РАЗНЫЕ.


-- 
   Victor Wagner 



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

2019-09-28 Пенетрантность Andrey Jr. Melnikov
Dmitry Alexandrov <321...@gmail.com> wrote:
> [-- text/plain, encoding quoted-printable, charset: utf-8, 15 lines --]

> "Andrey Jr. Melnikov"  wrote:
> > Victor Wagner  wrote:
> >> Тут мы не на grep экономим, а на test. В смысле на команде "квадратая 
> >> скобка".
> >
> > Нет давно такой комманды
> > Уже давно везде что '[', что 'test' - builtin.

> Builtin _what_?
Бережно носимыx с собой уже почти 30 лет - /usr/bin/test и алиас его /usr/bin/[
специально для любителей POSIX compatible shell.

Поэтому, в целях равнения по сирым и убогим (а то '-a' и '-o' у test - это 
некошерное XSI
расширение) - используйте рассов^wPOSIXо правильный метод
[ "x$a" != x ] && [ "x$b" != x ] && echo "POSIX is good."



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

2019-09-28 Пенетрантность Dmitry Alexandrov
"Andrey Jr. Melnikov"  wrote:
> Victor Wagner  wrote:
>> Тут мы не на grep экономим, а на test. В смысле на команде "квадратая 
>> скобка".
>
> Нет давно такой комманды
> Уже давно везде что '[', что 'test' - builtin.

Builtin _what_?


signature.asc
Description: PGP signature


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

2019-09-28 Пенетрантность Andrey Jr. Melnikov
Victor Wagner  wrote:
> On Thu, 26 Sep 2019 16:14:50 +0300 (MSK)
> yuri.nefe...@gmail.com wrote:

[...]

> Тут мы не на grep экономим, а на test. В смысле на команде "квадратая
> скобка". После найденного мной бага #931822 мне очень хочется у тех,
> кто не понимает что такое команда квадратная скобка, в чем ее отличие от
Нет давно такой комманды (в понимании современных shell'ов). Уже давно везде
что '[', что 'test' - builtin.

Лучше бы ты багу на себя открыл, за использование башизмов (котрых в дебане
ой как не любят, т.к. примтивные шеллы [dash и прочий ash/hush из busybox -
наше ффсё]).

$ dash -c '[ "aa" = "aa" && "bb" = "bb" ] && echo aga'
dash: 1: [: missing ]

$ dash -c 'test "aa" = "aa" && "bb" = "bb" && echo aga'
dash: 1: bb: not found

$ dash -c 'test "aa" = "aa" -a "bb" = "bb" && echo aga'
aga

Хорошо, возьмем bash:

$ bash -c 'test "aa" = "aa" -a "bb" = "bb" && echo aga'
aga

$ bash -c 'test "aa" = "aa" && "bb" = "bb" && echo aga'
bash: bb: command not found

$ bash -c '[[ "aa" = "aa" && "bb" = "bb" ]] && echo aga'
aga

> пайплайна и как с этим соотносятся шелловские управляющие конструкции,
Дай угадаю, у неё возможность сгенерировать ошибку на одну единицу меньше?

> отрывать клавиатуру и обрекать на пожизненное пользование виндами c
> одной только мышью.
Так вот они через ibmhat и Лёню сделали себе удобные systemd.ini юниты.
Какой такой пайплайн-шмайплайн? Не знаю, не видел. Ожидаем GUI-only на
$(что-там-модно-вместо-явы /opt/install) с генератором юнитов на xml.

PS: Почему башизмов? Ровно по тому, что комбинацию из '&&' умеет только bash
и test из gnu core-utils (который в версии 1.2 был стырен из bash, а через
неделю додумались до ln -s test '[').



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

2019-09-26 Пенетрантность yuri . nefedov

On Thu, 26 Sep 2019, Victor Wagner wrote:


On Thu, 26 Sep 2019 16:14:50 +0300 (MSK)
yuri.nefe...@gmail.com wrote:


On Thu, 26 Sep 2019, Victor Wagner wrote:


On Wed, 25 Sep 2019 23:49:53 +0300 (MSK)
yuri.nefe...@gmail.com wrote:


# wait for the window
while [ $(wmctrl -l | grep --count "Mozilla Firefox") -lt 1 ]; do
  sleep .5s


А почему такой сложный способ проверки
почему не просто

until wmctrl -l |grep -q "Mozilla Firefox"; do


   Не помню, скрипт старый. Скорее всего просто не додумался.
   Да и вывод wmctrl не такой длинный что бы на grep экономить.


Тут мы не на grep экономим, а на test. В смысле на команде "квадратая
скобка". После найденного мной бага #931822 мне очень хочется у тех,
кто не понимает что такое команда квадратная скобка, в чем ее отличие от
пайплайна и как с этим соотносятся шелловские управляющие конструкции,
отрывать клавиатуру и обрекать на пожизненное пользование виндами c
одной только мышью.


  Это да. Не могу я привыкнуть, что возвращаемый код 0 - это тру.
  Поэтому и вставляю тесты. Очень удобно для перевода нормальной
  логики в извращенно возвратную:
  test 1 -eq 0; echo $?
  Мне так проще не думать.

  Вы так виндоус рекламируете... Только почему одна мышь?
  Две мыши, рассечение на правое и левое полушарие,
  и можно самому с собой в пасьянс играть.
Ю.

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

2019-09-26 Пенетрантность Victor Wagner
On Thu, 26 Sep 2019 16:14:50 +0300 (MSK)
yuri.nefe...@gmail.com wrote:

> On Thu, 26 Sep 2019, Victor Wagner wrote:
> 
> > On Wed, 25 Sep 2019 23:49:53 +0300 (MSK)
> > yuri.nefe...@gmail.com wrote:
> >  
> >> # wait for the window
> >> while [ $(wmctrl -l | grep --count "Mozilla Firefox") -lt 1 ]; do
> >>   sleep .5s  
> >
> > А почему такой сложный способ проверки
> > почему не просто
> >
> > until wmctrl -l |grep -q "Mozilla Firefox"; do
> >  
>Не помню, скрипт старый. Скорее всего просто не додумался.
>Да и вывод wmctrl не такой длинный что бы на grep экономить.

Тут мы не на grep экономим, а на test. В смысле на команде "квадратая
скобка". После найденного мной бага #931822 мне очень хочется у тех,
кто не понимает что такое команда квадратная скобка, в чем ее отличие от
пайплайна и как с этим соотносятся шелловские управляющие конструкции,
отрывать клавиатуру и обрекать на пожизненное пользование виндами c
одной только мышью.

>Кстати, grep -q exit with  zero status if any match is found,
>так что, все равно пришлось бы думать :)

grep с любыми параметрами завершается с нулем, если найдено.
Поэтому while заменено на until. Экспериментировать куда надо вставить
восклицательный знак, чтобы инвертировать статус второй команды в
пайплайне, и работает ли это во всех шеллах, или только некоторых, мне
было лень.
А думать оно да, полезно.


> Ю.



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

2019-09-26 Пенетрантность yuri . nefedov

On Thu, 26 Sep 2019, Victor Wagner wrote:


On Wed, 25 Sep 2019 23:49:53 +0300 (MSK)
yuri.nefe...@gmail.com wrote:


# wait for the window
while [ $(wmctrl -l | grep --count "Mozilla Firefox") -lt 1 ]; do
  sleep .5s


А почему такой сложный способ проверки
почему не просто

until wmctrl -l |grep -q "Mozilla Firefox"; do


  Не помню, скрипт старый. Скорее всего просто не додумался.
  Да и вывод wmctrl не такой длинный что бы на grep экономить.
  Кстати, grep -q exit with  zero status if any match is found,
  так что, все равно пришлось бы думать :)

Ю.


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

2019-09-26 Пенетрантность Victor Wagner
On Wed, 25 Sep 2019 23:49:53 +0300 (MSK)
yuri.nefe...@gmail.com wrote:

> On Thu, 12 Sep 2019, fed05x wrote:
> 
> >
> > Сейчас пользуюсь таким скриптом повешеннаным на хоткей:
> >  #/bin/sh
> >  for i in $(xdotool search --maxdepth 2 --class "Firefox"); do #
> > --onlyvisible xdotool windowsize $i 800 600 windowmove $i 100 50
> >  done
> >
> > для его его работы нужен xdotool. Довольно удобно. у меня в нём не
> > только фф, но и кучка других программ, и все по нажатию клавиши
> > выстраиваются как надо. 
> 
>   Можно и в скрипт запуска запуска firefox такое встроить.
>   Без хоткеев.
> 
> #!/bin/sh
> # open firefox in position (0,0)
> #
> LANG=en_US.UTF-8 /usr/bin/firefox-esr $@ > /dev/null 2>&1 &
> # wait for the window
> while [ $(wmctrl -l | grep --count "Mozilla Firefox") -lt 1 ]; do

А почему такой сложный способ проверки
почему не просто 

until wmctrl -l |grep -q "Mozilla Firefox"; do



>sleep .5s
> done
> # move to 'g,x,y,w,h' (see man wmctrl)
> wmctrl -r "Mozilla Firefox" -e 0,0,0,-1,-1
> 
> Ю.



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

2019-09-25 Пенетрантность yuri . nefedov

On Thu, 12 Sep 2019, fed05x wrote:



Сейчас пользуюсь таким скриптом повешеннаным на хоткей:
 #/bin/sh
 for i in $(xdotool search --maxdepth 2 --class "Firefox"); do # --onlyvisible
   xdotool windowsize $i 800 600 windowmove $i 100 50
 done

для его его работы нужен xdotool. Довольно удобно. у меня в нём не только фф,
но и кучка других программ, и все по нажатию клавиши выстраиваются как надо.



 Можно и в скрипт запуска запуска firefox такое встроить.
 Без хоткеев.

#!/bin/sh
# open firefox in position (0,0)
#
LANG=en_US.UTF-8 /usr/bin/firefox-esr $@ > /dev/null 2>&1 &
# wait for the window
while [ $(wmctrl -l | grep --count "Mozilla Firefox") -lt 1 ]; do
  sleep .5s
done
# move to 'g,x,y,w,h' (see man wmctrl)
wmctrl -r "Mozilla Firefox" -e 0,0,0,-1,-1

Ю.

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

2019-09-17 Пенетрантность Николаев Роман

Возможно сработает вариант попроще.
добиться в файле валидных размеров или отредактировать его. Потом просто 
запретить его редактировать. Например сделать владельцем root и 
выставить права всем только на чтение. Или использовать `chattr +i`.


Мне например очень не нравится персистентный редирект на https. Для 
отладки сайтов не удобно. Я файл кеша очистил и запретил его менять.




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

2019-09-17 Пенетрантность Igor Dobryninsky
  Dear fed05x,

  Спасибо, попробую вариации на тему первого примера.

On Thu, 12 Sep 2019 17:15:07 +0600
fed05x  wrote:

> 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. Довольно удобно. у меня в нём не только фф,
> но и кучка других программ, и все по нажатию клавиши выстраиваются как надо.



-- 
  Best Regards, Igor Dobryninsky, Moscow, Russia



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

2019-09-12 Пенетрантность fed05x
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. Довольно удобно. у меня в нём не только фф,
но и кучка других программ, и все по нажатию клавиши выстраиваются как надо.