LINUX.ORG.RU

Firefox, плавная прокрутка. Рецепт кому нужно

 ,


4

1

В связи с выходом Firefox 92 с поддержкой WebGL, решил его попробовать. Первое на что обратил внимание - рваная прокрутка мышкой. Пришлось искать лекарство, нашёл здесь. Прокрутка действительно стала приятной. Непонятно только, как это сделать одним махом, используя prefsCleaner:

/// user.js tweaked preferences for Firefox by AveYo
/// place in your profile root directory (see about:profiles) & run prefsCleaner from github /arkenfox/user.js
 
////  NATURAL SMOOTH SCROLLING                                                                     preset             info               [default]
user_pref("mousewheel.acceleration.factor", 5);                                            // NSS     5        ACCEL MAX SPEED 1-20           [10]
user_pref("mousewheel.acceleration.start", 4);                                             // NSS     4        accel after x ticks            [-1]
user_pref("mousewheel.default.delta_multiplier_x", 100);                                   // NSS   100           reset previous             [100]
user_pref("mousewheel.default.delta_multiplier_y", 100);                                   // NSS   100           reset previous             [100]
user_pref("mousewheel.default.delta_multiplier_z", 100);                                   // NSS   100           reset previous             [100]
user_pref("mousewheel.system_scroll_override_on_root_content.enabled", false);             // NSS  false       ignoring sys accel           [true]
user_pref("mousewheel.transaction.timeout", 1500);                                         // NSS  1500           reset previous            [1500]
user_pref("mousewheel.min_line_scroll_amount", 0);                                         // NSS     0       lines vary with accel            [5]
user_pref("toolkit.scrollbox.horizontalScrollDistance", 3);                                // NSS     3       keyboard matches mwheel          [5]
user_pref("toolkit.scrollbox.verticalScrollDistance", 3);                                  // NSS     3       keyboard matches mwheel          [3]
user_pref("layers.async-pan-zoom.enabled", true);                                          // NSS  true          smoothness boost           [true]
user_pref("apz.force_disable_desktop_zooming_scrollbars", true);                           // NSS  true          keyboard fix I            [false]
user_pref("apz.paint_skipping.enabled", false);                                            // NSS  false         keyboard fix II v85        [true]
user_pref("dom.event.wheel-deltaMode-lines.always-disabled", true);                        // NSS  true       report wheel in pixels       [false]
user_pref("layout.css.scroll-behavior.spring-constant", "300.0");                          // NSS  "300"      css mimics gecko scroll        [250]
user_pref("general.smoothScroll.mouseWheel.migrationPercent", 100);                        // NSS   100      lame pref wreks settings        [100]
user_pref("general.smoothScroll.msdPhysics.enabled", false);                               // NSS  false        no stutering fling         [false]
user_pref("general.smoothScroll.currentVelocityWeighting", "0.0");                         // NSS  "0.0"          reduce stutter            [0.25]
user_pref("general.smoothScroll.durationToIntervalRatio", 400);                            // NSS   400           reduce stutter             [200]
user_pref("general.smoothScroll.stopDecelerationWeighting", "0.0");                        // NSS  "0.0"          reduce stutter             [0.4]
user_pref("general.smoothScroll.lines.durationMaxMS", 300);                                // NSS   300          arrows smoothing            [150]
user_pref("general.smoothScroll.lines.durationMinMS", 300);                                // NSS   300          arrows smoothing            [150]
user_pref("general.smoothScroll.mouseWheel.durationMaxMS", 300);                           // NSS   300          mwheel smoothing            [200]
user_pref("general.smoothScroll.mouseWheel.durationMinMS", 300);                           // NSS   300          mwheel smoothing             [50]
user_pref("general.smoothScroll.other.durationMaxMS", 150);                                // NSS   150          home-end smoothing          [150]
user_pref("general.smoothScroll.other.durationMinMS", 150);                                // NSS   150          home-end smoothing          [150]
user_pref("general.smoothScroll.pages.durationMaxMS", 200);                                // NSS   200         pgup-pgdn smoothing          [150]
user_pref("general.smoothScroll.pages.durationMinMS", 200);                                // NSS   200         pgup-pgdn smoothing          [150]
user_pref("general.smoothScroll.pixels.durationMaxMS", 300);                               // NSS   300           pixel smoothing            [150]
user_pref("general.smoothScroll.pixels.durationMinMS", 300);                               // NSS   300           pixel smoothing            [150]
user_pref("general.smoothScroll.scrollbars.durationMaxMS", 500);                           // NSS   500         scrollbar smoothing          [150]
user_pref("general.smoothScroll.scrollbars.durationMinMS", 500);                           // NSS   500         scrollbar smoothing          [150]
источник

PS: Сори за длинный код, lorcode [ cut ] почему-то не работает...

★★★

В связи с выходом Firefox 92 с поддержкой WebGL

Поддержка webgl появилась в Firefox 4, вышедшим 10 лет назад

aegi ★★★
()
Последнее исправление: aegi (всего исправлений: 1)

И вправду – сама прокрутка, вроде бы, и не тормозит, но "разгоняется" словно рывками.

Выставил mousewheel.acceleration.factor 5, как тут советуют – небо и земля. ИМХО, весь этот говнокод в ОП-посте ненужен.

Korchevatel ★★★★★
()

единственное, что мне подтебовалось сделать чтобы прокрутка была приятной для меня - это apz.gtk.kinetic_scroll.enabled=false

eternal_sorrow ★★★★★
()
Последнее исправление: eternal_sorrow (всего исправлений: 1)
Ответ на: комментарий от BceM_IIpuBeT

Это из разряда «…а я плавной прокруткой не пользуюсь - ощущения не те…» :)

ololoid ★★★★
()
Ответ на: комментарий от ololoid

добавляет бесполезных тормозов ввода

anonymous
()
Ответ на: комментарий от fernandos

Тоже заметил, то ли с 92, то ли раньше.

Выкинул расширение, вкинул скрипт. Нормально.

upd. Хотел ссылку кинуть, а тут https://greasyfork.org/ru/scripts/36272-lorify-ng старая версия. А у меня 3.0.0. Где взял - не помню. Отсюда https://github.com/OpenA/lorify-ng как-то вынул, по всей видимости.

-------------------------------------------

По сабжу. В Лисе в about:config по поводу скроллинга дофига всего, на любой вкус. Я mousewheel.acceleration.start подкрутил, регистрант выше mousewheel.acceleration.factor... Копировать чужую портянку, чтобы работало так, как нравится автору портянки?

Dementy ★★★
()
Последнее исправление: Dementy (всего исправлений: 2)
Ответ на: комментарий от Dementy

Выкинул расширение, вкинул скрипт. Нормально.

Действительно, я и не думал, что это поможет. Спасибо.

Хотел ссылку кинуть, а тут https://greasyfork.org/ru/scripts/36272-lorify-ng старая версия. А у меня 3.0.0. Где взял - не помню

https://raw.githubusercontent.com/OpenA/lorify-ng/master/lorify-ng.user.js

fernandos ★★★
()

Спросонья показалось "Платная прокрутка"...

По теме - нужно оно только для кручения колесиком мыши? А то я использую для прокрутки тачпад ноутбука (для этого нужно проводить параллельно двумя пальцами вертикально по нему), и резкости не ощущается никогда, ощущение очень приятное и по умолчанию.

x86-
()
Последнее исправление: x86- (всего исправлений: 1)
Ответ на: комментарий от eternal_sorrow

ради интереса попробовал, ничего не изменилось, также чутка «рваный» скролл (как и было).

Kolya95
()
Последнее исправление: Kolya95 (всего исправлений: 3)
Ответ на: комментарий от sudopacman

я вот думаю, а может ли быть дело в композиторе и драйвере? Использую gnome, видел что в багрепортах про mutter как раз жаловались на рваную прокрутку в лисе на невидии….

Kolya95
()

Спросонья
19:25:28

Доброе утро.

По теме - нужно оно только для кручения колесиком мыши? А то я использую для прокрутки тачпад ноутбука (для этого нужно проводить параллельно двумя пальцами вертикально по нему), и резкости не ощущается никогда, ощущение очень приятное и по умолчанию.

В иксах по умолчанию «деревянная» прокрутка без ускорения: отпускаешь руку от тачпада, и она сразу прекращается. Если нужно быстро дойти до низа/верха страницы, то фиг тебе; будешь туда-сюда пальцами елозить. Можно включить kinetic scrolling (чтобы прокрутка была как у нормальных людей) при помощи MOZ_USE_XINPUT2=1 (на «вяленом» оно работает из коробки). Сначала было не очень юзабельным.

Сабж — настройки для этого самого kinetic scrolling (возможно, какие-то из них будут работать и при использовании «старого» режима).

А для прокрутки мышкой есть опция «Automatic scrolling». Не понимаю, как без неё можно жить, прокручивая всё колёсиком.

sudopacman ★★★★★
()
Последнее исправление: sudopacman (всего исправлений: 1)

у меня другой вариант. ))


lockPref("general.smoothScroll.pages",true);
lockPref("general.smoothScroll.mouseWheel.durationMaxMS",1000);//колесико мышки. чем больше, тем "ленивее"
lockPref("general.smoothScroll.mouseWheel.durationMinMS",500);//колесико мышки. чем больше, тем "ленивее"
lockPref("general.smoothScroll.lines.durationMaxMS",1000);//курсор. чем больше, тем "ленивее"
lockPref("general.smoothScroll.lines.durationMinMS",500);//курсор. чем больше, тем "ленивее"
lockPref("general.smoothScroll.pages.durationMaxMS",500);//PGUP, PGDN. чем больше, тем "ленивее"
lockPref("general.smoothScroll.pages.durationMinMS",500);//PGUP, PGDN. чем больше, тем "ленивее"
lockPref("general.smoothScroll.pixels.durationMaxMS",500);//не нашел, что и где меняется, но пусть будет :)
lockPref("general.smoothScroll.pixels.durationMinMS",500);//не нашел, что и где меняется, но пусть будет :)
lockPref("general.smoothScroll.scrollbars.durationMaxMS",500);//перемещение по скролбару. чем больше, тем "ленивее"
lockPref("general.smoothScroll.scrollbars.durationMinMS",500);//перемещение по скролбару. чем больше, тем "ленивее"
lockPref("general.smoothScroll.other.durationMaxMS",500);//не нашел, что и где меняется, но пусть будет :)
lockPref("general.smoothScroll.other.durationMinMS",500);//не нашел, что и где меняется, но пусть будет :)

lockPref("mousewheel.acceleration.factor",5);//порог ускорения
lockPref("mousewheel.acceleration.start",2);//ускорять при быстром прокручивании колесика мышки. больше - быстрее
//lockPref("mousewheel.withnokey.numlines",2);//при медленном прокручивании колесика мышки перемещать по 1 строке, 2 при factor=5
//lockPref("mousewheel.withnokey.sysnumlines",false);
lockPref("dom.w3c_touch_events.enabled",0);//Функция для устройств (в основном ноутбуки) с тачпадом, сенсорным экраном или трекболом
vaka
()

рваная прокрутка мышкой

Это от чего зависит? У меня не наблюдается.

anonymous
()
Ответ на: комментарий от sudopacman

В иксах по умолчанию «деревянная» прокрутка без ускорения: отпускаешь руку от тачпада, и она сразу прекращается

В иксах это так, но в Firefox по умолчанию установлен противоположный вариант - после «разгона» прокрутки, если отпустить палец от тачпада, она продолжается автоматически на той же скорости.

x86-
()
Ответ на: комментарий от fernandos

bro, лисичка жутко тормозит. почему такие грамотные пользователи не могут решить этот вопрос непонятно.

anonymous
()

Через 100 лет: «Firefox 100500 рецепт плавной прокрутки в linux».

Ну сколько можно? Разрабы принципиально не пользуются своим же браузером?!

anonymous
()
Ответ на: комментарий от eternal_sorrow

Скрипт не умеет в уведомления.

Посмотрел. Да, в системные, которые в трее, не умеет. А меня в расширении раздражало, что он одно уведомление в трее плодит, пока не заглянешь.

расширение использую.

В новых Файрфоксах страницу подгружает? А какая версия дополнения и что подкрутить?

Dementy ★★★
()
Последнее исправление: Dementy (всего исправлений: 1)
Ответ на: комментарий от Dementy

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

eternal_sorrow ★★★★★
()

Нужна ли мне плавная прокрутка, если у меня трекбол? Толкнул шарик, оно и крутится пока шар не остановится.

Oberstserj ★★
()

Этот браузер гордость Линукс сообществ. Доведите до ума. Просто стыд и печаль. На youtUbe зайдите с него.

anonymous
()
Ответ на: комментарий от anonymous

На youtUbe зайдите с него.

Да вроде всё нормально... А что не так с FireFox на Youtube?

Windows ★★★
() автор топика
10 февраля 2022 г.

Только обновил до 91esr как сразу в глаза эта гадость бросилась. Ставить простыни конфигов не хочу, сделал свой

user_pref("apz.gtk.kinetic_scroll.enabled", false);
user_pref("mousewheel.acceleration.factor", 4);
user_pref("mousewheel.acceleration.start", 20);
user_pref("mousewheel.system_scroll_override.horizontal.factor", 50);
user_pref("mousewheel.system_scroll_override.vertical.factor", 50);

Самая важная настройка - первая, остальные мелкий тюнинг. Хотя кажется в фф78 всё равно лучше был скролл.

А куда его засунуть чтоб он ко всем профилям автоматом применялся?

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от sudopacman

В иксах по умолчанию «деревянная» прокрутка без ускорения: отпускаешь руку от тачпада, и она сразу прекращается. Если нужно быстро дойти до низа/верха страницы, то фиг тебе; будешь туда-сюда пальцами елозить

Господи, это уже слишком. Home и end для кого придуманы?

hateWin ★☆
()
Ответ на: комментарий от hateWin

То есть мне нужно убирать руки с тачпада и нажимать комбинацию из двух клавиш, потому что так велели деды? А если мне нужно не в самый верх или низ?

sudopacman ★★★★★
()
Ответ на: комментарий от hateWin

PageUp, PageDown

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

sudopacman ★★★★★
()
Ответ на: комментарий от firkax

А куда его засунуть чтоб он ко всем профилям автоматом применялся?

Если узнаешь куда засунуть, поделись рецептом здесь плиз.
PS: До меня сегодня дошло, что WebRender был отключен, его надо включать вручную оказывается...

Windows ★★★
() автор топика
Последнее исправление: Windows (всего исправлений: 2)
18 марта 2022 г.
Ответ на: комментарий от Windows

Если узнаешь куда засунуть, поделись рецептом здесь плиз.

Неожиданно нашёл у себя файл /etc/firefox-esr/firefox-esr.js и в нём коммент

// This is the Debian specific preferences file for Firefox ESR
// You can make any change in here, it is the purpose of this file.
// You can, with this file and all files present in the
// /etc/firefox-esr directory, override any preference you can see in
// about:config.

Кажется можно рядом другие даже создавать и они тоже подхватятся. Не проверял ещё. Это дебиан если что.

А ещё нашёл симлинк /usr/lib/firefox-esr/browser/defaults/syspref -> /etc/firefox-esr так что видимо это штатная фича фф.

update: да, всё работает, туда можно класть любые .js и они подхватываются, только надо вместо user_pref() писать pref()

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 3)
Ответ на: комментарий от firkax

Спасибо за находку... Будем попробовать... А у тебя Firefox *ESR?* Интересно, для Firefox не *ESR* это будет работать? У меня MXLinux - на основе Debian, но Firefox постоянно обновляется до последней версии.

Windows ★★★
() автор топика
Последнее исправление: Windows (всего исправлений: 2)
Ответ на: комментарий от Windows

Думаю это во всех фф есть и не только в дебиане. Просто в худшем случае там нет этого симлинка на /etc и класть надо прямо в /usr/lib/firefox[-esr]/browser/defaults/syspref

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.