Opačný scroll v chrome

Možná se Vám také stalo, že po jedné z aktualizací se některé programy, včetně Chrome, začali chovat divně. Příčiny i následky mohou být různé, teď se ale zaměříme na to, že se otočí scroll oproti systémovému nastavení.

Osobně používám Xfce, které v nastavení myši umožňuje změnit scroll na „přirozený“, který znáte možná z Macu, nebo výchozího nastavení většiny nových driverů pro Windows. Problémem však je, že tato aplikace se chová jako xmodmap a tedy otočí stisknutí tlačítka, což není způsob, který vyhovuje některým aplikacím.

Důvodem je přechod na Xinput2, který již neposílá při posunu ona „kliknutí tlačítka“, ale kontinuální hodnoty posunu. Řešení je tedy poměrně jednoduché: vykašlat se na nastavení pomocí GUI a sáhnout do konfiguračního souboru.

V mém případě se jedná o úpravu hodnoty v xorg configu v sekci ovladače Synaptics. Pro myš v konfiguraci tedy přidáme hodnotu Option "VertScrollDelta" "-107", kde -107 bylo ve výchozí hodnotě číslo 107.

Jaké číslo je výchozí můžeme zjistit například pomocí programu xinput a to tak, že si nejprve nalzeneme ID touchpadu, který cheme převrátit příkazem xinput list a následně zobrazíme hodnotu pro posun xinput list-props 11 | grep -i scroll. Výstup může vypadat nějak takto:

Synaptics Scrolling Distance (272): -107, 107
Synaptics Edge Scrolling (273): 0, 0, 0
Synaptics Two-Finger Scrolling (274):   1, 0
Synaptics Circular Scrolling (281): 0
Synaptics Circular Scrolling Distance (282):    0.100000
Synaptics Circular Scrolling Trigger (283): 0

V mém případě byla zajímavá hodnota Synaptics Scrolling Distance. Pokud používáte jiný ovladač, tak je rozumné podívat se do jeho dokumentace a zjistit, co která hodnota znamená.

Tak… teď už by vše mělo fungovat jako dřív. Jen nezapomeňte vypnout obrácený scroll v nastavení myši, jinak se stane, že aplikace používající Xinput budou reagovat opačně.

Aktivní pluginy pro WP

Dostal jsem se do situace, kdy jsem musel získat všechny aktivní pluginy ze stránek, které běželi na WordPressu a to tak, abych mohl aktivovat přesně ty samé na druhém stroji.

Situace vznikla tak, že se udělala kopie původního webu, která ale neobsahovala pluginy. Po spuštění se tedy pluginy v databázi deaktivovali. A jelikož se jednalo o vícestránkový WordPress bylo by ruční aktivování pluginů celkem zdlouhavé a nudné.

K dispozici mi byl pouze dump (provedený pomocí mysqldump) a přístup k druhé databázi. Tato databáze byla provedena importem zmíněného dumpu, ale již v ní byly provedeny změny a proto jsem jej nemohl provést opětovně.

Jelikož všechny aktivní pluginy byly uchovávány v options pod option_id 33, rozhodl jsem se použít program grep a sed.

grep "active_plugins" wordpress_dump.sql | grep INSERT | sed 's/INSERT INTO ([^ ]*).*(33,\x27active_plugins\x27,\x27([^\x27]*).*/UPDATE \1 SET `option_value` = \x27\2\x27 WHERE option_id = 33;/p' > active_plugins_only.sql

Výsledný soubor jsem zkontroloval a poté SQL spustil nad databází, kde byly pluginy deaktivovány, abych je aktivoval podle původního nastavení.