Problemas de Conkeror por solucionar
conkeror (escrito con c, no con k) es un navegador web que sigue el estilo de Emacs; es por tanto muy personalizable. Es el que más uso, y aunque me permite ser muy productivo, aún no me es cómodo del todo. Aquí listo los fallos que intento corregir.
Esta página es parte de mi lista de cosas por hacer e incluye muchas notas personales e información irrelevante o anticuada. Se puede ver de forma estructurada con org-mode (es como mantengo ésta y otras listas de tareas; lo explico aquí).
14.m09.2024 (desde 2009). En 2017 esta página sigue vigente; en 2023 es bastante inútil porque conkeror lleva años parado. Daniel Clemente Laboreo (web, correo). Este fichero .html se ve mejor abriendo el .org con org-mode (Emacs)
Otras listas: Índice (varias tareas) Temas de investigación (tareas mayores) Emacs Bazaar Conkeror Sobre este sistema (y org-mode)
Índice
- 1. fallos en conkeror y pequeños cambios
- 1.1. BONUS fallo raro al volcar búfers
- 1.2. IS al cerrar una pestaña quiero ir al búfer de la derecha
- 1.3. BONUS quitar cuadro que pide bajar plugin de Flash
- 1.3.1. IS encontrar una página donde pase
- 1.3.1.1. una donde pasa: : http://my.colby.edu/ics/Libraries/
- 1.3.1.2. otra donde pasa: : http://www.jivesoftware.com/
- 1.3.2. IS página mínima reproducible
- 1.3.3. IS escribir a lista (cuando tenga página reproducible)
- 1.3.4. ¿por qué en ali no pasa y en CPU107 sí?
- 1.3.5. MALFAR ver si lo solucionan o responden los de Conkeror
- 1.3.6. IS ∴ solución temporal
- 1.3.7. cosa relacionada
- 1.3.1. IS encontrar una página donde pase
- 1.4. quiero más teclas útiles
- 1.5. BONUS motor de búsqueda en el idioma local
- 1.6. BONUS que salga el atributo title (los rótulos) en imágenes, enlaces, etc.
- 1.7. IS evitar que se mueva el foco (regresión)
- 1.8. IS no siempre va a la URL del portapapeles (usando paste-url)
- 1.9. BONUS los rótulos de selección de enlace podrían usar clases para cambiar por CSS
- 1.10. BONUS al usar „conkeror „fichero.html“, se confunde y quiere abrir http://fichero.html/
- 1.11. BONUS read_from_x_primary_selection() no coge bien unicode (o UTF-8)
- 1.12. BONUS no respeta tabindex (el orden de navegación por campos con el tabulador)
- 1.13. BONUS cómo escribir un valor de depuración
- 1.14. Para que use el tema blackened
- 1.15. instalar extensiones (noscript etc.)
- 1.16. IS Para que arranque con el xulrunner bueno, cómo hacer el
run-conkeror
o equivalente - 1.17. cómo obtener el valor del prefijo
- 1.18. BONUS conkeror me muestra automáticamente muchas compleciones en cuadros de texto, y no lo quiero así
- 1.19. IS no va el sonido en vídeos HTML5 (ej. Youtube)
- 1.20. sobre el xulrunner: dónde bajarlo, etc
- 1.21. IS que abra con el programa que toca (ej. pdf con mupdf en vez de con gimp)
- 1.22. BONUS hace una especie de „caché DNS“ demasiado agresiva, de forma que un error de conexión deja muchos dominios inaccesibles cuando la conexión vuelve
- 1.23. BONUS evitar que una web me cambie las funciones de mis teclas
- 1.24. es demasiado verborreico pues me registra errores de páginas web (que yo no puedo controlar) mezclado con errores del propio conkeror
- 1.25. una página me da „401 - unauthorized“ sin pedirme la clave, y no consigo que me la pida. ¿Cookies?
- 1.26. en algunas páginas veo fuente mala, por ejemplos los números en secciones de github aparecen dentro de circulitos azules (bueno, color turquesa), con número escrito en blanco
- 2. ideas para cosas nuevas
- 2.1. extensiones y utilidades de Firefox que me faltan (o no)
- 2.2. BONUS recargar cada cierto tiempo
- 2.3. IS reordenar pestañas
- 2.4. inspector de DOM y CSS fácil de usar
- 2.5. IS tecla en conkeror para traducir página
- 2.6. IS tecla para traducir palabra, detectando el idioma de origen y enviando al diccionario apropiado
- 2.7. BONUS quiero una tecla nueva, „a“, para hacer una acción con un enlace, por ejemplo pasarlo a un programa mío
- 2.8. desplazamiento horizontal en conkeror
- 2.9. ATENDAS mapa para modificar el directorio de destino de descargas
- 2.10. BONUS función para atrás+cerrar en botón del ratón
- 2.11. moverse entre pestañas mediante el ratón pero sin clicar la barra de pestañas
- 2.12. BONUS reabrir la última pestaña cerrada (deshacer el cierre de un búfer)
- 2.13. BONUS editor de URL que no codifique los caracteres no ingleses
- 3. sobre velocidad
- 3.1. una pestaña puede colgar todo el navegador; eso es malo
- 3.2. ¿cómo puedo medir la velocidad de renderizado de páginas del motor actual?
- 3.3. motores alternativos a xulrunner que se puedan integrar en la interfaz de Conkeror
- 3.4. está creando fichero muy grande
places.sqlite
que creo que ralentiza
- 4. estropeos imprevistos y puntuales
- 4.1. IS la tecla o abre el enlace enfocado, pero lo que yo le asigné fue scroll_up
- 4.2. IS no arranca conkeror después de haber actualizado a xulrunner de Debian
- 4.3. IS no arranca por libxpcom.so
- 4.4. IS no restaura la sesión y arranca vacío
- 4.5. IS no arranca, dice que perfil incompleto („Your conkeror profile cannot be loaded. It may be missing or inaccessible.“)
- 4.6. no arranca con firefox 57
- 4.7. falla con xulrunner 60.2 (iba en 52.9)
- 4.8. ya no va el ver ficheros de texto
- 4.9. IS peta con SIGSEGV al seguir un enlace con target="_blank" (o target="a")
- 4.10. tras irlo a cerrar y cancelar porque hay cuadro de texto a medio escribir, ya no va nada (no va teclado etc.)
- 4.11. „setup timeout“ al bajar+abrir PDF, por algo raro que hice
- 4.12. arreglo función avanzar-a-versión-mejor
- 5. notas sueltas
1. fallos en conkeror y pequeños cambios
1.1. BONUS fallo raro al volcar búfers
1.2. IS al cerrar una pestaña quiero ir al búfer de la derecha
- CONCLUSIÓN escrita el
ya se hizo; es con „w“ en mi conkeror
Pues considero la barra como una pila donde lo izquierdo es lo más viejo. Puedo empezar a usar bury-buffer para salir del paso.
1.2.1. IS preguntado en grupo de conkeror
1.3. BONUS quitar cuadro que pide bajar plugin de Flash
1.3.1. IS encontrar una página donde pase
1.3.1.1. una donde pasa: : http://my.colby.edu/ics/Libraries/
<!-- Beginning of meebo me widget code. Want to talk with visitors on your page? Go to http://www.meebome.com/ and get your widget! --> <div style="TEXT-ALIGN: center"> <embed src="http://widget.meebo.com/mm.swf?RDEHFPsHqk" width="160" height="250" type="application/x-shockwave-flash" wmode="transparent"><br><span class="text11"><strong><strong></strong></strong></span><strong><strong></strong></strong></div><strong><strong> <div align="center"><a href="http://www.colby.edu/academics_cs/library/im-olin.cfm" target="_blank"">OlinHelp</a> | <a href="http://www.colby.edu/academics_cs/library/im-bixler.cfm" target="_blank"">BixlerHelp</a><a href="http://www.colby.edu/academics_cs/library/about/forms/meet-librarian.cfm?renderforprint=1"> </a></div> </strong></strong></div></div></div><br style="clear:both" />
1.3.1.2. otra donde pasa: : http://www.jivesoftware.com/
<script type="text/javascript" language="javascript"> AC_FL_RunContent( 'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0', 'width', '720', 'height', '359', 'src', '/resources/flash/homepage',
1.3.2. IS página mínima reproducible
<embed src="http://widget.meebo.com/mm.swf" type="application/x-shockwave-flash" /> Hola
1.3.3. IS escribir a lista (cuando tenga página reproducible)
- CONCLUSIÓN escrita el
Mandado: http://bugs.conkeror.org/issue130
Hi, each time I open a page which embeds a Flash object, a popup appears which says:
This page contains information of a type (application/x-shockwave-flash) that can only be viewed with the appropriate Plug-in. Click OK to download Plugin.
I certainly don't want Flash, and I don't like that Conkeror asks me each time. There should be a way to remember the user's decision… or a way to disable this dialog.
You can use this code to try:
<embed src="http://widget.meebo.com/mm.swf" type="application/x-shockwave-flash" /> Hola
Or test it by opening any of these URLs:
This seems to happen only in a computer running Ubuntu 8.04. In my home computer running Debian unstable, no popup appears. However, both have the same values in about:config:
- application.use_ns_plugin_finder;false
- plugin.expose_full_path;true
- plugin.override_internal_types;false
- privacy.popups.disable_from_plugins;2
- security.xpconnect.plugin.unrestricted;true
Greetings, Daniel
1.3.4. ¿por qué en ali no pasa y en CPU107 sí?
ali: Debian
- application.use_ns_plugin_finder;false
- plugin.expose_full_path;true
- plugin.override_internal_types;false
- privacy.popups.disable_from_plugins;2
- security.xpconnect.plugin.unrestricted;true
En CPU107: Ubuntu
- esas 5 están igual
1.3.4.1. IS mirar en CPU107
1.3.4.2. probar con perfil nuevo en cada uno
1.3.5. MALFAR ver si lo solucionan o responden los de Conkeror
- CONCLUSIÓN escrita el
me da igual; ya lo solucioné yo; ya me enteraré por otros medios
1.3.6. IS ∴ solución temporal
- CONCLUSIÓN escrita el
pues ya va, pero no aviso para ver qué dicen ellos
You need to disable the Adobe Reader plugin to prevent it from viewing PDFs inside Conkeror. Type M-x extensions to open the extensions manager, select plugins, select Adobe Reader, and click disable.
Desactivar el plugin base.
1.3.7. cosa relacionada
1.4. quiero más teclas útiles
1.4.1. IS C-t (transpose-chars) en más sitios y más útil
- CONCLUSIÓN escrita el
ya se arregló y va en todos lados
Lo mandé a la lista el
. Mandado otro parche el .1.4.2. BONUS teclas para usar combos y listas de selección
Quiero:
- tecla para moverme arriba/abajo por SELECT
- tecla para desplegar combo
- tecla para moverme arriba/abajo por combo
Ver en conkeror/modules/bindings/default/content-buffer/select.js
O preguntar:
- when a combo or a selection list (<select><option><option>…) is focused, C-p and C-n scroll the list, whereas up/down (cursor keys) move the selection pointer up/down. I would like to change …
1.5. BONUS motor de búsqueda en el idioma local
Ej: que poniendo minibúfer g
y luego „g 142857“ me dé la interfaz y resultados adaptados al idioma que yo elija.
Creo que en la definición de google
en conkeror/search-engines/google.xml
falta pasar un:
<Param name="hl" value="{language}"/>
Además creo que toma user_pref(LOCALE_PREF)
, cuando esto está lejos de la local del usuario (ej: yo tenía en-US
aunque LANG=ca_ES.UTF-8
).
1.6. BONUS que salga el atributo title (los rótulos) en imágenes, enlaces, etc.
Parece ser que es este informe http://bugs.conkeror.org/msg377
Lo más cómodo es que salgan flotantes sólo al apuntar, sin tocar teclas. Pero además con atajo de teclado para cuando no se usa el ratón.
1.7. IS evitar que se mueva el foco (regresión)
1.8. IS no siempre va a la URL del portapapeles (usando paste-url)
1.8.1. IS descripción
El problema está en esta entrada:
Author: John Foerch <…> 2009-09-23 02:02:23 Committer: John Foerch <…> 2009-09-23 02:02:49 Parent: 854151f3feecc7ff736ede69c0c05e5a3d5308d4 (comments and docstrings for browser object system) Branches: master, remotes/origin/master, remotes/origin/new-input-system Follows: abe-0.9--git090719-1 Precedes: 0.9.1 browser object "pasteurl" renamed to "paste-url" also rewrote it to validate the url
Y por tanto en este código:
define_browser_object_class("paste-url", "Browser object which reads an url from the X Primary Selection, "+ "falling back on the clipboard for operating systems which lack one.", function (I, prompt) { try { return make_uri(read_from_x_primary_selection()).spec; } catch (e) { throw new interactive_error("error: malformed url"); }
El problema es que no coge como buenas URLs que no tengan el http:// al principio. Ej: www.a.com no va, pero http://www.a.com sí
1.8.2. IS corregir paste-url
Tocar esto: file:///w/conkeror/modules/element.js, el return make_uri read_from_x_primary_selection spec
.
Si tiene ^[^:]+\. es que le falta la parte del protocolo, por tanto hay que añadir "http://" Antes le quito espacios.
make_uri
hace al final: return io_service.newURI(uri, charset, base_uri);
, donde uri
es una cadena normal.
1.8.3. IS esperar corrección oficial
- CONCLUSIÓN escrita el
metido
1.9. BONUS los rótulos de selección de enlace podrían usar clases para cambiar por CSS
Yo he cambiado el color a todos los enlaces (a
) y me encuentro que hay algunos a los que no se lo quiero cambiar: los que se iluminan mientras estoy tecleando letras al elegir el enlace a seguir.
Pero como no tienen clase asignada los activos (__conkeror_hint
es para todos) no puedo darles CSS.
1.9.1. marcar por CSS los activos
De hecho se podría tener todo este sistema de rótulos en CSS en vez de tocar estilo desde JavaScript. Así es más personalizable. Y ya hay una parte hecha en CSS (hints.css); lo que hay que hacer es quitar las definiciones de colores desde los .js (elem.style.color etc.)
1.9.1.1. plan
Se puede poner clase .conkeror_hint_link para todos (ahora amarillo) y .conkeror_hint_link_active para el seleccionado/actual (ahora verde). No hace falta crear clases especiales para imágenes pues eso se puede hacer por img.conkeror_hint_link_selected etc.
1.9.1.2. ¿se puede hacer todo con clases CSS?
Más difícil es iluminar IFRAMEs etc. No sé si se puede hacer por CSS
1.9.1.3. BONUS ¿más o menos velocidad?
No sé si pintar los rótulos por CSS sería más rápido. Por las pocas pruebas que he hecho, parece que sí.
1.9.1.4. primeras pruebas que van
En hints.css:
.__conkeror_hint_link { background-color: blue !important; color: white !important; }
Y luego en hints.js cambios del estilo:
if (!h.img_hint && h.elem.style) {
//h.elem.style.backgroundColor = (active_number = cur_number) ? active_hint_background_color : hint_background_color;
h.elem.className=(active_number =
cur_number)?"__conkeror_hint_link_active":"__conkeror_hint_link";
}
etc.
1.10. BONUS al usar „conkeror „fichero.html“, se confunde y quiere abrir http://fichero.html/
Debería añadir file:// según toque
1.11. BONUS read_from_x_primary_selection() no coge bien unicode (o UTF-8)
Ej. cuando copio desde Emacs (-nw, o sea sin X) la palabra pewność
y la recupera Conkeror mediante read_from_x_primary_selection()
, recibe extrañamente pewno[
, así, con un [
al final. Pasa lo mismo si la copia desde el mismo Conkeror en vez de desde Emacs.
Visto el
.[ ]
Mirar [BROKEN LINK: No match for fuzzy expression: function%20read_from_x_primary_selection%20()%20{]
1.12. BONUS no respeta tabindex (el orden de navegación por campos con el tabulador)
Ej. en duckduckgo, quiero que con un TAB ya me mueva al cuadro de búsqueda (TABINDEX 1), pero hacen falta 3.
Está accesibility.tabfocus
en about:config
(http://kb.mozillazine.org/Accessibility.tabfocus) pero Conkeror no lo sigue pues su TAB va sólo a campos de formulario:
tab is bound to the command browser-focus-next-form-field in bindings/default/content-buffer/normal.js. browser-focus-next-form-field is an interactive command in content-buffer-input.js.
Eso es: file:///w/conkeror/modules/content-buffer-input.js
[ ]
buscar[ ]
mandar fallo a Conkeror[ ]
quejarse a DuckDuckGo. ¿A quién se le ocurre poner el botón de buscar antes que el cuadro de texto?
1.13. BONUS cómo escribir un valor de depuración
dumpln("hola")
Va.
1.14. Para que use el tema blackened
La siguiente entrada es maléfica: 782a0b9ec087b4e88846a7695aa14cd0700e1134
Puedo usar: git revert 782a0b9ec087b4e88846a7695aa14cd0700e1134 Y seguir usando theme_load("blackened");
Además mis modificaciones incluyen:
cambios a minibuffer.css
tree.completions treechildren::-moz-tree-row(current) {
- background-color: blue !important;
- background-color: #00a !important; color: white; }
1.15. instalar extensiones (noscript etc.)
http://conkeror.org/Extensions
Poner:
<!– Conkeror –> <em:targetApplication> <Description> <em:id>{a79fe89b-6662-4ff4-8e88-09950ad4dfde}</em:id> <em:minVersion>0.1</em:minVersion> <em:maxVersion>9.9</em:maxVersion> </Description> </em:targetApplication>
Y borrar los META-INF.
1.16. IS Para que arranque con el xulrunner bueno, cómo hacer el run-conkeror
o equivalente
1.16.1. forma rara y vieja
Tocar el /usr/local/bin/conkeror y añadirle al final:
echo 142857 cambia xr y conkeror xr=`compgen -f /usr/lib/xulrunner-1.*` conkeror=/w/conkeror
exec "${xr%/}"/xulrunner "@"
1.16.2. ∴ invocando yo a xulrunner y pasando application.ini
file:///w/conkeror/arranca-conkeror:
#!/bin/bash cd xulrunner-8.0 /w/conkeror/application.ini "$@"
1.17. cómo obtener el valor del prefijo
interactive("pruebaprefijo", "Da el valor del prefijo (C-u)", function (I) { var window = I.window; I.minibuffer.message("Prefijo: "+I.prefix_argument); });
1.18. BONUS conkeror me muestra automáticamente muchas compleciones en cuadros de texto, y no lo quiero así
No quiero sugerencias en formularios.
[ ]
http://support.mozilla.org/en-US/kb/Options%20window%20-%20Privacy%20panel ← aquí se ve „Remember search and form history“.
1.19. IS no va el sonido en vídeos HTML5 (ej. Youtube)
Uso OSS4.
- Con aoss no se soluciona.
- poniendo FIREFOX_DSP=aoss tampoco
Ni en conkeror ni en iceweasel ni en chromium… Bueno, chromium dice:
… nvfx_screen_get_param:95 - Warning: unknown PIPE_CAP 30 ALSA lib confmisc.c:768:(parse_card) cannot find card '0' ALSA lib conf.c:4241:(_snd_config_evaluate) function snd_func_card_driver returned error: Нет такого файла или каталога ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings ALSA lib conf.c:4241:(_snd_config_evaluate) function snd_func_concat returned error: Нет такого файла или каталога ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name ALSA lib conf.c:4241:(_snd_config_evaluate) function snd_func_refer returned error: Нет такого файла или каталога ALSA lib conf.c:4720:(snd_config_expand) Evaluate error: Нет такого файла или каталога ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM default ALSA lib confmisc.c:768:(parse_card) cannot find card '0' ALSA lib conf.c:4241:(_snd_config_evaluate) function snd_func_card_driver returned error: Нет такого файла или каталога ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings ALSA lib conf.c:4241:(_snd_config_evaluate) function snd_func_concat returned error: Нет такого файла или каталога ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name …
He tenido que activar la traducción ALSA→OSS4 con trocito de configuración en file:///home/dc/.asoundrc, y ya va.
1.20. sobre el xulrunner: dónde bajarlo, etc
1.20.1. BONUS ¿cdv? ¿código fuente?
Pero ¬c.
El código está bajable de: http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/17.0b2/source/
Pero ¿y cdv? Parece que no…
1.20.2. números de versión liados: 1.9.2, 17, …
1.20.3. historial de cambios
No encuentro.
- Quizás hay que bajar código fuente de cdv.
- Quizás lista de correo, https://groups.google.com/forum/#!forum/mozilla.dev.platform, pero no
1.20.4. bajar última versión
1.20.5. versión de desarrollo
1.20.6. MALFAR „xulrunner SDK“, está para bajar
- https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/
- „xulrunner SDK version 41.0.2 will not work with FF 45“, hay que usar versión igual.
1.20.7. ¿ha muerto? → no, pero hay que usar el de dentro de Firefox
- un poco moribundo en 2015: https://groups.google.com/forum/#!topic/mozilla.dev.platform/_rFMunG2Bgw
- aquí dice que ya no ofrecen paquetes: http://ftp.mozilla.org/pub/xulrunner/nightly/latest-trunk/Deprecation_notice.txt
- anuncian m7.2015 que no es prioritario: https://groups.google.com/forum/#!msg/mozilla.dev.platform/_rFMunG2Bgw/C-4PcHj9IgAJ
- : 41.0.2
[X]
probar el de firefox- „Firefox (from version 3) ships with a private XULRunner package, which can run any compatible XULRunner application using the -app switch: firefox -app application.ini is equivalent to xulrunner -app application.ini“
- sí, puedo 44.0.2 así
- es mucho más rápido
- hay varias cosas que no van; iré ajustándolo
[ ]
fuentes mías[ ]
muchos avisos[ ]
NoScript parece ir, pero el nuevo va a medias y no se deja configurar
1.21. IS que abra con el programa que toca (ej. pdf con mupdf en vez de con gimp)
- ya lo corregí alguna vez, y se ha vuelto a estropear al poner xulrunner nuevo
Curioso que esto da „evince“:
external_content_handlers.get("application/pdf")
Y sin embargo se abre gimp. Y no veo „gimp“ ni por etc ni en mi ~/.mailcap ni en tablas MIME de conkeror ni en fuente de conkeror…
„Removing the pdf mimetype from /usr/share/applications/gimp.desktop does seem to help…“ Probado, no.
Solución: a file:///home/dc/.local/share/applications/mimeapps.list añadirle esto:
[Added Associations] application/pdf=mupdf.desktop;
Imagino que eso refiere a /usr/share/applications/mupdf.desktop Con esto va inmediatamente.
1.22. BONUS hace una especie de „caché DNS“ demasiado agresiva, de forma que un error de conexión deja muchos dominios inaccesibles cuando la conexión vuelve
[ ]
http://www.tech-faq.com/how-to-flush-dns.html- hay extensión, https://addons.mozilla.org/en-us/firefox/addon/dns-flusher/, pero no es justo para lo que busco
[X]
poner en about:config: network.dnsCacheExpirationGracePeriod a 0. Pruebo esto y lo reabro, pero no cambió nada: una desconexión se hizo perenne[ ]
„Enter network.dnsCacheExpiration as the preference name and 0 as the integer value“ ← lo pruebo
1.22.1. dicen que el cuadro de „borrar datos“ tiene opción para borrar caché DNS
1.23. BONUS evitar que una web me cambie las funciones de mis teclas
Ej. es eso de „access keys“; „shortcut keys“ le llaman.
- Ej. de página donde pasa: entrar en https://github.com/ y darle a la m. Sale un cuadro con chuleta de la sintaxis.
- Ej. ahora https://ankiweb.net/shared/decks/ me roba teclas „b“, „s“ etc.
Es muy molesto. Quiero que las páginas me definan ninguna tecla, pues ya me defino yo las que quiero.
Larga discusión sin resultados pues es dilema difícil: https://bugzilla.mozilla.org/show_bug.cgi?id=380637
Puedo:
- buscarme otras teclas que no se superpongan
- crear modo especial para esta página, o algo así
- evitar el robo de teclas en todas las páginas, con alguna preferencia
- cambiar código fuente de conkeror/xulrunner para evitar ceder el control de teclado a la página
- usar extensión/script que las recupera
- ∴ desactivar JS
- por ahora, usar la tecla con prefijo („u“), eso activa mi versión en vez de la de la web
1.23.1. conkeror tiene „modos de página“ pero no quiero definir un modo para cada página molesta
- github tiene uno, pero activarlo es aún peor
1.23.2. puedo usar noscript
1.24. es demasiado verborreico pues me registra errores de páginas web (que yo no puedo controlar) mezclado con errores del propio conkeror
JavaScript strict warning: https://startpage.com/adsense/search/async-ads.js, line 297: SyntaxError: test for equality (==) mistyped as assignment (=)? JavaScript strict warning: https://startpage.com/adsense/search/async-ads.js, line 52: ReferenceError: reference to undefined property a.waitForAds JavaScript strict warning: https://startpage.com/adsense/search/async-ads.js, line 246: ReferenceError: reference to undefined property window.CSE_OPTIONS_ JavaScript strict warning: https://startpage.com/adsense/search/async-ads.js, line 252: ReferenceError: reference to undefined property u.ctcIconFormat JavaScript strict warning: https://startpage.com/adsense/search/async-ads.js, line 178: ReferenceError: reference to undefined property a.clicktrackUrl […] JavaScript strict warning: https://startpage.com/js/result_header_new.js?v=d85aee1303aea48fb0adef596918449c, line 18: ReferenceError: assignment to undeclared variable UNIT_NONE Console error: [JavaScript Warning: "Penggunaan getPreventDefault() sudah usang. Gunakan defaultPrevented." {file: "https://startpage.com/js/result_header_new.js?v=d85aee1303aea48fb0adef596918449c" line: 3}] Category: DOM Core
- javascript.options.showInConsole: no ayuda
1.25. una página me da „401 - unauthorized“ sin pedirme la clave, y no consigo que me la pida. ¿Cookies?
Ej. el nivel 9 de Python Challenge.
Quizás es mala configuración del servidor suyo… En otros navegadores sí que me pide clave.
1.26. en algunas páginas veo fuente mala, por ejemplos los números en secciones de github aparecen dentro de circulitos azules (bueno, color turquesa), con número escrito en blanco
- https://askubuntu.com/questions/1041806/firefox-shows-numbers-and-symbols-as-emoji-how-to-disable-this, justo esto, ver ahí imagen
- páginas sueltas en que pasa
es por CSS que hay en:
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-6b3d1b701ef1.css" />
en concreto es por esta línea
body{ font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; }
sólo esto ya causa el destrozo que estoy localizando:
body{ font-family:"Apple Color Emoji"; }
este fichero mínimo reproduce el problema
<!DOCTYPE html> <html> <head> <style type="text/css"> body{ font-family:"Apple Color Emoji"; } </style> </head>
<body> <p>#8987</p> </body> </html>
- parece ser que no tengo las fuentes anteriores a esa mencionada, y por tanto se está usando ésa
- pero
sans-serif
sale listada y sí la tengo, obviamente
- pero
- me parece rarito eso de poner fuente de sólo-emojis al
body
- atención: tampoco tengo „Apple color emoji“. El problema pasa igual si digo que use:
font-family:"emoji";
- o sea, que de alguna manera detecta la palabra „emoji“ y pasa a usar fuente rara
pruebas de solucióninstalar más- instalo fonts-noto, a ver qué pasa. Entonces está disponible (y ẽ Firefox último la toma/prefiere), pero conkeror no la prefiere
- instalo fonts-roboto. Me destroza todo; ∴ quitarlo
- https://bbs.archlinux.org/viewtopic.php?id=289321, muy parecido, y mencionan „Apple Color Emoji“ también como culpable
- estoy usando
font-family:"Noto Sans",sans-serif,"Apple Color Emoji";
, y tengo Noto Sans, y sin embargo prefiere usar su fuente de emojis, sólo porque ve la palabra emoji - ∴ ¿es por EmojiOne? Sí
- ahora „joypixels“
- EmojiOneMozilla.ttf
- ẽ file:///w/firefox-52.9.0esr/fonts/EmojiOneMozilla.ttf
- la miro, y parece otra fuente
- pero dicen que sí que es por esto
- desactivo acceso de lectura a EmojiOneMozilla.ttf, y esto mejora todo
pruebo esto (o sea pongo TwemojiMozilla.ttf, que es más nueva), pero entonces salen glifos en blanco. Es peor
cp /w/firefox/fonts/TwemojiMozilla.ttf /w/firefox-52.9.0esr/fonts
- ∴ por tanto simplemente borrar EmojiOneMozilla, y no poner sustituto. Por ahora
- al borrar EmojiOneMozilla, queda todo más monocromo (blanco/negro, contornos. Se pierden iconos en color, algunos), y algunos iconos demasiado grandes. También va todo algo más rápido
- ejemplo de cuáles salen enormes: „🟤, 🟡, 🟢“
- quizás he de poner algo en
font.name-list.emoji
(ẽ a „Twemoji Mozilla“)- o
layout.css.font-variant-emoji.enabled
(false) - pruebo ambas, no ayudan
- o
dc; ~ ; fc-match "emoji"
NotoColorEmoji.ttf: "Noto Color Emoji" "Regular"
- /usr/share/fonts/truetype/noto/NotoColorEmoji.ttf
- fontforge/trufont no lo abren bien
- ¿es esto lo que estoy viendo? ∴ No, „Noto Color Emoji“ tiene números negros y sin círculo azul
- /usr/share/fonts/truetype/noto/NotoColorEmoji.ttf
- ¿quizás es que el proceso no tiene acceso a más fuentes?
- file:///usr/share/fonts/truetype/noto/
- no, no es esto. Tiene acceso
- ¿será por pruebas mías? (por haber colocado fuentes que he creado yo, en sitios especiales
- quizás es por los ajustes que le he puesto, ẽ
gfx.font_rendering.graphite.enabled
(falso), etc. Pero no quiero cambiarlos - ∴ complicado probar todo esto. Puede ser por muchas cosas, y además la configuración ha ido cambiando mucho en el tiempo y cuesta comparar cosas
2. ideas para cosas nuevas
2.1. extensiones y utilidades de Firefox que me faltan (o no)
- firebug: se puede, ver ahí
- bugmenot: ya lo tengo
2.1.1. tiene gestor de permisos
M-x permission-manager Ahí puedo bloquear cuquis (cookies), popups, imágenes de ciertos dominios. ¡Funciona!
2.1.2. consola de errores de javascript
Ver js-console que añadí. Malo: funciona a medias.
2.2. BONUS recargar cada cierto tiempo
He mandado: http://bugs.conkeror.org/issue177
Mensajes relacionados:
- http://www.mozdev.org/pipermail/conkeror/2008-October/001172.html: „This sounds like a good candidate for a page-mode“. Sugiere mirar file:///w/conkeror/modules/page-modes/ (aunque ya no hay media.js)
2.3. IS reordenar pestañas
- CONCLUSIÓN escrita el
ya está en el oficial
- CONCLUSIÓN escrita el
hice lo que pude; ahora me toca esperar y corregir mínimamente
Lo he probado en file:~/.conkerorrc::function test_move_tab_left window Y lo he enviado a conkeror.
2.3.1. IS mandar como fallo
2.3.2. MALFAR ver si me ayudan un poco con lo de las pestañas (ver si resuelven el fallo)
- CONCLUSIÓN escrita el
Lo abandono porque no sé mucho; ya envié el fallo y quizás más adelante recupero el código.
2.3.3. IS parche de arlinius, lo implementa
- CONCLUSIÓN escrita el
el parche de John Foerch sucede a éste y corrige lo que dije
Tabs no longer have closures on their buffers. Instead, a tab's buffer is now stored as a property of the tab. Also fixed some whitespace in tab.addEventListener calls.
The buffer container now has a buffer_ordering list which specifies the order of the buffers used for buffer_next, rather than using the order of the buffer vbox elements in the buffer-container deck directly.
A new function, buffer_move_forward, has been added. This function moves a buffer forward in its window's buffer container. The interactive commands buffer-move-forward and buffer-move-backward have also been added. There is a new hook, move_buffer_hook, which is run every time the order of buffers is changed. Its argument is the buffer that was moved.
new-tabs.js uses move_buffer_hook to update the index numbers shown on the tabs as well as the ordering of the tabs. Tab ordering is controlled by setting the ordinal attribute on the tab.
Respondo:
Thanks for implementing this. I have been testing it and it works pretty well.
- I would add this.add_hook("move_buffer_hook") in buffer_count_widget (mode-line.js) to update the „
[13/13]
“ part in the modeline.- Each reordering should be written to the session file. Now, if I change the order of a tab and close Conkeror without adding/removing other tabs, the original ordering is saved. So session_auto_save_save should be run in move_buffer_hook too
- It doesn't work when the tab bar is disabled, due to move_buffer_hook always calling tab_bar_move_buffer. I suppose it could rearrange buffers so that you'll notice those invisible changes when you turn the tab bar on again.
2.3.4. IS John lo implementó en rama buffer-ordering; revisar
- CONCLUSIÓN escrita el
integrada en rama central
El
.- „The keys M-N and M-P are used to move buffers manually through the spatial buffer list.“
[X]
probar un tiempo[ ]
apuntar fallos[ ]
comentar
2.4. inspector de DOM y CSS fácil de usar
- Está DOM Inspector, pero algo como Firebug es más fácil de usar.
- de momento uso el de firefox
2.5. IS tecla en conkeror para traducir página
2.6. IS tecla para traducir palabra, detectando el idioma de origen y enviando al diccionario apropiado
2.7. BONUS quiero una tecla nueva, „a“, para hacer una acción con un enlace, por ejemplo pasarlo a un programa mío
- igual que tengo „c“ para copiar o „d“ para descargar
- „a“ lo pasará a ~/ut/a, que ya procesa la URL
para empezar: de commands.js
interactive("copy", null, alternates(copy_text, copy_text_append), $browser_object = browser_object_links);
v1
function acción_con_enlace (I) { var element = yield read_browser_object(I); browser_set_element_focus(I.buffer, element); var text = browser_element_text(I.buffer, element); text = "~/ut/a \""+ "(aquí poner „text“ pero sin comillas ni caracteres ¬URL)" +"\""; / aquí viene el problema de lanzar comando / writeToClipboard(text); I.buffer.window.minibuffer.message("Lanzada acción con: "+text); }
interactive("acción", null, acción_con_enlace, $browser_object = browser_object_links);
- problema: las restricciones de seguridad que he puesto a conkeror implican que a conkeror le costará bastante lanzar procesos
2.8. desplazamiento horizontal en conkeror
Ver file:~/.conkerorrc::moverse horizontalmente hacia derecha e izquierda
// Pues ya está esto, que va bien. // define_key(keymap, "C-b","cmd_scrollLeft"); // define_key(keymap, "C-f","cmd_scrollRight"); // Pero además definiré unos equivalente a C-uC-uC-b y C-uC-uC-f, que se mueven más rápido. Los pongo en Meta
No encuentro función para hacer „→“ aunque la tecla „→“ va porque está definida como builtin_command.
Más difícil de lo esperado. Necesito ejemplos de extensión de una función. O preguntar a Conkeror…
2.9. ATENDAS mapa para modificar el directorio de destino de descargas
Mandado a Conkeror el http://bugs.conkeror.org/issue294
: „Be able to select the download directory programmatically“Quizás es útil la resolución que se hizo para http://bugs.conkeror.org/issue271 (refactorizando suggest_file_name).
2.10. BONUS función para atrás+cerrar en botón del ratón
Ya que no uso mucho el ratón, puedo asignar funciones útiles a sus botones. Además las necesito.
Ej.
[ ]
clic derecho en fondo:[X]
ir atrás[ ]
si ya no se puede ir más atrás, cerrar búfer → esto deshace en 1 paso la navegación global
[ ]
clic derecho en enlace: copiar destino del enlace
Interesante:
- [BROKEN LINK: No match for fuzzy expression: window.addEventListener("click",%20handler,%20true)%3B]
Quiero:
[X]
que no afecte a barra de pestañas[X]
que se active para todos los búfers[ ]
que se pueda desactivar (ej. conmutar globalmente) ya que alguna página me puede exigir el clic derecho (aunque no debería)
2.10.1. primera prueba, detecta el clic derecho y va atrás
Funciona
interactive("deshaznave", "Atrás+cerrar con el botón derecho del ratón. A completar", function (I) { var window = I.window; function handler (e) { if (e.button == 2) { // 2==derecho e.preventDefault(); e.stopPropagation(); window.removeEventListener("click", arguments.callee, true); go_back(I.buffer,I.p); } // si no, nada } window.addEventListener("click", handler, true); I.minibuffer.message("he activádome e iré atrás tras próximo clic."); });
Pero va atrás en el búfer original, no en el actual. Y se desactiva. Y actúa también sobre barra de pestañas.
2.10.2. versión mejor, va atrás en el búfer actual, se activa para todos los búfers, dura; funciona muy bien
function clic_derecho(e){ // va a la página anterior if (e.button == 2) { // 2==derecho e.preventDefault(); e.stopPropagation(); e.currentTarget.goBack(); } } function activa_clic_derecho_especial (buffer) { buffer.browser.addEventListener("click", clic_derecho, true); } add_hook("create_buffer_hook", activa_clic_derecho_especial); interactive("desactiva-clic-derecho-especial-en-el-b-actual", "Permite que el clic derecho sea tratado por la página del búfer actual (en vez de capturarlo); no requiere recarga", function (I) { I.window.buffers.current.browser.removeEventListener("click",clic_derecho,true); }); // Para desactivar globalmente (en nuevos búfers): // remove_hook("create_buffer_hook",activa_clic_derecho_especial);
Le falta: matar búfer cuando ya no se puede ir atrás.
2.11. moverse entre pestañas mediante el ratón pero sin clicar la barra de pestañas
2.12. BONUS reabrir la última pestaña cerrada (deshacer el cierre de un búfer)
Tal como hace Firefox.
Cuidado:
- la pestaña pudo haber sido la última de una ventana; entonces ¿hay que recrear la ventana?
- hay que restaurar también todo el historial de esa pestaña, para que se pueda volver atrás/adelante como si nada hubiera pasado
- se podría hacer que descierres sucesivos vayan reabriendo pestañas más viejas, hasta volver a tener todas
- una pestaña descerrada puede ser cerrada otra vez. Y después descerrada otra vez, etc.
- creo que es mejor no grabar todo lo descerrable en el fichero de sesiones
2.12.1. hay solución en JS en wiki
- parece que esto va: http://conkeror.org/Tips#Restore_Killed_Buffer_Url
- estaría bien integrarlo en conkeror
me dejó de funcionar (
TypeError: this.refresh is not a function
)- Y es que esto ya falla (hasta con xulrunner 30):
all_word_completer($completions = ['un','dos','tres'])
2.13. BONUS editor de URL que no codifique los caracteres no ingleses
Ahora se ven URLs muy raras, como:
https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%80%D0%BE%D0%BA%D0%BA%D0%B0%D0%BD%D1%81%D0%BA%D0%B0%D1%8F_%D0%9C%D0%B5%D1%81%D0%B5%D1%82%D0%B0
Quiero tecla que muestre los signos Unicode reales.
También afecta esto a signos conocidos para anglófonos: comilla „'“, espacio „ “, …
[ ]
crear tecla que desescapa, edita y vuelve a escapar
3. sobre velocidad
3.1. una pestaña puede colgar todo el navegador; eso es malo
Al menos en la versión del
con xulrunner 1.9.1. Sin plugins.3.1.1. IS fórmula para reproducir esto
Me pasa cuando tengo muchas pestañas abiertas (ej. >100) y una de ellas está haciendo cálculos complejos o está mal diseñada y simplemente está perdiendo el tiempo (mi tiempo). Entonces se ve el proceso xulrunner-bin con alta carga de CPU (no siempre 100%).
No pasa sólo por abrir conkeror con la página de bienvenida (eso era otro fallo de xulrunner).
No es que sea xulrunner
(Gecko) quien consume la CPU, sino que es quien permite que la página la consuma.
3.1.1.1. URLs
Páginas que especialmente roban la CPU del visitante (encontradas así tras un caso real):
- http://www.acciona.es/ el : me gasta entre un 30 y un 70% de CPU sólo ésta, y no baja ni al cabo de un buen rato
- http://www.charlierose.com/ el causa bastantes picos, quizás sólo al apuntar a la parte superior
He descubierto más con el prita que he hecho.
3.1.2. limitar los recursos a cada pestaña
Chromium separa más los páginas y limita sus privilegios; ese enfoque está bien.
Y si ya se acepta que página=programa, también podría correr cada página como un proceso distinto…
3.1.3. BONUS de momento hace falta una forma de ver qué pestaña está consumiendo más CPU
3.1.3.1. trazar sus llamadas a sistema
- ltrace: lo hice y murió (SIGTRAP).
- strace: con ello veo demasiada información
- gdb: veo que está entre cosas de XUL y de JS (obvio), ej. libxul.so y función JS_EvaluateUCScriptForPrincipals
Nada útil.
3.1.3.2. ¿depurar xulrunner?
3.1.3.3. MALFAR pedir en lista; estaría bien integrarlo en Conkeror
- CONCLUSIÓN escrita el
de momento parece que no hay interés: no ha habido respuesta
Enviado el
… sometimes when I have many tabs open (>100) I notice that Conkeror is using much CPU (e.g. 35%) when idle. CPU usage drops to normal level if by chance I happen to close the right buffer, so it's a matter of a broken webpage, not of Conkeror itself. It would be nevertheless useful to know which amount of activity is producing each buffer, similar to what "top" does for processes. Can Conkeror provide this debug information?
Y anuncié mi prita.
3.1.3.4. IS he hecho un programita para medir el tiempo de CPU gastado por cada página abierta
Está en cpu_spent_by_buffers.sh
3.1.3.5. BONUS algo parecido: medir cuánta RAM consume cada pestaña
- lo añadieron en Firefox 16, en about:memory
[ ]
https://bugzilla.mozilla.org/show_bug.cgi?id=687724
3.1.3.5.1. ¿qué es eso de js-non-window que tanto ocupa? ¿La interfaz?
630.78 MB (100.0%) – explicit ├──362.77 MB (57.51%) – js-non-window │ ├──191.05 MB (30.29%) – runtime │ │ ├──168.54 MB (26.72%) ── script-data │ │ ├───16.10 MB (02.55%) ── atoms-table │ │ └────6.40 MB (01.02%) ++ (11 tiny) │ ├──106.20 MB (16.84%) – zones │ │ ├───75.75 MB (12.01%) – zone(0x7fb77d733000) │ │ │ ├──75.55 MB (11.98%) – strin …
Quizás es JS viejo de páginas cerradas.
3.1.3.5.2. ¿y qué es lo de „ghost“? Me muestra páginas ya cerradas
1,225.37 MB (100.0%) -- explicit ├────292.86 MB (23.90%) -- window-objects │ ├──191.85 MB (15.66%) -- top(none) │ │ ├──183.57 MB (14.98%) -- ghost │ │ │ ├──109.95 MB (08.97%) ++ (36 tiny) │ │ │ ├───25.54 MB (02.08%) -- window(https://openedx.slack.com/messages/C2NA0US41/) │ │ │ │ ├──13.22 MB (01.08%) ++ js-compartment(https://openedx.slack.com/messages) │ │ │ │ └──12.33 MB (01.01%) ++ (3 tiny) │ │ │ ├───20.89 MB (01.70%) -- window(https://docs.google.com/spreadsheets/d/1x8BUh2ik6eXisJec142857xFI4y2KRglh7IWQgyDfPs/edit#gid=457748269) │ │ │ │ ├──13.54 MB (01.10%) -- js-compartment(https://docs.google.com/spreadsheets/u/1/d/1x8BUh2ik6eXisJec142857xFI4y2KRglh7IWQgyDfPs/edit#gid=457748269) │ │ │ │ │ ├──12.96 MB (01.06%) ++ classes │ │ │ │ │ └───0.58 MB (00.05%) ++ (5 tiny) │ │ │ │ └───7.35 MB (00.60%) ++ (3 tiny)
Esto con Slack, Google etc. cerrado. desde hace días.
Si clico „Free memory“ se soluciona.
3.1.4. soluciones temporales para descubrir cuál es
- salgo del navegador; se guarda mi sesión en el fichero
sessions/auto-save
- aparto este fichero para entrar en un conkeror vacío
- voy cargando cada URL de ese fichero, a mano, hasta ver cuál es la que causa la alta carga
Lo he automatizado con un programita.
3.2. ¿cómo puedo medir la velocidad de renderizado de páginas del motor actual?
Yo veo que va lento y a golpes, pero me gustaría cuantificarlo.
Sé que hay cierto tipo de páginas que se le atragantan a Gecko (ya sin Javascript), como ésas del background:fixed
cuyo informe de fallo está abierto desde hace mucho…
Con esto lo que quiero es ver si la lentitud de renderizado es debida a mi ordenador o a Gecko; así sabré cuál de los dos toca mejorar.
3.3. motores alternativos a xulrunner que se puedan integrar en la interfaz de Conkeror
3.3.1. minno (con WebKit)
As a sidenote, a few Conkeror developers are working on a WebKit-based browser codenamed Minno (http://sourceforge.net/projects/minno/) which will use Gambit Scheme instead of JavaScript and will probably be lightning-fast in comparison. We are all looking forward to seeing where that project goes!
3.3.2. Xulrunner ha de mejorar el motor JavaScript también
3.4. está creando fichero muy grande places.sqlite
que creo que ralentiza
Son del historial etc.
- se puede hacer „VACUUM“: http://mozillalinks.org/2009/07/vacuum-your-firefox-databases-for-better-performance/
- con esto pasé de 20 Mb a 11 Mb. Pero al rearrancar volvió a hacerse de 20 Mb
- borrarlo. Pero al iniciar se creó uno de 10 Mb
- ∴ parece que se crea en bloques de 10 Mb y no se puede cambiar. Hay que aguantarse o evitar Gecko…
4. estropeos imprevistos y puntuales
4.1. IS la tecla o abre el enlace enfocado, pero lo que yo le asigné fue scroll_up
Use this .conkerorrc with latest conkeror:
define_key(content_buffer_normal_keymap, "o", "cmd_scrollPageUp"); define_key(content_buffer_normal_keymap, "e", "cmd_scrollPageDown");
Open it. Both keys can scroll the web page correctly. Now do the drag+drop action on any link so that it gains focus (you'll see the dashed border). Press "o" then. The link is opened in a new window, instead of scrolling.
Culpable: ./modules/bindings/default/content-buffer/anchor.js:
define_key(content_buffer_anchor_keymap, "o", "follow-new-buffer", $browser_object = browser_object_focused_element);
Por tanto se soluciona con:
undefine_key(content_buffer_anchor_keymap, "o"); //era F
4.2. IS no arranca conkeror después de haber actualizado a xulrunner de Debian
- CONCLUSIÓN escrita el
ya lo arreglé para mí; y ya han anunciado algunas correciones para Debian+Ubuntu. Si necesitan alguna prueba más ya me lo dirán
After I upgraded xulrunner 1.9.1.6-1 from Debian's „testing“ archive, conkeror no longer starts: ./contrib/run-conkeror (xulrunner-bin:22326): GLib-WARNING **: g_set_prgname() called multiple times Error initializing. NS_ERROR_XPC_GS_RETURNED_FAILURE: Component returned failure code: 0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE) [nsIJSCID.getService] null()@chrome://conkeror/content/history.js:10 Console error: [JavaScript Error: "conkeror.handle_command_line is not a function" {file: "file:///Werkstatt/conkeror/components/commandline.js" line: 18}] Category: XPConnect JavaScript
Mandado a lista
Probando:
# ~/.conkeror.mozdev.org/conkeror/hgwfry3w.default ; for a in *; do conmuta $a; echo ocultado $a, aprieta enter para conkeror; read; conkeror; rm -rf $a; conmuta $a; done
- Candidatos: places.sqlite compreg.dat extensions.cache extensions.ini extensions.rdf localstore.rdf places.sqlite prefs.js XPC.mfasl xpti.dat
- Culpable: places.sqlite
Removing ~/.conkerorrc makes no difference. But removing ~/.conkeror.mozdev.org does: without that profile, it starts correctly (and creates a new profile). Carefully removing each file independently I found that the file places.sqlite-journal was the culprit: ~/.conkeror.mozdev.org/conkeror/hgwfry3w.default$> ll places.sqlite* -rw-r--r-- 1 dc dc 21762048 ene 9 04:18 places.sqlite -rw-r--r-- 1 dc dc 512 ene 9 10:38 places.sqlite-journal conkeror # Doesn't run sqlite3 places.sqlite3 ".schema" # Says: Error: disk I/O error rm places.sqlite-journal sqlite3 places.sqlite3 ".schema" # Now it shows its contents (~10 tables) conkeror # And it runs, with my old whole profile I don't know why that database is corrupt. Is there something I can do to find it?
4.3. IS no arranca por libxpcom.so
? ~ ; /usr/lib/xulrunner-10.0/xulrunner-bin /w/conkeror/application.ini /usr/lib/xulrunner-10.0/xulrunner-bin: error while loading shared libraries: libxpcom.so: cannot open shared object file: No such file or directory ? ~ ; ldd /usr/lib/xulrunner-10.0/xulrunner-bin linux-vdso.so.1 => (0x00007fff9f4ad000) libxpcom.so => not found libmozalloc.so => not found libxul.so => not found libplc4.so.0d => /usr/lib/x86_64-linux-gnu/libplc4.so.0d (0x00007fe605f40000)
Lo soluciono arrancando con:
LD_LIBRARY_PATH=/usr/lib/xulrunner-10.0/ /usr/lib/xulrunner-10.0/xulrunner-bin /w/conkeror/application.ini
4.4. IS no restaura la sesión y arranca vacío
Quizás porque lo maté a medias una vez que estaba arrancando.
dc; ~ ; conkerorSyntaxError: JSON.parse: unexpected end of data chrome://conkeror/content/session.js:211 session_read([object XPCWrappedNative_NoHelper])@chrome://conkeror/content/session.js:211 ()@chrome://conkeror/content/session.js:432 (true)@chrome://conkeror/content/mode.js:27 @chrome://conkeror/content/session.js:456 load1("chrome://conkeror/content/session.js","chrome://conkeror/content/")@file:///w/conkeror/components/application.js:108 ("session.js")@file:///w/conkeror/components/application.js:160 ("session.js")@file:///w/conkeror/components/application.js:231 …
- está en: file:///home/dc/.conkeror.mozdev.org/conkeror/8d3rysoz.default/sessions/auto-save
- y aparentemente el problema es que está vacío (0 bytes) ← se perdió la sesión anterior
- ∴ borrarlo y ya no se queja
4.5. IS no arranca, dice que perfil incompleto („Your conkeror profile cannot be loaded. It may be missing or inaccessible.“)
No ayuda instalar el de Debian ni otro xulrunner. ¿Quién dice eso? No encuentro el mensaje en conkeror ni en xulrunner. ∴ Era por haber movido caché a otro directorio y enlazar mal.
4.6. no arranca con firefox 57
Esquive:
dc; ~ ; /usr/bin/firefox-esr -app /w/conkeror/application.ini
4.6.1. fallo con „not a function“
JavaScript error: file:///w/conkeror/components/command-line.js, line 24: TypeError: conkeror.handle_command_line is not a function Console error: [JavaScript Error: "TypeError: conkeror.handle_command_line is not a function" {file: "file:///w/conkeror/components/command-line.js" line: 24}] Category: chrome javascript Console error: [JavaScript Error: "1510898869646 Toolkit.Telemetry ERROR TelemetryEnvironment::EnvironmentCache - error while initializing: [Exception… "
∴ Ver abajo.
4.6.2. fallo con yield
Error initializing. SyntaxError: yield expression is only valid in generators chrome://conkeror/content/hook.js:63
∴ Ver abajo.
4.6.3. otro fallo, Telemetry
handle@file:///w/conkeror/components/command-line.js:21:24 Console error: [JavaScript Error: "1510899452863 Toolkit.Telemetry ERROR TelemetryEnvironment::EnvironmentCache - error while initializing: [Exception… "Component returned failure code: 0x80520012 (NS_ERROR_FILE_NOT_FOUND) [nsIXPCComponents_Utils.import]" nsresult: "0x80520012 (NS_ERROR_FILE_NOT_FOUND)" location: "JS frame :: resource://gre/modules/XPCOMUtils.jsm :: XPCU_moduleLambda :: line 333" data: no] Stack trace: XPCU_moduleLambda()@resource://gre/modules/XPCOMUtils.jsm:333 < get()@resource://gre/modules/XPCOMUtils.jsm:199 < _updateAttribution()@resource://gre/modules/TelemetryEnvironment.jsm:1432 < EnvironmentCache()@resource://gre/modules/TelemetryEnvironment.jsm:870 < getGlobal()@resource://gre/modules/TelemetryEnvironment.jsm:63 < get currentEnvironment()@resource://gre/modules/TelemetryEnvironment.jsm:70 < annotateEnvironment()@jar:file:///w/firefox/omni.ja!/components/TelemetryStartup.js:42 < TelemetryStartup.prototype.observe()@jar:file:///w/firefox/omni.ja!/components/TelemetryStartup.js:32" {file: "resource://gre/modules/Log.jsm" line: 752}] App_append@resource://gre/modules/Log.jsm:752:9 log@resource://gre/modules/Log.jsm:390:7
∴ Ver abajo.
4.7. falla con xulrunner 60.2 (iba en 52.9)
Y es que:
Firefox 52 ESR is still based on Gecko, but it reached end of life on September 5 2018, to be replaced by a Quantum-based release (60).
∴ Rebajar:
apt-get install firefox-esr=52.9.0esr-1~deb9u1
Y protegerse mucho mejor (sin JS, conexiones en segundo plano, etc.).
1537813985006 addons.manager DEBUG Registering shutdown blocker for PluginProvider 1537813985007 addons.manager DEBUG Provider finished startup: PluginProvider 1537813985008 addons.manager DEBUG Completed startup sequence JavaScript error: jar:file:///usr/lib/firefox-esr/omni.ja!/components/addonsInfo.js, line 91: SyntaxError: "0"-prefixed octal literals and octal escape sequences are deprecated; for octal literals use the "0o" prefix instead JavaScript error: file:///w/conkeror/components/application.js, line 164: SyntaxError: missing ) after catch JavaScript error: file:///w/conkeror/components/command-line.js, line 21: NS_ERROR_XPC_GS_RETURNED_FAILURE: Component returned failure code: 0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE) [nsIJSCID.getService] 1537813985129 addons.manager DEBUG shutdown 1537813985129 addons.manager DEBUG Calling shutdown blocker for XPIProvider 1537813985129 addons.xpi DEBUG shutdown
commit 80787f6405583d942e53c61b6d9c9ad00c3f100f Author: root <root@ocra> Date: Sun Sep 9 16:14:23 2018 +0300
committing changes in /etc after apt run
Package changes: […] -firefox-esr 52.9.0esr-1~deb9u1 amd64 +firefox-esr 60.2.0esr-1~deb9u2 amd64
4.7.1. un fallo es por un octal mal puesto
Veo parecidos:
En efecto, en addonsInfo.js veo:
var outstream = Cc["@mozilla.org/network/file-output-stream;1"] .createInstance(Ci.nsIFileOutputStream); outstream.init(file, 0x2A * TRUNCATE | WRONLY | CREATE *, 0666, 0); out = Cc["@mozilla.org/intl/converter-output-stream;1"] .createInstance(Ci.nsIConverterOutputStream);
Cambio el 0666 a 0o666. Y lo pongo en /usr/lib/firefox-esr/omni.ja
4.7.2. siguiente fallo es por el if en el catch
JavaScript error: file:///w/conkeror/components/application.js, line 164: SyntaxError: missing ) after catch JavaScript error: file:///w/conkeror/components/command-line.js, line 21: NS_ERROR_XPC_GS_RETURNED_FAILURE: Component returned failure code: 0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE) [nsIJSCID.getService]
try { … } catch (e if (typeof e == 'string' && (e.startsWith("ContentLength not available (not a local URL?)") || e.startsWith("Error creating channel (invalid URL scheme?)") || e.startsWith("Error opening input stream (invalid filename?)")))) {
Parecidos:
4.7.3. otro fallo por const
1537816219732 addons.manager DEBUG Completed startup sequence Error initializing. SyntaxError: missing { before function body chrome://conkeror/content/coroutine.js:293 load1@file:///w/conkeror/components/application.js:109:17
const CONTINUATION = { toString: function () "[object CONTINUATION]" };
¿Pero esto va…? Probando:
//const CONTINUATION = { toString: function () "[object CONTINUATION]" }; const CONTINUATION = { toString: function () {"[object CONTINUATION]"} }; console.log(CONTINUATION);
{ toString: [Function] }
4.8. ya no va el ver ficheros de texto
NS_ERROR_NOT_IMPLEMENTED: Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsICacheService.createSession] cache_entry_clear()@chrome://conkeror/content/cache.js:56 override_mime_type_for_next_load()@chrome://conkeror/content/mime-type-override.js:83 _co_impl__send()@chrome://conkeror/content/coroutine.js:415 Handler.prototype.process()@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:937 this.PromiseWalker.walkerLoop()@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:816 this.PromiseWalker.scheduleWalkerLoop/<()@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:750
El código debe de estar anticuado.
4.9. IS peta con SIGSEGV al seguir un enlace con target="_blank" (o target="a")
Esto con xulrunner de firefox 53.0.2.
- Ej. en http://www.zvv.ch/zvv/en/timetable/network-maps.html clicar un „Download PDF“.
- o en https://www.youtube.com/yt/creators/es/ clicar „haz un recorrido por…“
- o en file:///home/dc/repoweb/navega/popup.html
- o file:///home/dc/wiki/docu/pruebas.html con 2, el que no tiene target va bien, el que tiene no va
<a href="" target="a">elemento7'9, enlace con target „a“, a ningún lado</a>
Raro pues copiar/pegar el enlace va bien, lo malo es clicarlo (o seguirlo por teclado).
Antes no pasaba.
close(34) = 0 clock_gettime(CLOCK_MONOTONIC, {tv_sec=67248, tv_nsec=249527420}) = 0 gettimeofday({tv_sec=1494245982, tv_usec=180089}, NULL) = 0 — SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=NULL} — unlink("home/dc.conkeror.mozdev.org/conkeror/ikbwt84x.default/lock") = 0 close(7) = 0 rt_sigaction(SIGSEGV, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7f9e3d4f30c0}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [SEGV], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0 getpid() = 8784 gettid() = 8784 tgkill(8784, 8784, SIGSEGV) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 — SIGSEGV {si_signo=SIGSEGV, si_code=SI_TKILL, si_pid=8784, si_uid=1000} —
+killed by SIGSEGV+
Thread 1 "firefox" received signal SIGSEGV, Segmentation fault. 0x00007f0f83ff89fd in ?? () from /w/firefox/libxul.so (gdb) bt #0 0x00007f0f83ff89fd in ?? () from /w/firefox/libxul.so #1 0x00007f0f862e8bef in ?? () from /w/firefox/libxul.so #2 0x00007f0f862e6db9 in ?? () from /w/firefox/libxul.so
Vuelvo a conkeror más viejo, y sigue pasando.
Probé browser.link.open_newwindow
, no pasa nada.
De momento remarco por CSS estos enlaces, y los abro a mano en el fondo (tecla d), pues eso va.
Se corrigió en siguiente versión de Firefox (54).
4.10. tras irlo a cerrar y cancelar porque hay cuadro de texto a medio escribir, ya no va nada (no va teclado etc.)
JavaScript error: chrome://conkeror/content/buffer.js, line 297: TypeError: this.browser is null Console error: [JavaScript Error: "TypeError: this.browser is null" {file: "chrome://conkeror/content/buffer.js" line: 297}] Category: chrome javascript JavaScript error: chrome://conkeror/content/buffer.js, line 295: TypeError: this.browser is null JavaScript error: chrome://conkeror/content/buffer.js, line 295: TypeError: this.browser is null Console error: [JavaScript Error: "TypeError: this.browser is null" {file: "chrome://conkeror/content/buffer.js" line: 295}] Category: chrome javascript Console error: [JavaScript Error: "TypeError: this.browser is null" {file: "chrome://conkeror/content/buffer.js" line: 295}] Category: chrome javascript
Puedo navegar con el ratón por la pestaña actual pero no cambiar a otras.
Puedo ejecutar JS:
conkeror 'javascript:alert(21);'
No va:
conkeror 'javascript:buffer_next(window, 1);'
No va:
dc; ~ ; conkeror 'javascript:require("buffer.js");'
JavaScript error: javascript:require("buffer.js");, line 1: ReferenceError: require is not defined
dc; ~ ; conkeror 'javascript:dumpln(window);'
JavaScript error: javascript:dumpln(window);, line 1: ReferenceError: dumpln is not defined
∴ Matarlo. Y he perdido las cosas a medio escribir.
4.11. „setup timeout“ al bajar+abrir PDF, por algo raro que hice
Me apaño con:
content_handlers.set("application/pdf", content_handler_save);
4.12. arreglo función avanzar-a-versión-mejor
5. notas sueltas
5.1. lista de correo, web etc.
5.2. cdv
git clone git://repo.or.cz/conkeror.git
5.3. ver los ficheros que tiene a medio descargar (ej. un PDF de 20 Mb que va muy lento)
Seguro que hay interfaz… pero esto también va:
dc; ~ ; lsof -n -p `pidof xulrunner` | grep ' /tmp'xulrunner 11814 dc 54w REG 8,3 5242880 1179776 /tmp/43.pdf.part
dc; ~ ; lsof -n -p `pidof xulrunner` | grep ' /tmp'xulrunner 11814 dc 54w REG 8,3 5406720 1179776 /tmp/43.pdf.part
Si tras la descarga van a abrirse cosas… mejor hacer un chvt 1
.
5.4. ¿publicar configuración?
5.5. realmente no entiendo qué pasa al cerrar pestaña (¿a cuál va?) Uso 2 algoritmos pero hay más
- „k“,
kill-and-next-buffer
- Parece que va al búfer que visiblemente está a la derecha. Se queda en la misma posición (ej. de 18 a 18) o al de la izquierda si he matado el más derechoso
- en caso de que la última operación haya sido crear un búfer al final, al cerrarlo me va ir no al de la izquierda sino al que estaba viendo antes (esto es sorprendentemente útil). Excepto si me muevo; si me muevo pierde el puntero
- ∴ Tras años de uso, esta tecla es la que más uso y prefiero, por eso la asignaré a la tecla fácil (k)
- „K“,
kill-current-buffer
~~~
Parece que va al búfer que estaba a la derecha en el momento de ser abierto- se comporta casi igual que kill-and-next-buffer
- parece que ambos se comportan igual si no hay movimiento de pestañas. Y cuando lo hay: kcb aprovecha el orden original, mientras que kanb lo dscarta y usa el orden visible
5.6. cosas sueltas a recordar
- „u C“ en conkeror: añade a lo copiado. Bueno para copiar varias URL una tras otra, y luego pegarlas juntas