Rendez-vous sur Arrakis

C'est lorsque nous croyons savoir quelque chose qu'il faut justement réfléchir un peu plus profondément. F. Herbert

Surf, un navigateur léger, et puis c'est tout!

Surf est un navigateur web développé par suckless.org. Il a la particularité de faire ce pour quoi il est fait (surfer sur le web) et le faire bien, sans autre fioritures.

Outre sa grande rapidité, il se distingue aussi par son ergonomie, en particulier à l'usage du clavier.

Faisons donc un petit tour d'horizon.

Installation

À la debian

Un paquet est disponible à partir de wheezy.

À la main

Télécharger la dernière archive de surf ici. Il vous suffit ensuite de la décompresser, puis de lancer dans le dossier des sources :

make
make install # as root

Vous aurez besoin d'installer auparavant les dépendances pour compiler, c'est à dire les paquets libwebkit-dev et libgtk2.0-dev.

Utilisation

Au premier lancement, on a juste un carré tout blanc… Un peu déroutant.

Pour ouvrir une adresse, tapez Ctrl-g. Alors, un dmenu apparaît en haut de l'écran. Dans ce dernier, tapez l'url souhaitée, puis validez par entrée.

Et hop, vous voilà déja sur le site voulu!

Vous pouvez naviguer à l'aide de ctrl-j et ctrl-h pour aller de haut en bas, et pour passer d'une page précedente à suivante, ce sera ctrl-h et ctrl-l.

Remarquez la barre de chargement en bas. Surf réalise la vérification SSL sur les pages https. Si la connexion est sûre, alors la barre devient verte, sinon elle restera rouge.

C'est quoi AcgISVM dans la barre de titre?

Ce sont des indicateurs. Si la lettre est en minuscule, cela veut dire “désactivé”, si elle est en majuscule cela indique “activé”.

Les raccourcis plus en détail

Petite correction

Comme pour dwm, il faut remplacer le raccourci clavier concernant la touche “/” pour la recherche. Pour cela, dans les sources, avant de faire le make ou refaire la paquet, on édite le fichier config.h ou config.def.h, et on remplace :

{ MODKEY,               GDK_semicolon,  spawn,      SETPROP("_SURF_FIND", "_SURF_FIND") },

par :

{ MODKEY,               GDK_colon,  spawn,      SETPROP("_SURF_FIND", "_SURF_FIND") },

Configuration

Il y a de multiples façon de configurer surf. On peut ajouter des fonctionnalités en :

  1. Éditant le config.h des sources
  2. Ajoutant du code dans le fichier ~/.surf/scripts.js

Recompiler

Dans le permier cas, si on veut recompiler, voici deux façons de faire.

À partir du tar.gz

Vous avez l'habitude, il suffit, dans le dossier des sources, de faire : make et en root make install

À partir des sources debian

On récupère les sources debian, on modifie le fichier config.def.h , on installe les dépendances éventuelles et on refait le paquet:

apt-get source surf
cd surf*
# modification du config.def.h
apt-get build-dep surf
dpkg-buildpackage -rfakeroot -uc -b

Dans le répertoire supérieur, on trouvera un paquet du nom de surf-.deb , que vous pourrez installer ainsi dpkg -i surf*.deb

Utilisation d'un proxy

Si vous utilisez un proxy tel que privoxy (pour être plus tranquille avec les pubs et cie) ou autre, et voulez l'utiliser avec surf, c'est tout simple.

En effet, surf regarde la variable d'environnement http_proxy. Ajoutez donc dans votre fichier .bashrc ou .profile, dans le dossier utilisateur, une ligne de ce type :

http_proxy=http://127.0.0.1:8118/
HTTP_PROXY=$http_proxy
export http_proxy HTTP_PROXY

Les modules ou scripts d'userscript.org

Il est possible d'étendre les possibilités de surf en utilisant des scripts venant par exemple de https://userscripts.org/ . En fait, n'importe quel code javascript peut faire l'affaire!

Pour cela, copez-collez le code javascript dans le fichier ~/.surf/script.js.

Par exemple, j'ai copié ce script permettant d'imiter le fonctionnement de l'extension bien connue de firefox, j'ai nommé noscript (plus très utile désormais puisqu'on peut directement désactiver le javascript avec le raccourci ctrl-Maj-s).