Subject: [.plan] Bookmarkmanagement
From: Boris Kraut <[email-masked]>
To: undisclosed-recipients: ;
Date: Sat, 06 Oct 2012 13:16:55 +0200

Trotzt uzbl, surf und co. bin ich weiterhin bei Firefox + Vimperator
stehengeblieben. Viele seiner unschoenen Angewohnheiten kann man mit
einigen Einstellungen oder Addons verstecken, aber einen angenehmen
Weg fuer den Umgang mit Lezezeichen umzugehen, habe ich bisher nicht
gefunden. Was bei der Nutzung eines einzigen Browsers kein Problem
ist, wird jetzt zu einer dringenden Sache: Mehrere Geraete mit ganz
unterschiedlichen Browsern machen eine Synchronisierungsloesung un-
ausweichlich. Dabei moechte ich nicht auf die typischen webbasierten
Angebote zurureckgreifen, sondern meine Bookmarks in einer flachen
Textdatei halten. Eine Loesung habe ich noch nicht, aber vielleicht
helfen diese Snippets ja jemanden weiter:

Die Bookmarks werden standardmaessig in der Datei places.sqlite ab-
gelegt und koennen mit den ueblichen sqlite-Tools ausgelesen werden,
z.B. ueber sqlite3:

> select moz_places.url from moz_places, moz_bookmarks where moz_bookmarks.fk = moz_places.id and moz_bookmarks.type = 1;

Alternativ kann man auch den automatische Export in das frueher von
Firefox fuer Bookmarks genutzte HTML-Format aktivieren. Dazu muss
in about:config der Wert browser.bookmarks.autoExportHTML auf true
gesetzt werden. Von da aus kann man sich dann die URLs rausziehen.

Ausserdem kann man im Vimperator URLs 'yanken', also in die Zwischen-
ablage kopieren. Das kann man dann halbautomatisch in einer Datei weg-
schreiben, z.B. mit ':map x y:!echo "<S-Ins>">>bmarks.txt'

Doch was macht man dann mit seiner URL-Liste? Mir fehlt ein wenig die
direkte Verwendbarkeit in Browsern. In Vimperator kann ich zwar auch
leicht ein ':!cat bmarks.txt | grep foobar' machen, das ggf. auch in
den Pastebuffer schreiben und die URL aus dem Puffer oeffnen lassen,
aber das ist nicht wirklich angenehm zu nutzen.. insbesondere mit 
mehreren Browsern, die dafuer unterschiedliche Buffer verwenden:
cut/paste? clipboard? primary? secondary? Nicht das die Vielfalt das
Problem ist -- es ist nuetzlich mehrere Buffer zu haben und den
richtigen auszuwaehlen oder den Inhalt hin und her zu wechseln ist
nun wirklich keine Magie --  nur das Standardverhalte sollte genormt
sein.

Wie dem auch sei, ich verwende meine URL-Datei hauptsaechlich um nicht
im Browser damit zu arbeiten, sondern ihn fernzusteuern: Auf dem Note-
book bzw dem Hauptbildschirm arbeite ich und auf dem Tablet bzw. Neben-
bildschirm ist ein Browser mit Doku o.ae. offen. Hier schnell die URL
wechseln zu koennen ist sehr angenehm. Am Tablet kann ich per USB er-
reichbarer ADB-Shell oder noch einfacher ueber SSH mit

> am start -a android.intent.action.VIEW -n com.android.browser/.BrowserActivity -d URL

den Browser oeffnen und die gegebene URL oeffnen. Ist ein anderer
Standard-Browser ausgewaehlt, wir dnach kurzer Verzoegerung dieser
mit der URL aufgerufen. Alternativ kann man auch direkt den ge-
wuenschten Browser ansprechen. Statt "com.android.browser" setzt
man z.B.

  "org.mozilla.fennec_aurora"
  "org.mozilla.firefox"
  "org.mozilla.firefox_beta"
  "org.mozilla.fennec"

fuer die jeweiligen Mozilla-Browser (ggf. muss ".BrowserActivity"
noch durch ".App" ersetzt werden -- leider bin ich noch nicht dazu
gekommen mir Android und dessen Apps genauer anzuschauen, um da
die genaue Struktur und den Unterschied zu kennen).

Laeuft kein Android, laesst sich ein aehnliches Verhalten ueber

> $BROWSER $URL

bzw. bei den meisten Mainstream-Distros ueber

> xdg-open $URL

erreichen. Das reicht fuer die meisten Faelle, wer aber ein eigenes
Desktop-Konzept verfolgt und z.B. keine Tabs, sondern nur Fenster 
haben moechte -- niemand hat was dagegen, wenn ein Browser mit 
mehrere URLs "verwalten" kann, doch die Darstellung/Anordnung ist
Aufgabe des WMs... -- dem kann eine solche Loesung auf die Fuesse
fallen. Bei mir selbst war nicht ersichtlich, wann Firefox einen
neuen Prozess aufmacht oder wann es einen neuen Tab oeffnet --
im Hintergrund oder Vordergurnd. Da die Tests nun aber schon eine
Weile her sind, kann es gut sein, dass Firefox inzwischen das
Aufrufen von URLs ueber die Kommandozeile mit etwas Doku und ein
paar zusaetzlichen Schaltern wieder atraktiver gemacht hat. Meine
Loesung war damals surf:

> xprop -id $FENSTERID -f _SURF_URI 8s -set _SURF_URI $URL

Anstatt _SURF_URI kann/muss je nach Version auch _SURF_GO verwendet
werden.