Conkeror und andere tastatur-fokussierte Webbrowser

Axel Beckert

(Conkeror-Paketierer für Debian)

abe@debian.org
http://noone.org/abe/

Übersicht

  • Klassische vs tastatur-fokussierte Browser
  • Übersicht tastatur-fokussierte Browser
  • Timeline der tastatur-fokussierten Browser
  • Typische Keybindings
  • Vorstellung Conkeror
  • Kurzvorstellung Vimprobable
  • Kurzvorstellung Luakit
  • Resourcen

Klassische vs tastatur-fokussierte Browser

KlassischTastatur-fokussiert
UIMenü-, Button- und
Bookmark-Leisten
Fullscreen + Tastatur
Links folgenMausTastatur oder Maus
HistoryButtons, Tastatur, MausgestenTastatur
URL kopierenMausTastatur
Mehrere SeitenTabsBuffer und/oder Tabs
BookmarksMenü, BookmarkleisteTextsuche
VorbildGUI-AnwendungenTexteditoren (vim/Emacs)

Übersicht tastatur-fokussierte Browser

TypVorbild/KeybindingsSkriptb.Fork/Code von
Conkeror XULRunnerEmacs/LynxJSConkeror Erw.
Vimperator FF Erw.vim?Conkeror Erw.
Pentadactyl FF Erw.vim?vimperator
Vrome Chrom* Erw.vim?
Vimium Chrom* Erw.vim?
Vimprobable WebKitGTKvimperator-Vimpression
Luakit WebKitGTKJumanji, uzbl, surf, vimperator, vromeLuauzbl, surf, awesome
surf WebKitGTKCtrl + vi-artigShell-
Jumanji WebKitGTKvimperatorJSzathura
dwb WebKitGTK 2/3vi, vimperator+-
uzbl WebKitGTKShellskripting, Unix, KISSShellWebKitTools GtkLauncher

Timeline der tastatur-fokussierten Browser

  • 2004, Oktober: Erster Commit der Firefox-Erweiterung Conkeror
  • 2007
    • April: Erster Commit der Firefox-Erweiterung Vimperator, mit vielen Spuren von Conkeror im Code :-)
    • Oktober: Conkeror wird eine XULRunner-Anwendung
  • 2009
    • März bis Juni: Entstehung von Vimpression
    • Juni: Erste Commit von uzbl und surf
    • September: Erstes Commits von vrome und vimium
    • Oktober: Hans Schüller entwickelt Vimpression weiter, Umbenennung in Vimprobable
  • 2010
    • Mai: Erster Commit von Luakit
    • Juni: Erster Commit von Jumanji
    • Juli: Erster Commit von dwb
    • September: Erste Beta des Vimperator-Forks Pentadactyl

Typische Keybindings

AktionConkerorVimperator & Co.
Back + ForwardB + FH + L
Open + Open in Tabg + C-u g (Shift = aktuelle URL als Basis nehmen; auch C-x C-f)o + t (Shift = aktuelle URL als Basis nehmen)
Open from Clipboard (Think Paste)C-yp (Shift = in neuem Tab)
Letztes geschlossenen Fenster wieder öffnen (Think Undo)[Planned]u
Link folgenf (C-u f = in neuem Tab)f (Shift = in neuem Tab)
Reloadrr (Shift = Erzwungener Reload)
View Source Code\ (Backslash)

Conkeror

  • Freie Software (wie Firefox MPL 1.1 + GPL 2 + LGPL 2.1)
  • Startete als Firefox-Erweiterung (Original-Autor: Shawn Betts, bekannt durch Ratpoison und StumpWM) — Vimperator ist ein Fork davon.
  • Umgeschrieben zur XULRunner-Anwendung vom aktuellen Projektleiter John J. Foerch zur Zeit von XULRunner 1.8 (Firefox 1.5).
  • Funktioniert heute mit XULRunner ab 1.9.1 (aus Firefox 3.5) oder via firefox -app
  • Benannt nach einem Bier, etymologisch verwandt mit dem brit. Kinderspiel Conkers (Roßkastanie), das Conkeror nun als Motiv nutzt.

Conkeror (2)

  • Schneller (kein Firefox-Bloat mehr), komplett mit Tastatur bedienbarer, in JavaScript erweiterbarer Webbrowser mit Vorbild Emacs (Keybindings, Buffers, Layout, M-x, M-:)
  • 500 Buffers/Tabs kein Performance-Problem (allerhöchstens RAM ;-)
  • U.a. in Debian seit 5.0 (Lenny), Ubuntu 9.10 (Karmic) bis 10.10 (Maverick), Gentoo, und Arch-Linux
  • "Nightly Builds" als .deb für Debian, Ubuntu, etc. seit 2009
  • Webseite: http://conkeror.org/

Philosophie / Design

  • Proaktive, keine reaktive Benutzerschnittstelle; deterministisches Verhalten
  • Tastatur ist das primäre Eingabegerät, Maus und andere Eingabegeräte sind sekundär.
  • Durchdachtes Eingabesystem (Links für Live-Demo: Conkeror Index, Conkeror Webseite, Vorträge Index)
  • Hinting-System nach Vorbild von Vimperator
  • "Von Programmierern, für Programmierer"; wird hauptsächlich in JavaScript konfiguriert

Per Default nicht aktiviert...

  • Diverse sog. Page Modes
  • Delicious-Support (braucht Konfiguration)
  • Wikipedia Webjumps (Sprach-Konfiguration hilfreich)
  • Grosse Liste sog. Webjumps im Wiki unter http://conkeror.org/WebJumps/
  • Tabs (!= Buffers)
  • Favicons

Was fehlt noch?

  • Bookmark-Editor (aber es gibt guten Delicious-Support und manche Firefox-Erweiterungen zum Bookmarks bearbeiten funktionieren)
  • Ordentliche Cookie-Handhabung auf anderem Wege als mit about:config, "M-x permission-manager" (experimentelles Feature) oder manche Firefox-Erweiterungen wie "Cookie Culler"
  • Weitere Benutzerschnittstellen um Dinge dynamisch zu konfigurieren (Proxies, etc.).
  • Emacs-artiges Unter-Fenster-Management (bekannt als "windows" innerhalb von Emacs)

Kurzvorstellung Vimprobable

Kurzvorstellung Luakit

  • Freie Software (GPLv3)
  • Komplett mit Tastatur bedienbarer Webbrowser, aufbauend auf WebKit und GTK
  • Erweiterbar in Lua (wie z.B. auch der Window-Manager awesome 3.x)
  • Nutzt Code der ebenfalls WebKit-basierten Browser uzbl und surf sowie des Window Managers awesome.
  • In Debian ab Wheezy, in Ubuntu seit Natty
  • Webseite: http://luakit.org/projects/luakit/

Resourcen

Danke

  • John J. Foerch
  • Simon Hafner
  • Dirk Deimeke